Automatisez la livraison de contenu par API

Connectez Monok à votre CMS personnalisé, votre application Express ou tout backend Node.js. Recevez des articles sous forme de brouillons via notre API simple à intégrer.

Contenu livré à

Une API puissante pour une intégration fluide

Le package @monok/server simplifie la connexion de votre backend à Monok. Installez-le via npm, configurez votre endpoint et recevez du contenu automatiquement.

Configuration rapide avec npm

Configuration rapide

Installez le package avec npm, créez un routeur et recevez des articles en quelques minutes. Compatible avec Express et les frameworks Node.js.

Démarrez en trois étapes

Tout ce qu'il vous faut pour intégrer Monok à votre application Express :

1. Install the package

Install the package

1npm install @monok/server express

2. Create the router

Create the router

1import express from "express";
2import { createMonokRouter } from "@monok/server";
3
4const app = express();
5
6app.use(
7 "/monok",
8 createMonokRouter({
9 apiKey: process.env.MONOK_API_KEY!,
10 onArticle: async (article, { saveThumbImage, action }) => {
11 const imagePath = await saveThumbImage();
12
13 if (action === "publish") {
14 // publish immediately in your CMS
15 } else {
16 // save as draft (default)
17 }
18 }
19 })
20);
21
22app.listen(3000);

3. Configure your webhook

Add your endpoint URL to Monok settings: https://yoursite.com/monok

Configure webhook in Monok settings

Endpoints de l'API

Le package @monok/server configure automatiquement ces endpoints pour communiquer avec Monok

POST
/monok/push?action=draft|publish

Monok envoie les nouveaux articles à cet endpoint. Votre callback onArticle traite chaque article.

En-tête :token: <your-api-key>
Corps :Données JSON contenant l'article
Paramètre de requête :action— Définissez draft ou publish selon le choix de l'utilisateur dans l'interface Monok
GET
/monok/info?apikey=<your-api-key>

Monok récupère les informations de votre site pour connaître votre identité de marque, vos catégories, vos tags et vos auteurs, afin de mieux recommander du contenu.

Paramètre de requête :apikey— Votre clé API Monok pour l'authentification
Configuration :Nécessite de configurer le callback getSiteInfo
Réponse :Renvoie 404 si getSiteInfo n'est pas fourni

Structure des données d'un article

Comprendre les données JSON envoyées par Monok

Champs du corps POST

Les articles sont envoyés sous forme d'objets JSON avec la structure suivante

FieldTypeDescription
titleStringTitre de l'article
shortTitleStringTitre court pour les balises meta, préremplit Yoast/RankMath
descriptionStringMéta-description SEO, préremplit Yoast/RankMath
contentStringArticle au format HTML prêt pour WordPress
textStringArticle en Markdown avec des widgets JSON
slugStringSlug d'URL généré à partir du titre, préremplit Yoast/RankMath
idStringIdentifiant unique, accessible sur monok.com/puff/ID
thumbImageDataStringImage à la une au format PNG encodé en base64
thumbImageDescriptionStringTexte alternatif de l'image à la une
languageStringLangue/locale cible (par ex. "fr", "fr-ca")
typeString"blog" ou "news"
keywords[String]Tableau de mots-clés SEO
tags[String]Tableau des tags de l'article
vfImageObjectMétadonnées détaillées de l'image à la une
sectionsStringNom de la catégorie de l'article

Format du texte de l'article

Le champ text contient du Markdown avec des widgets JSON intégrés pour les tweets, publications Instagram, vidéos YouTube et citations.

Exemple : widget de tweet intégré

JSON Widget in Article Text

1{
2 "data": [
3 {
4 "name": "Phil Spencer",
5 "text": "Had good calls this week with leaders at Sony..."
6 }
7 ],
8 "id": "1484273335139651585",
9 "type": "twitter",
10 "url": "https://twitter.com/XboxP3/status/1484273335139651585",
11 "username": "XboxP3"
12}

Traitement du Markdown

Séparez le texte aux sauts de ligne (\n) et vérifiez si chaque ligne contient du Markdown ou du JSON. Convertissez le Markdown en HTML avec une bibliothèque comme Drawdown (~4 Ko).

Gestion des widgets JSON

Pour Twitter/YouTube, insérez directement le champ URL : WordPress reconnaît ces contenus intégrés. Pour Instagram, utilisez une iframe. Vous pouvez aussi utiliser le champ content pour obtenir du HTML prêt à l'emploi.

Approche recommandée

Pour la plupart des intégrations (WordPress, Strapi, etc.), utilisez le champ content qui fournit du HTML prêt pour WordPress. C'est plus simple que d'analyser vous-même le Markdown et les widgets JSON.

Facultatif, mais vivement recommandé

Envoyez le lien après publication

Indiquez à Monok où vos articles sont publiés pour activer les campagnes sur les réseaux sociaux et améliorer les liens internes des futurs contenus

Exemple de notification de publication

1import { sendMonokLinkback } from "@monok/server";
2
3await sendMonokLinkback({
4 monokId: article.id,
5 publicUrl: "https://example.com/blog/" + (article.slug ?? article.id),
6 title: article.title,
7 articleTextSample: article.text?.slice(0, 500),
8 thumbnailUrl: "https://example.com/uploads/" + imageFile
9});

Lancez des campagnes sociales

Partagez automatiquement les articles publiés sur les réseaux sociaux lorsque Monok reçoit leur lien

Des liens internes plus pertinents

Monok apprend la structure de vos contenus publiés et propose de meilleurs liens internes pour vos futurs articles

Analyse des performances

Suivez les résultats de vos articles et consultez les indicateurs d'engagement de vos contenus

Intégration facile

Appelez simplement sendMonokLinkback() après publication : Monok s'occupe du reste

Advanced Configuration

Enhanced Integration with Site Info

Provide your site information to Monok for better content matching. Monok will automatically align categories, authors, and tags with your existing structure.

Advanced Setup with Site Info

1import express from "express";
2import {
3 createMonokRouter,
4 sendMonokLinkback,
5 type MonokArticle
6} from "@monok/server";
7
8const app = express();
9
10app.use(
11 "/monok",
12 createMonokRouter({
13 apiKey: process.env.MONOK_API_KEY!,
14 imageDir: "./uploads", // optional
15 // Optional: provide site info if you want Monok to query it
16 getSiteInfo: {
17 js_scripts: "Enabled",
18 version: "1.0.0",
19 name: "My Site",
20 logo: "https://example.com/logo.png",
21 categories: ["Content", "News Articles", "Uncategorized"],
22 post_types: ["post", "page"],
23 tags: ["Tech", "Health", "News"],
24 authors: [
25 {
26 name: "Jane Doe",
27 profile: "Editor-in-chief",
28 id: "1",
29 avatar: "https://example.com/avatars/jane.png",
30 roles: ["administrator"]
31 }
32 ]
33 },
34 onArticle: async (article: MonokArticle, { saveThumbImage, action }) => {
35 const imagePath = await saveThumbImage();
36 console.log("Received article:", article.title);
37
38 if (action === "publish") {
39 // publish immediately
40 } else {
41 // save as draft
42 }
43
44 // when you publish later, notify Monok:
45 // await sendMonokLinkback({
46 // monokId: article.id,
47 // publicUrl: "https://example.com/blog/" + (article.slug ?? article.id),
48 // title: article.title,
49 // articleTextSample: article.text?.slice(0, 500),
50 // thumbnailUrl: imagePath
51 // ? "https://example.com/uploads/" + require("path").basename(imagePath)
52 // : undefined
53 // });
54 }
55 })
56);
57
58app.listen(3000);

Automatic Category Matching

Monok learns your existing categories and automatically assigns articles to the most relevant ones based on content analysis.

Author Attribution

Provide your author list so Monok can suggest or assign the appropriate author to each article based on topic and expertise.

Smart Tag Suggestions

Monok uses your existing tag taxonomy to suggest relevant tags for each article, maintaining consistency across your content.

Branding Integration

Share your site name and logo with Monok to ensure all generated content aligns with your brand identity and guidelines.

Optional but Highly Recommended

The getSiteInfo configuration is entirely optional. However, providing this information significantly improves content quality and relevance by allowing Monok to understand your site's structure and existing content organization.

Un flux simple, des résultats concrets

Installez @monok/server via npm. Créez un endpoint POST pour recevoir les articles de Monok. Enregistrez les images automatiquement. Publiez immédiatement ou enregistrez des brouillons. Envoyez une notification de publication avec le lien de l'article. Monok s'occupe du reste.

Dépannage

Les problèmes courants et leurs solutions

Erreur 413 Payload Too Large

De nombreux serveurs limitent la quantité de données reçues. Le champ thumbImageData peut dépasser cette limite et provoquer une erreur 413 Payload Too Large.

Solution:

Vérifiez que la valeur Nginx de client_max_body_size est supérieure à 5 Mo.

Restrictions des endpoints

Certains sites limitent les appels POST et GET en restreignant l'accès aux endpoints dans Nginx.

Autorisez les endpoints suivants :

  • • website.com/wp-json/monok/* (pour WordPress)
  • • website.com/monok/* (pour l'intégration API)

Le caractère générique couvre les deux chemins ; adaptez votre configuration Nginx en conséquence.

Restrictions des adresses IP

Si votre configuration Nginx restreint les adresses IP, autorisez le serveur de Monok.

Solution:

Autorisez cette adresse : 51.158.177.191

Ce que disent nos clients

Je pense que c'est très bon ! Je l'ai utilisé pour ma SaaS en chinois, la langue était excellente

Xunzhu Tang, PhD

Xunzhu Tang, PhD

Fondateur, NoahCode

Plumjobs

Travailler avec Monok est l'une des choses les plus innovantes qu'on ait faites et c'est clairement un game changer pour nous. Monok est notre arme secrète et l'avenir !

Ivan Mackenzie

Ivan Mackenzie

Responsable, Plumjobs

SportsWriters

Travailler avec Monok a été l'une de nos meilleures expériences avec un fournisseur. La roadmap de Monok anticipe constamment les besoins du marché.

Matt Kovelan

Matt Kovelan

Fondateur, SportsWriters

Monok s'est avéré être le partenaire idéal et, d'un coup, nous a propulsés des années en avance et a transformé radicalement la flexibilité de notre offre client.

Michael Davids

Michael Davids

CEO, Splendor

Je pense que c'est très bon ! Je l'ai utilisé pour ma SaaS en chinois, la langue était excellente

Xunzhu Tang, PhD

Xunzhu Tang, PhD

Fondateur, NoahCode

Plumjobs

Travailler avec Monok est l'une des choses les plus innovantes qu'on ait faites et c'est clairement un game changer pour nous. Monok est notre arme secrète et l'avenir !

Ivan Mackenzie

Ivan Mackenzie

Responsable, Plumjobs

SportsWriters

Travailler avec Monok a été l'une de nos meilleures expériences avec un fournisseur. La roadmap de Monok anticipe constamment les besoins du marché.

Matt Kovelan

Matt Kovelan

Fondateur, SportsWriters

Monok s'est avéré être le partenaire idéal et, d'un coup, nous a propulsés des années en avance et a transformé radicalement la flexibilité de notre offre client.

Michael Davids

Michael Davids

CEO, Splendor

Featured in

N'importe quel sujet à l'échelle

Couvrez des sujets au-delà de votre domaine, à faible ou haut volume.

Cover 1
Actualités locales
Cover 2
Bien-être & Santé
Cover 3
Actualités Finance
Cover 4
Actualités Sport
Cover 5
Immobilier
Cover 6
Fitness & Performance
Cover 7
Culture & Lifestyle
Cover 8
Crypto & Blockchain

Tarifs

Des plans qui évoluent avec vos ambitions éditoriales

Chaque formule garde votre production flexible. Mettez en pause quand vous voulez et payez seulement les contenus livrés.

Devise

Mise à jour des taux…

Basic

Paper plane preparing for takeoff
5 €/mois
  • Un article rédigé par des humains
  • Marketing social média pour chaque article
  • Pause à tout moment — payez seulement le travail livré
Idéal pour tester Monok avec production mensuelle.

Starter

Paper plane climbing in altitude
20 €/mois
  • Deux articles humains par semaine, un court et un long
  • Marketing social média pour chaque article
  • Pause à tout moment — payez seulement le travail livré
Parfait pour remplacer les freelances par un workflow fiable.

Sur mesure

Paper plane in formation
Vous choisissez volume, longueur et fréquence/mensuel • par article
  • Choisissez nombre de mots, mix vertical et rythme de livraison
  • Vous décidez quantité et longueur de chaque article
  • Pause à tout moment — payez seulement le travail livré
Contrôle total — démarrez ou pausez vos flux de contenu quand vous voulez

Questions fréquentes

Questions fréquentes sur l'intégration API

@monok/server est un package Node.js qui fournit un middleware Express pour recevoir les articles de Monok. Il gère l'authentification, le stockage des images et propose des fonctions de publication et de notification avec le lien de l'article.

Oui, un développeur doit mettre en place l'intégration initiale. Le package @monok/server simplifie cette tâche : installez-le via npm, configurez votre clé API et définissez le traitement des articles reçus.

Deux endpoints principaux : POST /monok/push reçoit les articles (avec le paramètre facultatif ?action=draft ou ?action=publish), et GET /monok/info renvoie les informations du site si elles sont configurées (catégories, tags, auteurs).

Les images à la une sont envoyées en base64. Utilisez la fonction saveThumbImage() du callback onArticle pour les enregistrer automatiquement dans le répertoire imageDir de votre serveur.

Oui. Passez l'option imageDir à createMonokRouter() pour définir le dossier de stockage. Par défaut, les images sont enregistrées dans './uploads'.

Elle informe Monok lorsqu'un article est publié sur votre site. Utilisez sendMonokLinkback() pour envoyer son URL publique, son titre et son image à la une. Monok peut ainsi suivre ses performances et fournir des statistiques.

Oui ! Le package inclut des déclarations TypeScript. Vous bénéficiez de l'autocomplétion et de la vérification des types pour les articles, les options de configuration et les fonctions utilitaires.

Actuellement, @monok/server est conçu pour Express. Vous pouvez adapter le principe à d'autres frameworks en créant des endpoints POST et GET conformes à la spécification de l'API.

Votre clé API Monok se trouve dans les paramètres de votre compte. Conservez-la dans des variables d'environnement (comme process.env.MONOK_API_KEY) et ne l'ajoutez jamais au contrôle de version.

L'objet article contient id, title, text, content (HTML), slug, les tags, la catégorie, les informations sur l'auteur, les données de l'image, la langue et d'autres métadonnées. Les types TypeScript complets sont disponibles dans le package.

Non. Elle est incluse dans votre abonnement Monok sans frais supplémentaires. Le package @monok/server est gratuit et open source.

Oui. Lancez votre application Express en local et utilisez un outil comme ngrok pour l'exposer temporairement sur Internet. Ajoutez l'URL ngrok dans les paramètres Monok pour vos tests.

Commencez l'intégration dès aujourd'hui

Connectez Monok à votre plateforme en quelques minutes avec notre API.