Produtos

GET /products

Paginação disponível através do parâmetro paginate=S !

Este endpoint retorna todos os produtos (serviços) disponíveis para comercialização pelo provedor aos seus assinantes.

Além das informações básicas de cada produto, o retorno inclui o status de disponibilidade (active) e uma lista de permissões de ações (can), que indica quais operações estão disponíveis para cada produto, como ativação, suspensão, reativação e troca.

Resumo das ações possíveis em can:

  • activate: permite ativar um token com o produto.
  • reactivate: permite reativar um token com o produto caso esteja suspenso.
  • change_to_this_product: é possível trocar de outro produto para esse.
  • change_from_this_product: um token com esse produto pode ter o produto trocado por outro.
  • suspend: permite suspender temporariamente um token com o produto (sem cancelamento definitivo).
  • deactivate: permite cancelar definitivamente um token com o produto.

Por favor, observe que os produtos fornecidos por esta API podem variar dependendo do usuário autenticado. No entanto, os dados individuais de cada produto permanecem os mesmos, independentemente do usuário. Isso significa que, embora diferentes usuários possam visualizar conjuntos de produtos diferentes, os detalhes específicos de cada produto, como ID, nome e código, serão os mesmos para todos os usuários.

Exemplo:

{
    "content_supplier_products": [
        {
	    "id": 25,
	    "name": "Globoplay com Anúncios",
	    "code": "globoplay_anuncio",
        "active": 1,
        "can": [
            "activate",
            "reactivate",
            "change_to_this_product",
            "change_from_this_product",
            "suspend",
            "deactivate"
        ]
	},
	{
	    "id": 34,
	    "name": "Globoplay Premium",
	    "code": "globoplay_premium",
        "active": 1,
        "can": [
            "activate",
            "reactivate",
            "change_to_this_product",
            "change_from_this_product",
            "suspend",
            "deactivate"
        ]
        }
    ]
    "message": "success"
}

Se não existir nenhum produto:

{
    "content_supplier_products": [],
    "message": "success"
}

O ID de cada produto na lista pode ser usado para executar as ações de provisionamento nos endpoints correspondentes. Apenas certifique-se de usar o ID do produto exatamente como fornecido na lista.

GET /products/status

Paginação disponível através do parâmetro paginate=S !

Este endpoint retorna os possíveis status que um produto pode assumir na plataforma. Cada status representa uma condição específica e fornece informações sobre o estado atual do produto.

Exemplo de lista de status:

{
    "status": [
        {
            "id": 1,
            "name": "active"
        },
        {
            "id": 3,
            "name": "canceled"
        },
        {
            "id": 4,
            "name": "suspend"
        },
        {
            "id": 6,
            "name": "limitReached"
        },
        {
            "id": 7,
            "name": "overdue"
        },
        {
            "id": 10,
            "name": "inProgress"
        },
        {
            "id": 11,
            "name": "error"
        },
        {
            "id": 12,
            "name": "reactivated"
        },
        {
            "id": 13,
            "name": "changed"
        },
        {
            "id": 14,
            "name": "waitingSuspension"
        },
        {
            "id": 15,
            "name": "waitingCancellation"
        },
        {
            "id": 21,
            "name": "canceledWithoutActivation"
        },
        {
            "id": 22,
            "name": "waitingSuspensionDueToOverdue"
        }
    ],
    "response": "success"
}

Os status são divididos em duas categorias:

  • Intermediários: limitReachedinProgresserrorreactivatedchangedwaitingSuspension e waitingCancellation.
  • Finais: activecanceled, suspend e overdue.

Os status intermediários representam estados transitórios do produto e indicam que a operação ainda está em andamento ou depende de uma ação ou confirmação de terceiros para ser concluída.

Por exemplo, considere um assinante que possui o produto Globoplay com status active. Ao solicitar a suspensão, o sistema altera o status para waitingSuspension, indicando que a solicitação foi iniciada e que a suspensão definitiva ainda depende da confirmação do parceiro. Após a confirmação da suspensão, o status é atualizado para suspend, que representa o estado final dessa ação.

A definição dos status utilizados e a ordem em que são aplicados dependem da operação realizada e, consequentemente, do endpoint utilizado.