Joinotify

Disparar um fluxo

POSThttps://api.joinotify.com/flows/{id}/trigger

Inicia uma execução do fluxo para um contato. O fluxo precisa estar ativo e publicado, e a versão publicada precisa ter um gatilho do tipo API.

Identifique o contato por contact.id ou por contact.phone — com o telefone, um contato que não existe é criado. O que vier em data fica disponível no fluxo como {{trigger.<caminho>}} — dados aninhados inclusive ({{trigger.cliente.nome}}, {{trigger.itens[0].nome}}), com formatações como :money e :date. O número que envia é phoneNumberId, ou o configurado no gatilho, ou o número ativo mais antigo da conta.

A resposta é 202 com o runId; as mensagens saem em seguida, fora da requisição. runId pode vir null sem ser erro: o gatilho não leva a nenhum passo, ou o mesmo contato começou este fluxo há pouco (o intervalo mínimo entre execuções). Começar uma execução cancela as outras em andamento do mesmo contato naquele número.

Idempotência. Com Idempotency-Key, repetir a chamada em até 24 horas devolve 200 com o mesmo runId e replayed: true, sem iniciar outra execução. Diferente de POST /messages: aqui o corpo não é comparado, e uma chamada que falhou não guarda a chave — a repetição tenta de novo.

Path Params

1 obrigatório(s)

stringobrigatório

Id do fluxo. Ele precisa estar ativo, publicado e ter um gatilho de API.

Headers

1 opcional(is)

stringopcional

Identificador da operação. Repetir com o mesmo valor em 24 horas devolve a execução já iniciada.

máx. 120 caracteres

Body Paramsapplication/json

1 obrigatório(s)2 opcional(is)

objectobrigatório

O contato: id de um contato existente, ou phone em formato internacional. Com os dois, vale o id.

stringcondicional

Obrigatório quando `contact.phone` não é enviado.

Id de um contato existente.

stringcondicional

Obrigatório quando `contact.id` não é enviado. Com os dois, vale o `id`.

Telefone em formato internacional. Se nenhum contato tem esse número, ele é criado.

mín. 4 caracteresmáx. 30 caracteres

stringopcional

Número que envia. Precisa ser da conta e estar no escopo da API key.

objectopcional

Dados para o fluxo, lidos como {{trigger.<caminho>}} nas mensagens, variáveis de template e condições — objetos e listas aninhados inclusive.

Respostas