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:
- Consulte as variáveis do template.
- Decida quais valores enviar.
- 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.
3. Envie os parâmetros
Cada entrada deonboardingTemplates 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.
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 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 formatoapplication/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 com422 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:- Limite de requisições —
429 - Formato da requisição —
422semcode - Participantes, marca e linha —
400/409, por exemplo,BRIDGE_BRAND_0101ouBRIDGE_PROVIDER_CHANNEL_0001 - Cada template, na ordem da lista:
0601/0602→0603→0606→0605→0604→0607 0608, somente em workspaces onde seus templates substituem apenas o primeiro template
Tópicos relacionados
- Criar uma conversa — Referência completa da requisição e resposta
- Códigos de erro — Todos os códigos, incluindo erros de marca e linha
- Limites de requisições — Tratamento de
429

