Messaging APIAPI

Directe berichten op elk netwerk, vanuit je eigen code

FoPost bewaart elke DM-thread van je gekoppelde accounts op één plek. Toon gesprekken, start nieuwe, stuur in één keer een bericht naar een segment van je contacten of verspreid een reeks berichten over meerdere dagen, allemaal met dezelfde API-sleutel.

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 }
}

Eén lijst met threads

Elk DM-gesprek van elk gekoppeld account, nieuwste eerst.

Broadcasts

Eén bericht in de bestaande threads van een gefilterde groep contacten.

Sequenties

Een reeks berichten, elk verstuurd een vast aantal uren na het vorige.

Gesprekken

Lees een thread, beantwoord hem of open een nieuwe

Antwoord binnen een bestaande thread met POST /v1/inbox/:id/reply. Start een nieuw gesprek via de handle op X, Mastodon, Reddit en Slack, of geef comment_id mee om een Instagram- of Facebook-reactie privé te beantwoorden. Op Facebook en Instagram kun je ook een typindicator tonen, en op Messenger een thread overdragen aan een andere app en weer terugnemen.

Lees de naslag over gesprekken
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", ... } }

Tekst en media

Tot 10 media-id's uit je bibliotheek gaan mee waar het netwerk dat toestaat.

Typen en overdracht

POST /v1/inbox/conversations/:id/typing en /handover voor Meta-gesprekken.

X Chat

Versleutelde X-gesprekken komen door als ciphertext; de sleutel blijft in de browser.

Broadcasts

Bericht een segment zonder de platformregels te overtreden

Een broadcast komt terecht in de gesprekken die je account al heeft met een groep contacten, gefilterd op netwerk, label, bron of aangepast veld. Facebook, Instagram en WhatsApp staan een zakelijk bericht alleen toe binnen 24 uur na het laatste bericht van het contact, dus ontvangers buiten dat venster worden met een reden overgeslagen en nooit geprobeerd. Op WhatsApp kan een goedgekeurde sjabloon er voorbij reiken.

Bekijk de naslag over 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 }

Nu of later versturen

Stel scheduled_at in om het in te plannen, of annuleer voordat het wordt verstuurd.

Resultaat per ontvanger

GET /v1/broadcasts/:id/recipients toont verzonden, overgeslagen of mislukt, en waarom.

Eén keer verzonden

Elke ontvanger wordt geclaimd vóór het versturen, dus een nieuwe poging berichten nooit dubbel.

Sequenties

Volg automatisch op over meerdere dagen

Een sequentie is een lijst van maximaal 20 stappen, elk een bericht met een vertraging in uren na de vorige stap. Schrijf contacten in op id of met hetzelfde doelgroepfilter dat een broadcast gebruikt, en schrijf ze op elk moment weer uit. Een stap die buiten het berichtvenster valt, wordt overgeslagen en de sequentie gaat verder.

Bekijk de naslag over sequenties
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 }

Op elk moment pauzeren

Zet status op paused en er gaan geen verdere stappen uit tot je hervat.

Uitschrijven

POST /v1/sequences/:id/unenroll stopt een contact direct.

Aantal inschrijvingen

Actief, voltooid, gestopt en mislukt, per sequentie.

Contacten

Weet met wie je praat

Mensen die je accounts een bericht sturen, worden automatisch contacten. Voeg er handmatig meer toe of importeer een CSV van maximaal 5.000 rijen met een platform- en een handle-kolom. Definieer tot 50 aangepaste velden per workspace (tekst, getal, datum, selectie of ja/nee) en filter broadcasts en sequenties erop.

Begin met bouwen
Gekoppelde accounts van elk netwerk in één workspace

CSV-import

POST /v1/contacts/import geeft aangemaakte, samengevoegde en overgeslagen rijen terug, met redenen.

Aangepaste velden

Kolommen die overeenkomen met een veldsleutel worden bij import ingevuld.

Volledige geschiedenis

GET /v1/contacts/:id/conversations toont wat elk contact heeft geschreven.

Vragen over Messaging API, beantwoord

Welke netwerken kan ik berichten sturen?

Gesprekken worden gelezen van Bluesky, Facebook, Instagram, Mastodon, Reddit, Slack, Telegram, WhatsApp en X, waar het account berichtrechten heeft gegeven. Een nieuw gesprek starten via de handle werkt op X, Mastodon, Reddit en Slack.

Wat is het berichtvenster?

Facebook, Instagram en WhatsApp accepteren een zakelijk bericht alleen binnen 24 uur na het laatste bericht van het contact. Broadcasts en sequenties controleren dit voor elke verzending en slaan iedereen buiten het venster over, met de reden vastgelegd.

Welke API-sleutelscopes heb ik nodig?

Voor het lezen van gesprekken, contacten, broadcasts en sequenties is de scope inbox nodig. Alles wat een bericht op een netwerk plaatst, zoals een broadcast versturen of een contact inschrijven, vereist ook publish.

Kan een broadcast mensen berichten die ons nooit hebben geschreven?

Nee. Een broadcast komt terecht in een gesprek dat het account al heeft met het contact. Contacten zonder gesprek worden overgeslagen als nooit aangeschreven.

Wordt er iets verstuurd zonder dat ik erom vraag?

Een broadcast wordt verstuurd wanneer je send aanroept of op het tijdstip dat je hebt ingepland. Een sequentie verstuurt zijn stappen nadat je iemand inschrijft. Er wordt niemand aangeschreven die je niet zelf hebt ingesteld.

Is er een rate limit?

Ja, 100 verzoeken per minuut per sleutel. Netwerken hanteren ook hun eigen limieten, en een geweigerde verzending komt terug met de reden van het netwerk.

Bouw vandaag nog op de Messaging API

Starten is gratis en de volledige API is inbegrepen. Maak een sleutel aan en doe binnen enkele minuten je eerste aanroep.

Vraag je API-sleutel aan