Saltar para o conteúdo principal
Endpoint · POST /conversation/actions
Envia uma mensagem. Cada ação envia um único tipo de conteúdo: texto, mídia, uma resposta rápida ou um template. Um texto, mídia ou resposta rápida pode também levar um template para quando a janela de 24h estiver fechada (veja abaixo).
Texto simples, até 4096 caracteres.
Template com a janela fechada. Um send_message de texto, mídia ou resposta rápida pode incluir também um template opcional: se na execução a janela de 24h estiver fechada, o template é enviado no lugar do primário (fora da janela só é possível enviar templates); se estiver aberta, envia o primário. Sem template, um primário com a janela fechada falha com WINDOW_CLOSED.
Combinações válidas:
Transcrição de mídia. Quando o arquivo de uma mídia (a primária em file_uuid ou o header de um template em template.header) não pode ser transcrito pela visão — tipo não suportado ou acima do limite de tamanho que lhe corresponde — você deve enviar sua transcription. Se faltar, essa ação falha por ação durante a execução em background: TRANSCRIPTION_REQUIRED para a mídia primária, TEMPLATE_HEADER_TRANSCRIPTION_MISSING para o header do template (ambos 422; ver Erros).
Quais tipos são transcritos automaticamente pode ampliar-se por etapas. O sinal autoritativo por arquivo é requires_transcription na resposta de /files/confirm, que evita ter que acompanhar essas etapas. Os limites por trás desse sinal são de visão, distintos dos limites de upload. .doc, .ppt e .pptx não são transcritos automaticamente em nenhum tamanho.Três consequências práticas:
  • requires_transcription responde no momento do confirm. O gate que manda é o do envio, então um arquivo confirmado com false pode voltar a exigir transcription se a disponibilidade mudar entre o confirm e o envio. Na dúvida, envie-a.
  • Enviar transcription junto a um file_uuid nunca é erro, mesmo que o arquivo não precisasse: ganha sobre a transcrição automática. Sem file_uuid o body inteiro é rejeitado com INVALID_REQUEST (400), assim como uma transcription vazia ou só com espaços. Já um texto que só fica vazio ao remover os caracteres de controle passa pelo schema: o body é aceito com 202 e é essa ação que falha com INVALID_REQUEST durante a execução em background.
  • O limite de tamanho depende do tipo de arquivo: não é um número único para todos.
A mídia de cada lado é independente: a do primário em file_uuid, a do header do template em template.header.file_uuid; a de uma resposta rápida fica configurada na própria resposta rápida. Tanto a mídia primária (transcription) quanto o header do template (template.header.transcription) aceitam sua transcrição — obrigatória se a visão não puder transcrever esse arquivo (ver a nota acima). Em uma lista, este objeto vai no array actions de um POST /conversation/actions — veja Montar uma lista de ações.

Exemplo executável

Um send_message em uma conversa identificada por telefone e canal. Dependendo do que você passa, ele cobre três objetivos:
  • Mensagem ou template — um texto ou mídia; se a janela de 24 h estiver fechada na execução, o template é enviado no lugar (fora da janela só é possível enviar templates).
  • Resposta rápida ou template — igual, com uma resposta rápida salva como conteúdo principal.
  • Somente template — apenas um template; a única forma de escrever fora da janela de 24 h. Aceita parâmetros (body_variables), header com mídia e botões (button_parameters).

Request

Resposta

202 Accepted — o grupo foi aceito e roda em background. O resultado por ação não viaja na resposta (consulte-o depois — veja Como é executado).
string
Sempre processing: confirma que o grupo foi aceito e está em execução.
integer
Quantas ações do array foram admitidas para execução — não quantas tiveram sucesso.