Ligações
Lista, cria e apaga as ligações (setas) que definem qual bloco vem depois de qual.
Uma ligação é uma seta de um bloco para outro. O connection_type diz em que situação a seta é seguida: sempre (next), numa opção de menu (option_N), numa condição (condition_N) ou quando nada casou (default).
Listar as ligações de um fluxo
Devolve as ligações (as setas do desenho do fluxo), agrupadas por bloco de origem.
/api/v1/admin/whatsapp/flows/{id}/connectionsAdminLista as ligações de um fluxo
Parâmetros de caminho
iduuidobrigatórioId do fluxo.
Exemplo de requisição (Listar ligações)
bash
curl "$BASE_URL/api/v1/admin/whatsapp/flows/fa4b0c91-2883-43c6-94ef-86e5b540a2aa/connections" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar ligações)
200Ligações devolvidas
json
{
"flow_id": "fa4b0c91-2883-43c6-94ef-86e5b540a2aa",
"connections": [
{
"id": "532e0273-ca3c-4467-a9f5-5fdba15d7163",
"flow_id": "fa4b0c91-2883-43c6-94ef-86e5b540a2aa",
"from_block_id": "b8c1057a-d5b6-448f-af73-31734882b110",
"to_block_id": "c9f47922-b163-47f0-a7db-8345287707fc",
"connection_type": "option_0",
"order_index": 0,
"created_at": "2026-07-21T15:30:19.581855Z",
"updated_at": "2026-07-21T15:30:19.581855Z"
}
]
}Campos da resposta
flow_iduuidO fluxo pedido.
connectionsarrayLigações do fluxo.
iduuidIdentificador da ligação.
flow_iduuidFluxo da ligação.
from_block_iduuidBloco de onde a ligação sai.
to_block_iduuidBloco para onde a ligação vai.
connection_typestringQuando a ligação é seguida:
next, option_N, condition_N ou default.labelstringRótulo opcional mostrado no editor.
order_indexintegerOrdem entre as ligações do mesmo bloco.
created_atstringCriação (RFC 3339, UTC).
updated_atstringÚltima alteração (RFC 3339, UTC).
Erros (Listar ligações)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 500 | O id não é um UUID válido, ou falha ao consultar. | {"error":"Failed to list connections: ..."} |
Adicionar uma ligação
Liga um bloco a outro. O connection_type diz quando o bot segue essa seta.
/api/v1/admin/whatsapp/flows/{id}/connectionsAdminLiga dois blocos de um fluxo
Parâmetros de caminho
iduuidobrigatórioId do fluxo.
Corpo da requisição
from_block_iduuidobrigatórioBloco de origem. Obrigatório.
to_block_iduuidobrigatórioBloco de destino. Obrigatório.
connection_typestringpadrão: nextQuando seguir:
next, option_N (opção N de um menu, de zero), condition_N (ramo N de um condicional) ou default. Texto livre.labelstringRótulo opcional.
order_indexintegerpadrão: 0Ordem entre as ligações do mesmo bloco.
Exemplo de requisição (Adicionar uma ligação)
bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/flows/fa4b0c91-2883-43c6-94ef-86e5b540a2aa/connections" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_block_id": "b8c1057a-d5b6-448f-af73-31734882b110",
"to_block_id": "c9f47922-b163-47f0-a7db-8345287707fc",
"connection_type": "option_0"
}'Resposta (Adicionar uma ligação)
201Ligação criada
json
{
"id": "532e0273-ca3c-4467-a9f5-5fdba15d7163",
"flow_id": "fa4b0c91-2883-43c6-94ef-86e5b540a2aa",
"from_block_id": "b8c1057a-d5b6-448f-af73-31734882b110",
"to_block_id": "c9f47922-b163-47f0-a7db-8345287707fc",
"connection_type": "option_0",
"order_index": 0,
"created_at": "2026-07-21T15:30:19.581855Z",
"updated_at": "2026-07-21T15:30:19.581855Z"
}Campos da resposta
iduuidIdentificador da ligação.
flow_iduuidFluxo da ligação.
from_block_iduuidBloco de onde a ligação sai.
to_block_iduuidBloco para onde a ligação vai.
connection_typestringQuando a ligação é seguida:
next, option_N, condition_N ou default.labelstringRótulo opcional mostrado no editor.
order_indexintegerOrdem entre as ligações do mesmo bloco.
created_atstringCriação (RFC 3339, UTC).
updated_atstringÚltima alteração (RFC 3339, UTC).
Erros (Adicionar uma ligação)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON, from_block_id ou to_block_id ausentes, um id que não é UUID, ou uma segunda ligação ativa com o mesmo connection_type saindo do mesmo bloco. | {"error":"whatsapp/flows: from_block_id and to_block_id are required"} ou {"error":"whatsapp/flows: insert connection: pq: duplicate key value violates unique constraint ..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
Apagar uma ligação
Remove a seta entre dois blocos (remoção lógica). Os blocos continuam.
/api/v1/admin/whatsapp/connections/{conn_id}AdminApaga uma ligação
Parâmetros de caminho
conn_iduuidobrigatórioId da ligação.
Exemplo de requisição (Apagar uma ligação)
bash
curl -X DELETE "$BASE_URL/api/v1/admin/whatsapp/connections/532e0273-ca3c-4467-a9f5-5fdba15d7163" \
-H "Authorization: Bearer $TOKEN"Resposta (Apagar uma ligação)
200Ligação apagada
json
{
"status": "deleted",
"id": "532e0273-ca3c-4467-a9f5-5fdba15d7163"
}Campos da resposta
statusstringdeletedSempre
deleted.iduuidO id enviado.
Erros (Apagar uma ligação)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 500 | O id não é um UUID válido, ou falha ao apagar. | {"error":"Failed to delete connection: ..."} |