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.