Este documento esclarece como a plataforma RBM lida com o envio de mensagens e outras interações de API, distinguindo entre operações síncronas e assíncronas.
As interações da API RBM geralmente seguem um padrão de solicitação-resposta síncrono no nível HTTP. No entanto, os resultados de muitas chamadas de API, principalmente o envio de mensagens, são processados de forma assíncrona por webhooks. Consulte as seções a seguir para mais detalhes.
Envio de mensagens: solicitação síncrona, entrega assíncrona
A solicitação da API phones.agentMessages.create
é processada simultaneamente do ponto de vista da
API. Quando você faz uma solicitação HTTP para a plataforma RBM, o servidor
responde quase imediatamente com um código de status HTTP padrão
(como 200 OK
ou um erro) para indicar se a solicitação foi
recebida e é válida.
No entanto, a entrega real da mensagem ao usuário final é processada de forma assíncrona. Os seguintes fatores podem afetar esse processo:
- Status do destinatário: o usuário pode estar off-line, com a bateria descarregada ou sem ter o RCS ativado.
- Condições de rede: problemas na rede da operadora podem atrasar ou impedir a entrega da mensagem.
A plataforma RBM fornece atualizações de status de entrega de mensagens (como recibos
de entrega e de leitura) de forma assíncrona usando
webhooks.
Portanto, embora a solicitação inicial da API seja síncrona, é necessário usar
eventos
de webhook assíncronos para acompanhar o envio de mensagens. Não espere uma confirmação imediata do status de entrega
da resposta
phones.agentMessages.create
.
Outras interações com a API RBM
A maioria das outras APIs RBM baseadas em HTTP também opera com um modelo de solicitação-resposta síncrono. Essas APIs fornecem uma resposta HTTP imediata que indica o status da solicitação (sucesso ou erro). No entanto, enquanto a solicitação é síncrona, as ações resultantes dela podem envolver processos assíncronos. Por exemplo, uma resposta bem-sucedida a uma chamada de API para atualizar as informações do agente não significa que a atualização seja refletida instantaneamente em todos os lugares. Pode haver um pequeno atraso na propagação.
Endpoint do webhook: eventos assíncronos
Os seguintes eventos são enviados de forma assíncrona para o endpoint do webhook:
- Mensagens de entrada do usuário: a plataforma RBM envia mensagens de entrada do usuário para o endpoint do webhook. Verifique as mensagens recebidas.
- Comprovantes de entrega e leitura: as notificações de entrega de mensagem e status de leitura são enviadas por webhooks.
- Eventos de conversa: alguns eventos relacionados a conversas, como indicadores de digitação, são enviados por webhooks.
- Eventos de expiração e revogação de mensagens: a plataforma RBM envia eventos para confirmar se uma mensagem vencida foi revogada.