Conexões
Lista, cria e apaga as setas que ligam um bloco ao próximo no fluxo de conversa do seller.
Uma conexão é a seta de um bloco de origem (from_block_id) para um bloco de destino (to_block_id). O connection_type diz quando a seta é seguida:
connection_type | Quando é seguida |
|---|---|
next | Sempre, depois que o bloco de origem termina. É o padrão. |
option_0, option_1, ... | Quando o cliente escolhe a opção de mesmo índice de um menu, list ou button. |
condition_0, condition_1, ... | Quando a condição de mesmo índice de um bloco conditional é verdadeira. |
default | Quando nenhuma condição combinou. Também é a saída de um send_template cujo envio falhou. |
Cada par (bloco de origem, tipo) deve ter uma só conexão: duas setas next saindo do mesmo bloco aparecem como duplicate_edge em Validar o desenho.
Listar as conexões
/api/v1/vendor/whatsapp/flows/{id}/connectionsSellerLista as conexões de um fluxo
Ordenadas por bloco de origem e depois por order_index.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/vendor/whatsapp/flows/$FLOW_ID/connections" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"flow_id": "6f1c2d3e-9a4b-4c5d-8e7f-0a1b2c3d4e5f",
"connections": [
{
"id": "c0a1b2c3-0000-4000-8000-000000000001",
"flow_id": "6f1c2d3e-9a4b-4c5d-8e7f-0a1b2c3d4e5f",
"from_block_id": "b1a2c3d4-0000-4000-8000-000000000001",
"to_block_id": "b1a2c3d4-0000-4000-8000-000000000002",
"connection_type": "next",
"order_index": 0,
"created_at": "2026-10-01T12:00:00Z",
"updated_at": "2026-10-01T12:00:00Z"
}
]
}Campos da resposta
flow_iduuidconnectionsarrayconnections[].iduuidconnections[].flow_iduuidconnections[].from_block_iduuidconnections[].to_block_iduuidconnections[].connection_typestringconnections[].labelstringconnections[].order_indexintegerconnections[].created_atstringconnections[].updated_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 / 403 | Autenticação, módulo ou privilégio | veja Fluxo |
| 404 | Fluxo inexistente, da loja ou de outro seller | {"error":"flow not found or not owned by this seller"} |
| 500 | Falha ao ler | {"error":"..."} |
Criar uma conexão
/api/v1/vendor/whatsapp/flows/{id}/connectionsSellerLiga um bloco a outro
Devolve 201 com a conexão criada. A rota não confere se os dois blocos existem nem se são deste fluxo. Se você passar o id de um bloco de outro fluxo, a conexão é gravada e só aparece como unknown_block_ref ou dangling_outbound em validate.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
from_block_iduuidobrigatórioto_block_iduuidobrigatórioconnection_typestringpadrão: nextlabelstringorder_indexintegerpadrão: 0Exemplo de requisição
curl -X POST "$BASE_URL/api/v1/vendor/whatsapp/flows/$FLOW_ID/connections" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_block_id": "b1a2c3d4-0000-4000-8000-000000000002",
"to_block_id": "b1a2c3d4-0000-4000-8000-000000000010",
"connection_type": "option_5",
"label": "Horário"
}'Resposta
{
"id": "c0a1b2c3-0000-4000-8000-000000000020",
"flow_id": "6f1c2d3e-9a4b-4c5d-8e7f-0a1b2c3d4e5f",
"from_block_id": "b1a2c3d4-0000-4000-8000-000000000002",
"to_block_id": "b1a2c3d4-0000-4000-8000-000000000010",
"connection_type": "option_5",
"label": "Horário",
"order_index": 0,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido | {"error":"Invalid JSON body"} |
| 400 | Falta origem ou destino | {"error":"whatsapp/flows: from_block_id and to_block_id are required"} |
| 400 | Id de bloco que não é UUID válido | {"error":"whatsapp/flows: insert connection: ..."} |
| 401 / 403 | Autenticação, módulo ou privilégio | veja Fluxo |
| 404 | Fluxo inexistente, da loja ou de outro seller | {"error":"flow not found or not owned by this seller"} |
Apagar uma conexão
/api/v1/vendor/whatsapp/connections/{conn_id}SellerApaga uma conexão
Exclusão lógica. A rota só apaga conexões de fluxos do próprio seller.
Parâmetros de caminho
conn_iduuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/vendor/whatsapp/connections/$CONN_ID" \
-H "Authorization: Bearer $TOKEN"Resposta
{ "status": "deleted", "id": "c0a1b2c3-0000-4000-8000-000000000020" }Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Conexão inexistente, já apagada ou de outro seller | {"error":"connection not found or not owned by this seller"} |
| 401 / 403 | Autenticação, módulo ou privilégio | veja Fluxo |