VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/WhatsApp: Flows da Meta

Chaves de Flow

Gera o par de chaves RSA que a Meta usa para criptografar os dados dos Flows de um número.

Cada número que usa Flows com troca de dados precisa de um par de chaves RSA: a Meta criptografa com a chave pública o que o cliente digita, e a plataforma decifra com a privada. Esta rota gera um par novo para um número e devolve a chave pública, que você cadastra na Meta. A chave privada fica guardada, cifrada, e nunca é devolvida.

POST/api/v1/admin/whatsapp/flow-keys/registerAdmin

Gera um par de chaves de Flow para um número

Corpo da requisição

phone_number_idstringobrigatório
Id do número na Meta (texto numérico, não é o telefone). Obrigatório.
vendor_iduuid
Seller dono do número. Omitido, a chave é da loja.

Exemplo de requisição (Gerar chaves)

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/flow-keys/register" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number_id": "109876543210987"
  }'

Resposta (Gerar chaves)

200Chave gerada
json
{
  "id": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
  "phone_number_id": "109876543210987",
  "public_key": "-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...\\n-----END PUBLIC KEY-----\\n",
  "key_size": 2048,
  "status": "A",
  "created_at": "2026-10-11T22:30:00.000000Z",
  "rotated_from_id": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}

Campos da resposta

iduuid
Identificador da chave nova.
phone_number_idstring
O número.
public_keystring
Chave pública em PEM, para cadastrar na Meta.
key_sizeinteger
Tamanho da chave em bits. Hoje 2048.
statusstring
A
A (ativa). A chave anterior do número passa a R (em rotação).
created_atstring
Criação (RFC 3339, UTC).
rotated_from_iduuid
Id da chave que foi substituída. Ausente se o número não tinha chave ativa.

Erros (Gerar chaves)

StatusQuandoCorpo
400Corpo que não é JSON ou phone_number_id vazio.{"error":"phone_number_id is required"}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O 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"}
500Falha ao gerar ou guardar o par.{"error":"failed to generate key pair: ..."}
Cada chamada troca a chave

A chave ativa anterior deixa de valer na hora, mas a Meta continua criptografando com ela até você cadastrar a nova. Os Flows com troca de dados falham nesse intervalo. Chame só quando for cadastrar a chave na Meta em seguida.

Não é preciso para os Flows nativos

POST /native-flows/activate já cuida da chave. Use esta rota só para Flows próprios, desenhados em /meta-flows, que usem troca de dados.

Veja também

  • Flows nativos
  • Publicar e enviar
Anterior
Flows nativos
Próxima
WhatsApp: conhecimento do assistente
Nesta página
  • Exemplo de requisição (Gerar chaves)
  • Resposta (Gerar chaves)
  • Erros (Gerar chaves)
  • Veja também