Callbacks

Para manter a sincronia nos dados de forma prática, fornecemos um mecanismo de callback que lida com eventos relacionados a duas entidades: provedor (customer) e assinante (subscriber).

Sempre que ocorrerem ações na nossa plataforma relacionadas a essas entidades, enviaremos os dados atualizados da entidade em questão e a ação efetiva para a callback correspondente.

Alterações via API não acionam as callbacks!

Tenha em mente que o uso das callbacks é opcional, podendo ser utilizada qualquer uma das duas ou nenhuma delas.

Configuração

A URL de cada callback poderá ser especificada por você.

Ao cadastrarmos a URL no nsso sistema, você receberá um e-mail contendo a URL da callback e um token único para autenticação.

É crucial assegurar que as callbacks sejam configuradas de forma segura para prevenir possíveis vulnerabilidades. Para isso, recomendamos o uso de HTTPS nas URLs e a implementação de uma verificação com base no token de autenticação disponibilizado para validar a origem dos dados recebidos.

POST www.example.customer.comCopied!

Nesta callback de provedor, enviaremos todos os dados atuais do provedor que sofreu uma ação específica.

Ações que acionam a callback:

  • criação:

    → identificada no json pela action “create

    → ocorre quando um provedor é cadastrado

  • edição:

    → identificada no json pela action “update

    → ocorre quando algum dado do provedor é alterado

Exemplo de envio:

{
    "customer": {
        "document": "55096452000100",
        "name": "Live Fast Web",
        "email": "livefast.mail@fastweb.net",
        "billing_email": "livefast.billing@fastweb.net",
        "support_email": "livefast.support@fastweb.net",
        "municipal_registration": "34754071",
        "state": "RJ",
        "city": "Itaguaí",
        "zip_code": "23812575",
        "address": "Rua Antônia Barbosa Cunha",
        "district": "Centro",
        "number": "70",
        "complement": "Quadra 18",
        "telephone": "+552198765-1240",
        "telephone2": "+5521981357840",
        "total_subscribers_base": 300000,
        "organization": {
            "name": "Zemlak II",
            "document": "66661672485955",
            "email": "wiegand.jadon@example.com",
            "state": "Tennessee",
            "city": "Terryberg",
            "zip_code": "35292040",
            "address": "54396 Beer Creek Suite 920",
            "number": "8984",
            "complement": "Side C",
            "telephone": "+5596937366907"
        },
        "plan": "COMUNIDADE ISPs",
        "erp": {
            "name": "Grupo Voalle",
            "connection_data": {
                "URL": "url",
                "Token": "token"
            }
        },
        "hub": "HUB 12",
        "status": "active",
        "has_unpaid_bills": false,
        "customer_success": {
            "name": "Zemlak II",
            "email": "wiegand.jadon@example.com",
            "telephone": "+5596937366907"
        }
    },
    "response": "success",
    "action": "create",
    "token": "c029a51d613fcf4a303f57b99db7ec48f645ed7e76685e6bde9823a66f47",
    "access_token": "9632947623746c029a51d613fcf4a303f57b99db7ec48f645ed7e76685e6bde9823a66f47"
}

Os dados de conexão do ERP contidos no "connection_data" variam conforme o ERP em questão, podendo ter mais ou menos campos e índices diferentes.

POST www.example.subscriber.comCopied!

Nesta callback de assinante, enviaremos todos os dados atuais do assinante que sofreu uma ação específica.

Ações que acionam a callback:

  • criação:

    → identificada no json pela action “create

    → ocorre quando um assinante é cadastrado

  • edição:

    → identificada no json pela action “update

    → ocorre quando algum dado do assinante é alterado

  • remoção:

    → identificada no json pela action “delete

    → ocorre quando um assinante é deletado

  • criação/alteração do serviço (token):

    → identificada no json pela action “update-token

    → ocorre quando um novo serviço é ativado ou quando o status de um serviço existente é alterado

Exemplo de envio:

{
    "subscribers": [
        {
            "id": 1,
            "email": "walker.jeanie@example.net",
            "name": "Walker Jeanie",
            "document": "62458124483",
            "phone": "+5526849068464",
            "services": [
                {
                    "content_supplier_product_name": "Globoplay",
                    "content_supplier_product_code": "globoplay",
                    "content_supplier_product_id": 1,
                    "status_id": 1,
                    "status": "active"
                }
            ]
        }
    ],
    "response": "success",
    "customer_document": "55096452000100",
    "action": "create",
    "token": "t029a51d613fcf4a303f57b99db7ec48f645ed7e76685e6bde9823a66f47"
}'

Todos os serviços que o assinante possui serão enviados dentro de “services“. Se não existir nenhum serviço, um array vazio será enviado.