API de publicaçãoAPI

Um POST para publicar em todos os lugares

Crie um post uma vez, liste as contas que ele deve alcançar e o FoPost cuida da formatação, do upload de mídia e da entrega em cada rede. Chaves com escopos, requisições idempotentes e status de entrega que você pode consultar ou receber por webhook.

POST /v1/posts
curl -X POST https://api.fopost.com/v1/posts \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "9b2f6c1e-...",
    "content": [{ "text": "Shipped a new release today." }],
    "accounts": ["4a71d80b-...", "c30e9f12-..."]
  }'

curl -X POST https://api.fopost.com/v1/posts/7d3e0a52-.../publish \
  -H "X-API-Key: $API_KEY"

Todas as redes, um único formato

O mesmo corpo de requisição publica no X, no LinkedIn, no Instagram e em todas as outras contas conectadas.

Chaves com escopos

Uma chave com o escopo publish pode publicar e nada mais. Revogue-a sem afetar as outras.

Entrega por conta

Cada conta informa seu próprio status, id externo e permalink assim que o post entra no ar.

Publique

Escreva o post uma vez e escolha qualquer conjunto de contas

Envie o texto, a mídia e as contas a alcançar. O FoPost aplica os limites e as convenções de cada rede, envia a mídia no formato que a plataforma exige e retorna um id de post que você pode acompanhar. Threads, carrosséis e textos longos usam o mesmo array de conteúdo.

Ler a referência de publicação
Resposta
{
  "post_status": "publishing",
  "deliveries": [
    { "id": "a3c5e7f9-...", "account_id": "4a71d80b-...", "status": "queued", "external_url": null, "posted_at": null, "attempts": 0 },
    { "id": "b4d6f8a0-...", "account_id": "c30e9f12-...", "status": "queued", "external_url": null, "posted_at": null, "attempts": 0 }
  ],
  "health_warnings": []
}

Blocos de conteúdo

Blocos ordenados viram uma thread, um carrossel ou um texto, dependendo da rede.

Mídia por referência

Envie uma vez para a biblioteca de mídia e anexe pelo id a quantos posts quiser.

Idempotente

Envie uma chave de idempotência e uma nova tentativa nunca publica em dobro.

Acompanhe

Saiba exatamente onde cada post chegou

Um post se divide em uma entrega por conta. Consulte o endpoint de entregas ou assine um webhook e receba o status da plataforma, o id externo, o permalink e o texto do erro quando uma rede rejeitar algo.

Ver eventos de webhook
Contas conectadas em todas as redes em um único espaço de trabalho

Endpoint de entregas

GET /v1/posts/:id/deliveries lista cada conta com seu próprio status.

Eventos de webhook

delivery.published e delivery.failed são disparados assim que uma entrega é concluída.

Novas tentativas integradas

Erros temporários da plataforma são repetidos com backoff antes de aparecerem como falha.

Gerencie

Edite, cancele e exclua pelo código

Todo o ciclo de vida está na API. Atualize um post agendado antes de ele sair, cancele-o ou exclua um post publicado da rede em que ele foi ao ar. Etiquetas e espaços de trabalho mantêm o trabalho de cada cliente separado quando você administra mais de uma marca.

Comece a construir
PUT /v1/posts/:id
curl -X PUT https://api.fopost.com/v1/posts/7d3e0a52-... \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": [{ "text": "Updated copy." }] }'

Edite antes de publicar

Altere texto, mídia ou contas de qualquer item ainda na fila.

Etiquetas

Marque posts por campanha ou cliente e filtre qualquer endpoint de listagem por etiqueta.

Espaços de trabalho

As chaves são por espaço de trabalho, então um cliente nunca acessa o outro.

Perguntas sobre API de publicação, respondidas

Como faço a autenticação?

Crie uma chave de API no painel, em Settings, e envie-a no cabeçalho X-API-Key. Cada chave pertence a um espaço de trabalho e tem apenas os escopos que você conceder.

Em quais redes posso publicar?

Em todas as contas conectadas ao espaço de trabalho, em todas as redes aceitas pelo FoPost. O formato da requisição é o mesmo para todas.

Posso anexar imagens e vídeos?

Sim. Envie uma vez pela Media API e referencie o id da mídia no post. Os limites de tamanho e formato de cada rede são aplicados para você.

O que acontece se uma rede estiver fora do ar?

A entrega é repetida com backoff. Se ainda assim falhar, a entrega é marcada como falha, com o erro da plataforma, e um webhook delivery.failed é disparado.

Existe limite de requisições?

Sim, 100 requisições por minuto por chave. O limite e a quantidade restante são retornados nos cabeçalhos de resposta.

Existe um SDK?

Um SDK TypeScript tipado, um servidor MCP para clientes de IA e pacotes gratuitos de PHP, Laravel e WordPress. A especificação OpenAPI é servida pela API para qualquer outra linguagem.

Comece a construir com API de publicação 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