Eventos para recargas de celular
Escute os eventos do Asaas para ter sua integração em dia.
É possível utilizar Webhooks para que seu sistema seja notificado sobre alterações que ocorram nas recargas de celular.
Os eventos que o Asaas notifica são:
MOBILE_PHONE_RECHARGE_PENDING- Recarga de celular pendente.MOBILE_PHONE_RECHARGE_CANCELLED- Recarga de celular cancelada.MOBILE_PHONE_RECHARGE_CONFIRMED- Recarga de celular confirmada.MOBILE_PHONE_RECHARGE_REFUNDED- Recarga de celular estornada.
Quando utilizar
Os Webhooks de recarga de celular são recomendados quando sua aplicação precisa acompanhar automaticamente o processamento das recargas realizadas através do Asaas.
Alguns exemplos:
- atualização de sistemas internos;
- acompanhamento do status das recargas;
- auditoria financeira;
- sincronização com ERPs;
- notificações aos usuários.
Comportamentos importantes
Os Webhooks do Asaas utilizam o modelo de entrega at least once, portanto um mesmo evento poderá ser enviado mais de uma vez.
Por esse motivo, recomenda-se implementar idempotência utilizando o identificador do evento:
idAlém disso:
- respostas HTTP fora da família 2xx podem provocar novas tentativas de envio;
- a fila poderá ser interrompida após falhas consecutivas;
- os eventos permanecem armazenados por até 14 dias;
- novos atributos poderão ser adicionados futuramente.
Fluxo comum dos eventos
Normalmente o fluxo ocorre da seguinte maneira:
MOBILE_PHONE_RECHARGE_PENDING
↓
MOBILE_PHONE_RECHARGE_CONFIRMEDEm situações específicas também podem ocorrer:
MOBILE_PHONE_RECHARGE_PENDING
↓
MOBILE_PHONE_RECHARGE_CANCELLEDou
MOBILE_PHONE_RECHARGE_CONFIRMED
↓
MOBILE_PHONE_RECHARGE_REFUNDEDExemplo de JSON a ser recebido [POST]
A notificação consiste em um POST contendo um JSON, conforme este exemplo:
{
"id": "evt_05b708f961d739ea7eba7e4db318f621&368604920",
"event": "MOBILE_PHONE_RECHARGE_CONFIRMED",
"dateCreated": "2024-06-12 16:45:03",
"account": {
"id": "47ed0d25-f9fb-4b35-b23a-d8895caf92b7",
"ownerId": null
},
"mobilePhoneRecharge": {
"id": "29ad50e9-64ee-427e-a00c-a3999510ca0a",
"value": 15,
"phoneNumber": "62982055478",
"status": "CONFIRMED",
"canBeCancelled": false,
"operatorName": "Tim"
}
}Campos importantes
| Campo | Descrição |
|---|---|
id | Identificador único do evento |
event | Evento recebido |
mobilePhoneRecharge.id | Identificador da recarga |
mobilePhoneRecharge.status | Situação atual da recarga |
mobilePhoneRecharge.value | Valor da recarga |
mobilePhoneRecharge.phoneNumber | Número recarregado |
mobilePhoneRecharge.operatorName | Operadora da linha |
mobilePhoneRecharge.canBeCancelled | Indica se a recarga ainda pode ser cancelada |
Retorno do Webhook com tipagem e ENUMsCaso você queira saber qual o tipo de cada campo e os retornos de ENUMs disponíveis, confira a resposta
200no endpoint "Recuperar uma única recarga de celular" na documentação.
Boas práticas
Recomendamos:
- validar o header
asaas-access-token; - responder rapidamente utilizando códigos HTTP da família 2xx;
- implementar idempotência utilizando o campo
id; - processar os eventos de forma assíncrona;
- monitorar continuamente os Logs de Webhooks;
- preparar a aplicação para aceitar novos atributos sem gerar exceções.
Erros comuns
Evento duplicado
Como a entrega segue o modelo at least once, o mesmo evento poderá ser reenviado.
Utilize o identificador do evento para evitar processamentos duplicados.
HTTP diferente de 2xx
Respostas diferentes da família 2xx podem provocar novas tentativas de entrega.
Novos campos no payload
Sua aplicação deve ignorar campos desconhecidos para manter compatibilidade com futuras versões.
Impactos operacionais
Falhas no processamento dos Webhooks podem provocar:
- novas tentativas de entrega;
- interrupção da fila de sincronização;
- inconsistências entre sistemas;
- atraso na atualização do status das recargas;
- perda permanente dos eventos após 14 dias.
Atenção
- Com a entrada de novos produtos e funções dentro do Asaas, é possível que novos atributos sejam incluídos no Webhook. É muito importante que seu código esteja preparado para não gerar exceções caso o Asaas devolva novos atributos não tratados pela sua aplicação, pois isso poderá causar interrupção na fila de sincronização.
- Enviaremos um e-mail e avisaremos em nosso Discord quando novos campos forem incluídos no Webhook. O disparo será feito para o e-mail de notificação definido nas configurações do Webhook.
