Endpoint
POST /v1/conversations/send (alias).
Escopo necessário: write:messages
Canais suportados
O canal Instagram não está disponível na API pública neste momento.
Você não precisa conhecer nem informar JID ou outro identificador interno do WhatsApp. A SocialSell resolve o destinatário a partir do telefone e também autorrepara contatos antigos no primeiro envio.
Rate limits por canal
Independentes do plano e cumulativos com o limite por minuto da chave:Corpo da requisição
Comportamento de conversa
Se não existir conversa entre o contato e aquele número ou página, uma é criada automaticamente. A resposta sempre traz oconversation_id.
Escolha do número
Informar um número desconectado não devolve
NO_WHATSAPP_INSTANCE: a requisição segue e falha mais adiante. Omitir o campo é mais seguro quando você não precisa de um número específico.Idempotência
Esta rota aceitaIdempotency-Key — repetir depois de um timeout não envia a mensagem duas vezes. Ver Idempotência.
Exemplos
Texto via WhatsApp
Imagem via WhatsApp
Modelo do WhatsApp Oficial
Comtemplate_name informado, content, type e media_url não são usados — o texto vem do modelo aprovado.
O modelo precisa estar aprovado (APPROVED), pertencer àquele número e bater com o template_language informado. Caso contrário: 422 TEMPLATE_NOT_FOUND.
Texto via Messenger
Respostas
RetornaHTTP 201. O corpo tem duas formas, conforme o caminho de envio.
Texto e mídia
Modelo do WhatsApp Oficial
No envio de modelo,
type vem como template — valor fora da lista de type da requisição — e content traz o corpo do modelo com os parâmetros de template_components aplicados — o texto que o contato recebeu. Só um modelo sem texto no corpo devolve o rótulo [Modelo: nome].
