Operações síncronas e assíncronas no RBM

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.