Gerenciar Flows
O comando Flows gerencia os WhatsApp Flows do canal do WhatsApp Oficial. Flows são experiências interativas (formulários, cadastros, fluxos de atendimento) que rodam dentro do próprio WhatsApp. As operações usamPOST /api/v1/message/SendCommand com content.type: "FLOWS", variando o commandType conforme a operação desejada. Resposta síncrona: { "packageId": "..." }; resultado via webhook.
Operações disponíveis
A Meta só aceita algumas operações em determinados status. Fora do status exigido, a operação falha e o webhook chega com
success: false.
Os Flows pertencem ao business (WABA), não a um número específico. O
channelId identifica a conta cujas credenciais autenticam a requisição à Meta.Respostas
Cada operação responde por webhook. Otype indica o formato do payload e o commandType indica a operação que o originou, no padrão FLOWS_<OPERAÇÃO>_RESPONSE:
O formato é o mesmo no sucesso e na falha: se um
CREATE falhar, o webhook continua sendo FLOWS_DETAIL_RESPONSE / FLOWS_CREATE_RESPONSE, com success: false e o motivo em error.
Listar Flows
uuid
Filtro opcional. Quando informado, retorna apenas o Flow específico (GET unitário) em vez da lista completa. Ambos os caminhos respondem
FLOWS_LIST_RESPONSE. Se o Flow não existir, a resposta vem com success: false e error iniciando com FLOW_NOT_FOUND — não como lista vazia.string
Filtro opcional. Restringe à WABA deste número.
Webhook de resposta
Campos do Flow (flows[])
Criar Flow
O CREATE exige que o canal tenha um número conectado: o Flow é criado na WABA desse número. As demais operações usam apenas as credenciais da conta.string
required
Nome do Flow.
string[]
required
Categorias do Flow (ex.:
SIGN_UP, CUSTOMER_SUPPORT, APPOINTMENT_BOOKING). Deve conter pelo menos uma.string
Endpoint HTTPS do Flow, quando ele é data_channel (o Flow troca dados com seu servidor em tempo real).
string
Id na Meta (
wabaFlowId, não o id da MessageFy) de um Flow existente para clonar. A Flows API da Meta duplica a estrutura.object
Flow JSON opaco (a estrutura do formulário). Opcional no CREATE — pode ser enviado depois via
UPLOAD_ASSET.boolean
default:"false"
Publica o Flow logo após criá-lo. Quando
true, o Flow já nasce publicado.Webhook de resposta
O CREATE retornaFLOWS_DETAIL_RESPONSE:
flow.id — é o flowId usado nas demais operações.
Upload de asset (Flow JSON)
Envia a estrutura do formulário (Flow JSON) para um Flow existente.uuid
required
Identificador do Flow alvo.
object
required
Flow JSON opaco. A MessageFy não valida o conteúdo — a Meta valida contra o schema da versão.
Webhook de resposta
RetornaFLOWS_DETAIL_RESPONSE com o Flow atualizado.
Atualizar Flow
Atualiza nome, categorias ou endpoint de um Flow emDraft — a Meta não permite editar os metadados de um Flow publicado. Pelo menos um campo deve ser informado.
uuid
required
Identificador do Flow a atualizar.
string
Novo nome do Flow.
string[]
Novas categorias do Flow.
string
Novo endpoint HTTPS do Flow.
Webhook de resposta
RetornaFLOWS_DETAIL_RESPONSE com o Flow atualizado.
Publicar Flow
Publica um Flow em rascunho, tornando-o utilizável em mensagens.Webhook de resposta
RetornaFLOWS_DETAIL_RESPONSE com status: "Published".
Deprecar Flow
Depreca um Flow emPublished. Um Flow deprecado não pode mais ser enviado em novas mensagens.
Webhook de resposta
RetornaFLOWS_DETAIL_RESPONSE com status: "Deprecated".
Deletar Flow
Remove um Flow emDraft. A Meta não permite excluir um Flow já publicado — para tirá-lo de uso, depreque-o.
Webhook de resposta
RetornaFLOWS_RESPONSE com commandType: "FLOWS_DELETE_RESPONSE", sem payload além de success.
Preview do Flow
Gera uma URL de preview do Flow, válida por 30 dias.boolean
default:"false"
Quando
true, força a Meta a gerar uma nova URL de preview em vez de reaproveitar a atual.Webhook de resposta
Sincronizar Flows
Sincroniza os Flows da Meta com a plataforma. Útil para importar Flows criados diretamente no Meta Business Manager.string
Restringe a sincronização à WABA deste número.
Webhook de resposta
Campos de wabas[]
Atualizar cache (Refresh)
Atualiza o cache local de um Flow específico, buscando os dados mais recentes da Meta.Webhook de resposta
RetornaFLOWS_DETAIL_RESPONSE com os dados atualizados do Flow.
Erros
Validação na entrada (HTTP 400)
A estrutura mínima do comando é validada antes de o pacote ser aceito. Nesses casos oSendCommand responde 400 na hora, sem webhook:
Falha no processamento (webhook)
Falhas depois que o pacote foi aceito (Flow em status incompatível, erro da Meta, Flow inexistente) chegam no webhook da própria operação, comsuccess: false. Exemplo de um PUBLISH recusado: