Ocoya
Développeurs

Publiez vers tout ce qui vous appartient.

Une destination personnalisée, c’est un réseau qu’Ocoya n’a pas besoin de connaître. Donnez-lui une URL et elle reçoit votre contenu final en JSON — comme une publication part sur Instagram, sauf que l’autre bout vous appartient.

POST https://yoursite.com/api/posts 200 OK
Votre publication
Votre endpoint
Votre blogVotre CMSUn catch hook ZapierUne file interne
À quoi ça sert

La destination pour tout le reste.

L’essentiel de ce qu’on publie part vers un réseau avec un logo. Ceci est pour tout le reste.

Votre propre blog

Les articles rédigés dans Ocoya arrivent dans le CMS que vous utilisez déjà — Ghost, Strapi, Sanity, ou un outil maison.

Un réseau que nous ne prenons pas en charge

Récupérez la publication et transmettez-la vous-même. Tout ce qui a une API est accessible depuis votre propre code.

Votre propre étape de validation

Envoyez le contenu publié vers une file de relecture, un canal Slack ou un tableur avant qu’il aille ailleurs.

Vos propres archives

Gardez une copie de tout ce qui est publié, dans votre entrepôt de données, sans interroger une API en boucle.

La connexion

Une URL, un nom, et en général un en-tête.

Pas de ballet OAuth, puisque les deux bouts vous appartiennent. Collez l’adresse, ajoutez l’en-tête avec lequel votre endpoint s’authentifie, et la destination apparaît dans l’éditeur à côté de vos profils sociaux.

  • N’importe quelle URL qui accepte un POST et répond 2xx
  • Des en-têtes pour le mode d’authentification de votre endpoint
  • Apparaît dans l’éditeur comme n’importe quel autre profil

Connecter une destination personnalisée

Nom

Mon blog

URL du webhook

https://yoursite.com/api/posts

Options avancées

Authorization
Bearer ••••••••
Connecter la destination
Étape par étape

Quatre étapes, et aucune ne demande une semaine de développement.

01

Prévoyez un point de réception

N’importe quelle URL qui accepte un POST avec un corps JSON et répond 2xx. Elle doit être accessible depuis Internet — Ocoya l’appelle depuis nos serveurs, pas depuis votre navigateur.

02

Ajoutez la destination

Intégrations → Personnalisée. Donnez-lui un nom que vous reconnaîtrez dans l’éditeur, et collez l’URL.

03

Ajoutez un en-tête, si besoin

Dans Options avancées, ajoutez l’en-tête avec lequel votre endpoint s’authentifie — en général Authorization ou X-API-Key. Il est stocké chiffré et n’est jamais renvoyé au navigateur.

04

Publiez-y comme sur un réseau

Elle apparaît dans l’éditeur à côté de vos profils sociaux. Programmez une publication, ou pointez une campagne de blog dessus, et elle reçoit tout ce que l’éditeur a enregistré.

Le payload

Un seul POST, avec juste ce dont un blog a besoin.

Le corps est en JSON : le titre, la légende telle que rédigée — en Markdown s’il s’agit d’un article —, une image de couverture, et le slug, l’extrait, les tags et les champs SEO de l’article quand il en a. Rien d’autre, donc rien à ignorer.

  • Content-Type: application/json, plus les en-têtes que vous avez ajoutés
  • caption est le corps tel que rédigé ; title et image sont séparés
  • post.id reste identique d’une tentative à l’autre : vous pouvez mettre à jour au lieu de dupliquer

Répondez avec un 2xx et Ocoya marque la publication comme publiée. Toute autre réponse vous est affichée, avec le corps renvoyé par votre endpoint.

corps de la requête
{
"event": "post.published",
"publishedAt": "2026-09-22T09:00:00.000Z",
"post": {
"id": "…",
"title": "Why your content is not converting",
"caption": "## The three pillars\n\n…",
"image": "https://…/cover.png",
"options": { "slug": "…", "excerpt": "…", "seoTitle": "…", "tags": […] }
}
}

Chaque champ, avec son type

Le slug, l’extrait, les champs SEO, les tags et le temps de lecture d’un article — ce que représente chacun, et lesquels une publication sociale omet.

Lire la référence du payload
Sécurité

C’est votre endpoint, appelé avec soin.

Une destination est une adresse à laquelle nous nous connectons depuis notre propre réseau, elle est donc traitée comme telle.

Les adresses privées et internes sont refusées, et la connexion reste liée à l’adresse résolue.

Une redirection n’est suivie qu’après que la nouvelle adresse a passé le même contrôle.

Vos en-têtes sont stockés chiffrés et jamais renvoyés au navigateur.

Tout ce que répond votre endpoint s’affiche dans le journal d’activité, corps compris.

Publiez-le là où il doit aller.

Connectez une destination en une minute et pointez-y votre prochaine campagne.