POST /send-* com phone + conteúdo, resposta queued com message_id, resultado no webhook delivery. Os campos comuns valem em quase todos:
Texto
*negrito*, _itálico_, ~riscado~, ```mono```. Links viram clicáveis automaticamente, mas sem prévia; para prévia com título e imagem, use send-link:
Mídia
send-image, send-audio, send-video, send-ptv (vídeo redondo), send-gif, send-document, send-sticker. O campo principal tem o nome do tipo (image, audio, video, ptv, gif, document, sticker) e aceita URL pública, data: URL ou base64 puro. Limites, formatos e conversões estão em Mídia.
send-audio:ptt: true(padrão) envia como voice note, com forma de onda;ptt: falseenvia como arquivo de áudio.send-document:file_namedefine o nome exibido;extension(ou o pathsend-document/{extension}da z-api) ajuda quando a URL não tem extensão.send-sticker: WebP 512×512; outros formatos são convertidos quando o servidor tem ffmpeg.
Localização
Contatos
send-contacts envia vários cartões numa mensagem só (contacts: [{ contact_name, contact_phone }]). Você também pode passar um vcard pronto.
Enquete
received em poll_vote. send-poll-vote vota em uma enquete recebida (poll_message_id + options).
Reações e ações sobre mensagens
Responder, mencionar, editar
delivery vem com message_not_found. O contato recebe a mensagem marcada como “editada”; no webhook received (com notify_sent_by_me) chega is_edit: true.
Onde cada tipo funciona
Botões, listas, carrossel, PIX, eventos e status têm página própria: O que renderiza onde e a seção Interativos da referência.