API de programmationAPI

Programmez une publication avec un seul champ

Envoyez le même corps que pour une publication immédiate, ajoutez un horodatage schedule_at, et FoPost la garde en file jusque-là. Tout reste modifiable jusqu'au moment de l'envoi, et la diffusion est indiquée par compte.

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-...",
    "status": "scheduled",
    "schedule_at": "2026-09-01T09:00:00Z",
    "content": [{ "text": "Webhook retries are live. Read the changelog." }],
    "accounts": ["4a71d80b-...", "c30e9f12-..."]
  }'

Un seul horodatage

N'importe quelle heure ISO 8601 à venir. La file la prend en charge et publie à l'heure prévue.

Modifiable jusqu'à l'envoi

Utilisez PUT sur le texte, les médias, les comptes ou l'heure de tout ce qui est encore en file.

Diffusion par compte

Une fois la publication envoyée, chaque compte indique son propre statut et son permalien.

File de publication

Planifiez une semaine de publications en un seul script

Parcourez votre contenu, choisissez une heure pour chaque élément et créez les publications. La file s'exécute dans FoPost : votre propre processus peut donc s'arrêter dès que la requête a répondu. Listez les publications programmées à tout moment pour voir ce qui arrive.

Lire la référence des publications
GET /v1/posts?status=scheduled
curl "https://api.fopost.com/v1/posts?workspace_id=9b2f6c1e-...&status=scheduled" \
  -H "X-API-Key: $API_KEY"

{
  "data": [
    { "id": "7d3e0a52-...", "status": "scheduled", "schedule_at": "2026-09-01T09:00:00Z", "accounts": [{ "id": "4a71d80b-...", "platform": "linkedin", "publish_status": "pending" }] },
    { "id": "8e4f1b63-...", "status": "scheduled", "schedule_at": "2026-09-02T09:00:00Z", "accounts": [{ "id": "c30e9f12-...", "platform": "twitter", "publish_status": "pending" }] }
  ],
  "meta": { "page": 1, "per_page": 30, "total": 2, "total_pages": 1 }
}

Filtrer par statut

Listez les brouillons, les publications programmées, publiées ou en échec avec un seul paramètre de requête.

Libellés

Étiquetez chaque publication par campagne et filtrez la file par libellé.

Par espace de travail

Une clé voit un seul espace de travail : la file d'un client ne se mélange jamais à celle d'un autre.

Ajuster

Déplacez, réécrivez ou annulez avant l'envoi

Les plans changent. Utilisez PUT sur une publication programmée pour changer son heure, son texte, ses médias ou ses comptes cibles. Annulez-la : elle est marquée comme annulée et n'est jamais diffusée. Ou supprimez-la définitivement. Rien n'est verrouillé tant que la file ne l'a pas prise en charge.

Voir l'endpoint PUT
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 '{ "schedule_at": "2026-09-01T14:00:00Z" }'

Reprogrammer

Modifiez schedule_at et la file déplace la publication à la nouvelle heure.

Remplacer le contenu

Remplacez le tableau de contenu ou les identifiants de médias d'une publication en file.

Annuler ou supprimer

Retirez une publication de la file sans toucher au reste.

Confirmer

Sachez quand la publication est arrivée, sans interroger l'API

À l'heure prévue, la publication se décline en une diffusion par compte. Enregistrez un webhook et delivery.published ou delivery.failed se déclenche pour chacune, ou interrogez l'endpoint des diffusions si vous préférez un modèle pull.

Commencer à développer
Un mois de publications programmées dans le calendrier de publication

Webhook à la fin de la diffusion

delivery.published transmet l'identifiant de la publication, le compte et le permalien.

Nouvelles tentatives

Les erreurs réseau temporaires sont retentées avec backoff avant de signaler un échec.

Statistiques ensuite

Une fois en ligne, le même identifiant de publication permet de lire les impressions et l'engagement via l'API Analytics.

API de programmation : vos questions, nos réponses

Jusqu'à quand puis-je programmer ?

Aussi loin que vous le souhaitez. Tout horodatage ISO 8601 à venir est accepté, et la file garde la publication jusque-là.

Quel fuseau horaire utilise schedule_at ?

Envoyez un horodatage ISO 8601 en UTC, terminé par Z. La valeur envoyée est celle qui s'applique ; aucune conversion n'est faite sur le serveur.

Puis-je modifier une publication après l'avoir programmée ?

Oui. Utilisez PUT sur n'importe quel champ, y compris l'heure, tant que la publication n'est pas partie. Une fois publiée, les modifications s'appliquent à l'enregistrement, et vous utilisez delete pour la retirer d'un réseau.

Que se passe-t-il si mon serveur est en panne à l'heure de publication ?

Rien ne change. La file s'exécute dans FoPost, et non sur votre infrastructure : la publication part, que votre processus tourne ou non.

Puis-je programmer pour une partie des comptes ?

Oui. Le tableau accounts est la liste cible. Incluez uniquement les comptes qui doivent recevoir la publication : chacun obtient son propre enregistrement de diffusion.

Y a-t-il une limite de débit ?

Oui, 100 requêtes par minute et par clé. Programmer une semaine de publications en un seul script y tient largement.

Développez avec API de programmation dès aujourd'hui

Le démarrage est gratuit et l'API complète est incluse. Créez une clé et faites votre premier appel en quelques minutes.

Obtenir votre clé API