
Configuración rápida
Instale el paquete con npm, cree un enrutador y estará listo para recibir artículos en minutos. Funciona con Express y cualquier marco Node.js.
Idioma

Conecte Monok a su CMS personalizado, aplicación Express o cualquier backend de Node.js. Reciba artículos como borradores a través de nuestra sencilla API.
Contenido entregado a


























El paquete @monok/server facilita la conexión de su backend a Monok. Instale a través de npm, configure su punto final y comience a recibir contenido automáticamente.

Instale el paquete con npm, cree un enrutador y estará listo para recibir artículos en minutos. Funciona con Express y cualquier marco Node.js.
Aquí encontrará todo lo que necesita para integrar Monok con su aplicación Express:
Install the package
1npm install @monok/server expressCreate 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 CMS15 } else {16 // save as draft (default)17 }18 }19 })20);21 22app.listen(3000);Add your endpoint URL to Monok settings: https://yoursite.com/monok

El paquete @monok/server configura automáticamente estos puntos finales para la comunicación con Monok
/monok/push?action=draft|publishMonok envía datos de nuevos artículos a este punto final. El artículo es procesado por su devolución de llamada onArticle.
token: <tu-clave-api>action— Establecer en borrador o publicar según la selección del usuario en Monok GUI/monok/info?apikey=<your-api-key>Monok recupera la información de su sitio para conocer su marca, categorías, etiquetas y autores. Esto ayuda a proporcionar mejores recomendaciones de contenido.
apikey— Su clave API de Monok para autenticacióngetSiteInfogetSiteInfoComprender la carga útil JSON que recibirá de Monok
Los artículos se envían como objetos JSON con la siguiente estructura.
| Field | Type | Description |
|---|---|---|
title | String | El título del artículo. |
shortTitle | String | Un título más corto para metaetiquetas, precarga Yoast/RankMath |
description | String | Meta descripción para SEO, precarga Yoast/RankMath |
content | String | El artículo como HTML listo para WordPress |
text | String | El artículo en Markdown con widgets JSON. |
slug | String | Barra de URL generada a partir del título, precompleta Yoast/RankMath |
id | String | Unique ID, accessible at monok.com/puff/ID |
thumbImageData | String | Imagen destacada como PNG codificado en base64 |
thumbImageDescription | String | Texto alternativo para la imagen destacada |
language | String | Idioma/localización de destino (por ejemplo, "fr", "fr-ca") |
type | String | "blog" o "noticias" |
keywords | [String] | Matriz de palabras clave SEO |
tags | [String] | Conjunto de etiquetas de artículos |
vfImage | Object | Metadatos detallados de las imágenes destacadas |
sections | String | Nombre de categoría del artículo. |
El campo text contiene Markdown con widgets JSON integrados para medios enriquecidos como tuits, publicaciones de Instagram, vídeos de YouTube y citas.
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}Divide el texto en líneas nuevas (\n) y comprueba si cada línea es Markdown o JSON. Convierte Markdown a HTML con una biblioteca como Drawdown (~4 KB).
Para Twitter/YouTube, inserte el campo URL directamente: WordPress reconoce las incrustaciones. Para Instagram, utilice un iframe. O simplemente utilice el campo content para HTML ya preparado.
Para la mayoría de las integraciones (WordPress, Strapi, etc.), utiliza el campo content, que proporciona HTML listo para WordPress. Es más sencillo que procesar Markdown y los widgets JSON por separado.
Informe a Monok dónde se publican sus artículos para habilitar campañas en las redes sociales y mejorar la interconexión para contenido futuro.
Ejemplo de enlace de retorno
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/" + imageFile9});Comparta automáticamente artículos publicados en plataformas de redes sociales cuando Monok reciba el enlace
Monok aprende la estructura de su contenido publicado y sugiere mejores enlaces internos para futuros artículos.
Realice un seguimiento del rendimiento de sus artículos y obtenga información sobre las métricas de participación en todo su contenido.
Simplemente llame a sendMonokLinkback() después de la publicación; Monok se encarga del resto.
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 MonokArticle6} from "@monok/server";7 8const app = express();9 10app.use(11 "/monok",12 createMonokRouter({13 apiKey: process.env.MONOK_API_KEY!,14 imageDir: "./uploads", // optional15 // Optional: provide site info if you want Monok to query it16 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 immediately40 } else {41 // save as draft42 }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: imagePath51 // ? "https://example.com/uploads/" + require("path").basename(imagePath)52 // : undefined53 // });54 }55 })56);57 58app.listen(3000);Monok learns your existing categories and automatically assigns articles to the most relevant ones based on content analysis.
Provide your author list so Monok can suggest or assign the appropriate author to each article based on topic and expertise.
Monok uses your existing tag taxonomy to suggest relevant tags for each article, maintaining consistency across your content.
Share your site name and logo with Monok to ensure all generated content aligns with your brand identity and guidelines.
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.




























Instale @monok/server a través de npm. Cree un punto final POST que reciba datos del artículo de Monok. Guarda imágenes automáticamente. Publicar inmediatamente o como borradores. Envíe enlaces de retorno cuando el contenido se publique. Eso es todo: Monok se encarga del resto.
Problemas comunes y cómo resolverlos
Muchos servidores limitan la cantidad de datos que puede enviarles. Cuando se envía un campo thumbImageData, puede exceder ese límite, generando un error 413 Payload Too Large.
Solution:
Asegúrese de que su valor de Nginx para client_max_body_size sea mayor que 5 MB.
En algunos casos, los sitios web han limitado las llamadas POST y GET al restringir los puntos finales a través de Nginx.
Abra los siguientes puntos finales:
website.com/wp-json/monok/* (para WordPress)website.com/monok/* (para integración API)El comodín está ahí porque hay dos caminos: las configuraciones de Nginx entienden los comodines.
Si su configuración de Nginx restringe las direcciones IP, deberá incluir el servidor de Monok en la lista blanca.
Solution:
Ábrelo para esta dirección: 51.158.177.191
Lo que dicen nuestros clientes

Trabajar con Monok es una de las cosas más innovadoras que hemos hecho como empresa y definitivamente es un punto de inflexión para nosotros. ¡Monok es nuestra arma secreta y el futuro!
Ivan Mackenzie
Jefe de, Plumjobs

Trabajar con Monok ha sido una de nuestras mejores experiencias con un proveedor de servicios. La hoja de ruta de productos de Monok predice consistentemente las necesidades del mercado.
Matt Kovelan
Fundador, SportsWriters

Monok nos permite escalar contenido alineado con SEO sin agregar gastos internos. Los artículos son de marca, comercialmente interesantes y están diseñados para respaldar nuestros embudos de adquisición pagados, convirtiendo el tráfico en un crecimiento de clientes mensurable.
Alexander Westerlund
Fundador, PPCjuice

Trabajar con Monok ha fortalecido la forma en que publicamos en mobilen.nu. Lo que destaca no es sólo la velocidad, sino la verdadera nativización, el contenido no parece traducido, parece escrito para una audiencia sueca desde el principio.
Joel Carlsson
Fundador, mobilen.nu
¡Creo que es muy bueno! Lo usé para mi SaaS respaldado por Ventura en chino, el idioma era muy bueno.
Xunzhu Tang, PhD
Fundador, NoahCode

Trabajar con Monok es una de las cosas más innovadoras que hemos hecho como empresa y definitivamente es un punto de inflexión para nosotros. ¡Monok es nuestra arma secreta y el futuro!
Ivan Mackenzie
Jefe de, Plumjobs

Trabajar con Monok ha sido una de nuestras mejores experiencias con un proveedor de servicios. La hoja de ruta de productos de Monok predice consistentemente las necesidades del mercado.
Matt Kovelan
Fundador, SportsWriters

Monok nos permite escalar contenido alineado con SEO sin agregar gastos internos. Los artículos son de marca, comercialmente interesantes y están diseñados para respaldar nuestros embudos de adquisición pagados, convirtiendo el tráfico en un crecimiento de clientes mensurable.
Alexander Westerlund
Fundador, PPCjuice

Trabajar con Monok ha fortalecido la forma en que publicamos en mobilen.nu. Lo que destaca no es sólo la velocidad, sino la verdadera nativización, el contenido no parece traducido, parece escrito para una audiencia sueca desde el principio.
Joel Carlsson
Fundador, mobilen.nu
¡Creo que es muy bueno! Lo usé para mi SaaS respaldado por Ventura en chino, el idioma era muy bueno.
Xunzhu Tang, PhD
Fundador, NoahCode
Cubra temas que van más allá de su dominio de conocimientos en volumen bajo o alto.
Precios
Cada nivel mantiene su producción flexible. Haz una pausa cuando lo necesites y paga solo por las historias que entregamos.
Moneda
Actualizando tarifas en vivo...
Básico

Motor de arranque

Costumbre

FAQ
@monok/server es un paquete de Node.js que proporciona middleware Express para recibir artículos de Monok. Maneja la autenticación, el almacenamiento de imágenes y proporciona ayudas para la publicación y notificaciones de enlaces.
Sí, un desarrollador deberá configurar la integración inicial. Sin embargo, el paquete @monok/server lo hace sencillo: simplemente instálelo a través de npm, configure su clave API y defina cómo manejar los artículos entrantes.
Dos puntos finales principales: POST /monok/push recibe datos del artículo (con el parámetro de consulta ?action=draft o ?action=publish opcional) y GET /monok/info devuelve la información de su sitio si está configurado (categorías, etiquetas, autores).
Las imágenes en miniatura de los artículos se envían como datos base64. Utilice el asistente saveThumbImage() proporcionado en la devolución de llamada onArticle para guardarlos automáticamente en el directorio imageDir de su servidor.
Sí. Pase una opción imageDir a createMonokRouter() para especificar dónde se deben almacenar las imágenes. De forma predeterminada, las imágenes se guardan en './uploads'.
Un enlace de retorno notifica a Monok cuando se publica un artículo en su sitio. Utilice sendMonokLinkback() para enviar la URL pública, el título y la miniatura. Esto ayuda a Monok a realizar un seguimiento del rendimiento y proporcionar análisis.
¡Sí! El paquete incluye declaraciones TypeScript integradas. Obtiene autocompletar completo y verificación de tipos para objetos de artículos, opciones de configuración y funciones auxiliares.
Actualmente @monok/server está diseñado para Express. Sin embargo, puede adaptar el concepto a otros marcos creando puntos finales POST y GET similares que coincidan con la especificación API.
Su clave API de Monok está disponible en la configuración de su cuenta. Guárdelo de forma segura en variables de entorno (como Process.env.MONOK_API_KEY) y nunca lo envíe al control de versiones.
El objeto del artículo incluye: identificación, título, texto (contenido HTML), slug, etiquetas, categoría, información del autor, datos de imágenes en miniatura, idioma y otros metadatos. Los tipos completos de TypeScript están disponibles en el paquete.
No. La integración API está incluida con tu suscripción a Monok sin cargo adicional. El paquete @monok/server es gratuito y de código abierto.
Sí. Ejecute su aplicación Express localmente y use una herramienta como ngrok para exponerla a Internet temporalmente. Agregue la URL de ngrok a su configuración de Monok para realizar pruebas.