API de MensagensAPI

Mensagens diretas em todas as redes, direto do seu código

O FoPost mantém cada conversa de DM das suas contas conectadas em um só lugar. Liste conversas, inicie novas, envie mensagem para um segmento de contatos de uma vez ou distribua uma série de mensagens ao longo de dias, tudo com a mesma chave de API.

GET /v1/inbox/conversations
curl "https://api.fopost.com/v1/inbox/conversations?workspace_id=9b2f6c1e-..." \
  -H "X-API-Key: $API_KEY"

{
  "data": [
    {
      "workspace_id": "9b2f6c1e-...",
      "account_id": "4a71d80b-...",
      "conversation_id": "t_1029384756",
      "message_count": 6,
      "unread_count": 2,
      "last_message_at": "2026-11-10T16:42:08Z",
      "last_message_text": "Is the large size back in stock?",
      "last_message_outbound": false,
      "participant": { "name": "Jordan P.", "handle": "jordanp", "avatar_url": "https://..." },
      "account": { "id": "4a71d80b-...", "platform": "instagram", "username": "yourbrand" }
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 1, "total_pages": 1 }
}

Uma única lista de conversas

Todas as conversas de DM de todas as contas conectadas, da mais recente para a mais antiga.

Broadcasts

Uma mensagem nas conversas existentes de um conjunto filtrado de contatos.

Sequências

Uma série de mensagens, cada uma enviada um número definido de horas após a anterior.

Conversas

Leia uma conversa, responda ou abra uma nova

Responda dentro de uma conversa existente com POST /v1/inbox/:id/reply. Inicie uma nova conversa pelo handle no X, Mastodon, Reddit e Slack, ou passe comment_id para responder em privado a um comentário do Instagram ou do Facebook. No Facebook e no Instagram você também pode exibir um indicador de digitação e, no Messenger, transferir uma conversa para outro app e retomá-la.

Leia a referência de conversas
POST /v1/inbox/conversations
curl -X POST https://api.fopost.com/v1/inbox/conversations \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "4a71d80b-...",
    "handle": "jordanp",
    "text": "Thanks for the order. Your tracking link is on its way."
  }'

{ "conversation_id": "t_1029384756", "item": { "id": "2c9d4e81-...", "type": "dm", ... } }

Texto e mídia

Até 10 ids de mídia da sua biblioteca seguem junto onde a rede permitir.

Digitação e transferência

POST /v1/inbox/conversations/:id/typing e /handover para conversas da Meta.

X Chat

Conversas criptografadas do X passam como texto cifrado; a chave fica no navegador.

Broadcasts

Envie para um segmento sem violar as regras da plataforma

Um broadcast entra nas conversas que sua conta já tem com um conjunto de contatos, filtrado por rede, rótulo, origem ou campo personalizado. Facebook, Instagram e WhatsApp só permitem uma mensagem comercial dentro de 24 horas após a última mensagem do contato; por isso, destinatários fora dessa janela são ignorados com um motivo, nunca tentados. No WhatsApp, um modelo aprovado pode ir além dela.

Veja a referência de broadcasts
POST /v1/broadcasts/:id/send
curl -X POST https://api.fopost.com/v1/broadcasts \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "9b2f6c1e-...",
    "account_id": "4a71d80b-...",
    "name": "Restock, November",
    "text": "The large size is back in stock this week.",
    "audience": { "platforms": ["instagram"], "label_ids": ["d41e7a90-..."] }
  }'

curl -X POST https://api.fopost.com/v1/broadcasts/8e2a5c13-.../send -H "X-API-Key: $API_KEY"

{ "id": "8e2a5c13-...", "status": "sending", "recipients": 212 }

Envie agora ou depois

Defina scheduled_at para enfileirar ou cancele antes do envio.

Resultado por destinatário

GET /v1/broadcasts/:id/recipients mostra enviado, ignorado ou com falha, e o motivo.

Enviado uma só vez

Cada destinatário é reservado antes do envio, então uma nova tentativa nunca envia duas vezes.

Sequências

Faça o acompanhamento ao longo de dias, automaticamente

Uma sequência é uma lista de até 20 etapas, cada uma com uma mensagem e um atraso em horas após a anterior. Inscreva contatos por id ou pelo mesmo filtro de público usado em um broadcast e cancele a inscrição a qualquer momento. Uma etapa que cai fora da janela de mensagens é ignorada e a sequência continua.

Veja a referência de sequências
POST /v1/sequences/:id/enroll
curl -X POST https://api.fopost.com/v1/sequences/5b9c2e40-.../enroll \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "contact_ids": ["a7f3c2d1-..."] }'

{ "id": "5b9c2e40-...", "enrolled": 1 }

Pause quando quiser

Defina status como paused e nenhuma etapa seguinte sai até você retomar.

Cancelar inscrição

POST /v1/sequences/:id/unenroll interrompe um contato imediatamente.

Contagem de inscrições

Ativas, concluídas, interrompidas e com falha, por sequência.

Contatos

Saiba com quem você está falando

Quem envia mensagem para suas contas vira contato automaticamente. Adicione mais manualmente ou importe um CSV de até 5.000 linhas com uma coluna de plataforma e outra de handle. Defina até 50 campos personalizados por workspace (texto, número, data, seleção ou sim/não) e filtre broadcasts e sequências por eles.

Comece a construir
Contas conectadas de todas as redes em um único workspace

Importação de CSV

POST /v1/contacts/import retorna as linhas criadas, mescladas e ignoradas, com os motivos.

Campos personalizados

Colunas que correspondem à chave de um campo são preenchidas na importação.

Histórico completo

GET /v1/contacts/:id/conversations lista o que cada contato escreveu.

Perguntas sobre API de Mensagens, respondidas

Para quais redes posso enviar mensagens?

As conversas são lidas do Bluesky, Facebook, Instagram, Mastodon, Reddit, Slack, Telegram, WhatsApp e X, onde a conta concedeu permissão de mensagens. Iniciar uma nova conversa pelo handle funciona no X, Mastodon, Reddit e Slack.

O que é a janela de mensagens?

Facebook, Instagram e WhatsApp aceitam uma mensagem comercial apenas dentro de 24 horas após a última mensagem do contato. Broadcasts e sequências verificam isso antes de cada envio e ignoram quem estiver fora da janela, com o motivo registrado.

De quais escopos de chave de API eu preciso?

Ler conversas, contatos, broadcasts e sequências exige o escopo inbox. Qualquer ação que coloque uma mensagem em uma rede, como enviar um broadcast ou inscrever um contato, também exige publish.

Um broadcast pode enviar mensagem a quem nunca nos escreveu?

Não. Um broadcast cai em uma conversa que a conta já tem com o contato. Contatos sem conversa são ignorados como nunca contatados.

Algo é enviado sem eu pedir?

Um broadcast é enviado quando você chama send ou no horário agendado. Uma sequência envia suas etapas depois que você inscreve alguém. Nenhuma mensagem é enviada sem que você a tenha configurado.

Existe limite de requisições?

Sim, 100 requisições por minuto por chave. As redes também aplicam seus próprios limites, e um envio recusado volta com o motivo da rede.

Comece a construir com API de Mensagens hoje

Começar é grátis e a API completa está incluída. Crie uma chave e faça sua primeira chamada em minutos.

Obtenha sua chave de API