Paginação
As listas usam cursor. Envie ?limit= (1 a 100, padrão 50); a resposta traz:
{ "data": [ ... ], "has_more": true, "next_cursor": "MjAyNi0xMC0xNlQxMjowMDowMFp8..." }
Para a próxima página, repita a chamada com ?cursor=<next_cursor>. A ordem é do mais novo para o mais antigo.
Limite de requisições
Por chave, por minuto: Vendas 60, Completo 120, Enterprise 300 (ou o contratado), teste grátis 20. Toda resposta traz X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset (segundos). Acima do limite: 429 com Retry-After.
Envios de WhatsApp também respeitam os limites da Meta (tier do número, janela de 24 h, templates aprovados, opt-out) e os limites do plano.
Idempotência
Nas criações (ex.: enviar mensagem, criar campanha), envie Idempotency-Key: <uuid>. Repetir a mesma chave com o mesmo corpo em até 24 h devolve a mesma resposta (header Idempotent-Replayed: true) sem enviar de novo. A mesma chave com outro corpo dá 409 idempotency_conflict.
Versões
A versão vem no caminho (/v1). Dentro da v1 só acrescentamos campos e endpoints; mudança que quebra vira /v2, com aviso e prazo. Ignore campos que você não conhece.