Pular para o conteúdo principal

Visão geral

Ao criar uma conversa, onboardingTemplates permite escolher, em ordem, os templates de WhatsApp usados na abertura. Um template pode conter variáveis, como número de pedido, data de entrega ou nome do Contato. O Bridge preenche algumas delas para cada Contato; outras só você pode fornecer, enviando-as em parameters da entrada correspondente. O fluxo tem três etapas:
  1. Consulte as variáveis do template.
  2. Decida quais valores enviar.
  3. Envie-os com POST .../conversations.
Todas as verificações descritas nesta página ocorrem antes de qualquer criação. Se a requisição for rejeitada, nenhuma conversa é criada e nenhuma mensagem é enviada. Você pode corrigi-la e enviá-la novamente.

1. Encontre as variáveis do template

templateId aceita o id ou o name do template. A resposta lista suas variáveis:
driftWarning é apenas diagnóstico: informa diferenças entre as variáveis declaradas e o snapshot do template na Meta e nunca bloqueia um envio. A tabela abaixo descreve cada item de variables. Um template que não pertence ao workspace retorna 404 com BRIDGE_TEMPLATE_0001.

2. Decida quais valores enviar

Um valor enviado para uma variável callerMustSupply: false substitui o valor do Bridge e é usado para todos os Contatos da conversa.
Para uma variável não personalizada, mantenha o valor do Bridge omitindo a chave. Um valor vazio não significa “usar o padrão”: ele é enviado como você o escreveu. Uma variável obrigatória vazia ou composta apenas de espaços é rejeitada como ausente. Somente variáveis personalizadas (isCustom: true) tratam um valor vazio como não enviado e usam seu default.

3. Envie os parâmetros

Cada entrada de onboardingTemplates recebe o id do template retornado na etapa 1 e seus parameters, indexados pela key da variável. A posição na lista define a ordem de envio.
Neste exemplo, first_name e tracking_code são omitidos. Assim, cada Contato recebe seu próprio primeiro nome, e tracking_code é enviado com seu valor padrão, pending. Limites por template: no máximo 50 parâmetros, chaves de até 128 caracteres e valores de até 1.024 caracteres. Requisições que ultrapassam esses limites são rejeitadas como malformadas; veja erros. Conforme a configuração do workspace, seus templates substituem toda a sequência inicial ou apenas o primeiro template. No segundo caso, o restante da sequência configurada ainda é enviado depois dos seus.

Regras de valores do WhatsApp

O WhatsApp rejeita determinados valores no envio da mensagem. O Bridge os verifica antes para que a requisição falhe enquanto você ainda pode corrigi-los:
O limite do corpo inclui os valores que o Bridge preenche para cada Contato, como o primeiro nome. O Bridge só consegue verificar os valores disponíveis no momento da requisição; reserve espaço para os demais.
O Bridge nunca remove espaços das extremidades nem reescreve seus valores: o que você envia é o que o Contato recebe.

Erros

Todos os erros usam o formato application/problem+json descrito em códigos de erro. Escolha o tratamento por code, nunca por title.

Valores ausentes — 0604

Valores inválidos — 0607

reason informa a primeira regra violada pelo valor:

O erro 0608 não se resolve alterando a requisição

BRIDGE_CONVERSATION_0608 ocorre somente em workspaces em que seus templates substituem apenas o primeiro template da sequência inicial. Isso significa que um template enviado pelo workspace depois do seu precisa de valores que só o integrador pode fornecer e que a API não consegue suprir. Peça a um administrador para alterar a sequência inicial.

Requisições malformadas

Uma requisição incompatível com o esquema — mais de 50 parâmetros, chave com mais de 128 caracteres, valor com mais de 1.024 caracteres ou campo desconhecido — é rejeitada com 422 sem code. Nesse caso, uma lista errors aponta cada problema:

Ordem de avaliação

As verificações seguem esta ordem, e o primeiro erro prevalece:
  1. Limite de requisições — 429
  2. Formato da requisição — 422 sem code
  3. Participantes, marca e linha — 400 / 409, por exemplo, BRIDGE_BRAND_0101 ou BRIDGE_PROVIDER_CHANNEL_0001
  4. Cada template, na ordem da lista: 0601 / 0602 → 0603 → 0606 → 0605 → 0604 → 0607
  5. 0608, somente em workspaces onde seus templates substituem apenas o primeiro template
Por isso, corrigir um erro pode revelar o próximo. Os valores de um template posterior só são verificados depois que todos os anteriores passam.

Tópicos relacionados