تسليم المحتوى تلقائيًا باستخدام واجهة برمجة التطبيقات (API).

قم بتوصيل Monok بنظام إدارة المحتوى (CMS) المخصص لديك، أو تطبيق Express، أو أي واجهة خلفية لـ Node.js. احصل على المقالات كمسودات عبر واجهة برمجة التطبيقات البسيطة الخاصة بنا.

تم تسليم المحتوى إلى

واجهة برمجة تطبيقات قوية للتكامل السلس

تسهل الحزمة @monok/server توصيل الواجهة الخلفية بـ Monok. قم بالتثبيت عبر npm، وقم بتكوين نقطة النهاية الخاصة بك، وابدأ في تلقي المحتوى تلقائيًا.

الإعداد السريع مع npm

الإعداد السريع

قم بتثبيت الحزمة باستخدام npm، وقم بإنشاء جهاز توجيه، وستكون جاهزًا لتلقي المقالات في دقائق. يعمل مع Express وأي إطار عمل Node.js.

ابدأ في 3 خطوات

إليك كل ما تحتاجه لدمج Monok مع تطبيق 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

نقاط نهاية API

تقوم الحزمة @monok/server تلقائيًا بإعداد نقاط النهاية هذه للتواصل مع Monok

POST
/monok/push?action=draft|publish

يرسل Monok بيانات المقالة الجديدة إلى نقطة النهاية هذه. وتُعالج المقالة عبر دالة رد الاتصال onArticle.

رأس:الرمز المميز: <your-api-key>
جسم:حمولة JSON تحتوي على بيانات المقالة
معلمة الاستعلام:action- اضبط على draft أو publish بناءً على اختيار المستخدم في Monok GUI
GET
/monok/info?apikey=<your-api-key>

يقوم Monok بجلب معلومات موقعك للتعرف على علامتك التجارية والفئات والعلامات والمؤلفين. وهذا يساعد على تقديم توصيات محتوى أفضل.

معلمة الاستعلام:apikey— مفتاح Monok API الخاص بك للمصادقة
إعدادات:يتطلب getSiteInfo تكوين رد الاتصال
إجابة:إرجاع 404 إذا لم يتم توفير getSiteInfo

بنية بيانات المقالة

فهم حمولة JSON التي ستتلقاها من Monok

حقول جسم الطلب

يتم إرسال المقالات ككائنات JSON بالبنية التالية

FieldTypeDescription
titleStringعنوان المقال
shortTitleStringعنوان أقصر للعلامات الوصفية، يملأ Yoast/RankMath مسبقًا
descriptionStringالوصف التعريفي لتحسين محركات البحث، والتعبئة المسبقة لـ Yoast/RankMath
contentStringالمقالة بتنسيق HTML جاهز لـ WordPress
textStringالمقالة بصيغة Markdown مع عناصر JSON
slugStringالارتباط الثابت لعنوان URL الذي تم إنشاؤه من العنوان، يملأ مسبقًا Yoast/RankMath
idStringمعرف فريد، يمكن الوصول إليه على monok.com/puff/ID
thumbImageDataStringصورة مميزة بتنسيق PNG بترميز base64
thumbImageDescriptionStringنص بديل للصورة المميزة
languageStringاللغة/اللغة المستهدفة (على سبيل المثال، "fr"، "fr-ca")
typeString"مدونة" أو "أخبار"
keywords[String]مصفوفة من كلمات تحسين محركات البحث
tags[String]مجموعة من علامات المقالة
vfImageObjectالبيانات الوصفية التفصيلية المميزة للصورة
sectionsStringاسم الفئة للمقالة

تنسيق نص المقالة

يحتوي الحقل text على Markdown مع عناصر JSON مضمّنة للوسائط الغنية مثل التغريدات ومنشورات Instagram ومقاطع فيديو YouTube والاقتباسات.

مثال: أداة التغريدة المضمنة

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}

معالجة Markdown

قسّم النص إلى أسطر جديدة (\n) وتحقق مما إذا كان كل سطر Markdown أو JSON. حوّل Markdown إلى HTML باستخدام مكتبة مثل Drawdown (حوالي 4 كيلوبايت).

التعامل مع الحاجيات JSON

بالنسبة إلى Twitter/YouTube، أدخل حقل عنوان URL مباشرة — يتعرف WordPress على التضمينات. بالنسبة إلى Instagram، استخدم iframe. أو ببساطة استخدم الحقل content لـ HTML الجاهز.

النهج الموصى به

بالنسبة لمعظم عمليات التكامل (WordPress وStrapi وما إلى ذلك)، استخدم الحقل content الذي يوفر HTML جاهزًا لـ WordPress. هذا أبسط من تحليل Markdown وعناصر JSON بنفسك.

اختياري ولكن موصى به بشدة

إرسال الروابط الخلفية بعد النشر

اسمح لـ Monok بمعرفة مكان نشر مقالاتك لتمكين حملات الوسائط الاجتماعية وتعزيز الارتباط البيني للمحتوى المستقبلي

مثال الارتباط الخلفي

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

إطلاق الحملات الاجتماعية

قم بمشاركة المقالات المنشورة على منصات التواصل الاجتماعي تلقائيًا عندما يتلقى Monok الرابط

تعزيز الربط

يتعرف Monok على بنية المحتوى المنشور لديك ويقترح روابط داخلية أفضل للمقالات المستقبلية

تحليلات الأداء

تتبع كيفية أداء مقالاتك واحصل على رؤى حول مقاييس التفاعل عبر المحتوى الخاص بك

التكامل السهل

ما عليك سوى الاتصال بـ sendMonokLinkback() بعد النشر — وتتولى Monok الباقي

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.

سير عمل بسيط، نتائج قوية

قم بتثبيت @monok/server عبر npm. قم بإنشاء نقطة نهاية POST تتلقى بيانات المقالة من Monok. حفظ الصور تلقائيا. نشر على الفور أو كمسودات. إرسال الروابط الخلفية عندما يتم نشر المحتوى. هذا كل شيء — Monok يتولى الباقي.

استكشاف الأخطاء وإصلاحها

المشكلات الشائعة وكيفية حلها

413 الحمولة النافعة خطأ كبير جدًا

تحدد العديد من الخوادم كمية البيانات التي يمكنك إرسالها إليهم. عند إرسال حقل thumbImageData، يمكن أن يتجاوز هذا الحد، مما يؤدي إلى خطأ 413 Payload كبير جدًا.

Solution:

تأكد من أن قيمة Nginx الخاصة بـ client_max_body_size أكبر من 5 ميجابايت.

قيود نقطة النهاية

في بعض الحالات، تمتلك مواقع الويب مكالمات POST وGET محدودة عن طريق تقييد نقاط النهاية من خلال Nginx.

افتح نقاط النهاية التالية:

  • • website.com/wp-json/monok/* (لـ WordPress)
  • • website.com/monok/* (لتكامل واجهة برمجة التطبيقات)

حرف البدل موجود لأن هناك مسارين — إعدادات Nginx تفهم أحرف البدل.

قيود عنوان IP

إذا كان إعداد Nginx الخاص بك يقيد عناوين IP، فستحتاج إلى إضافة خادم Monok إلى القائمة البيضاء.

Solution:

افتحه لهذا العنوان: 51.158.177.191

ماذا يقول عملاؤنا

Plumjobs

يعد العمل مع Monok أحد أكثر الأشياء المبتكرة التي قمنا بها كشركة وهو بالتأكيد يغير قواعد اللعبة بالنسبة لنا. Monok هو سلاحنا السري والمستقبل!

Ivan Mackenzie

Ivan Mackenzie

رئيس, Plumjobs

SportsWriters

لقد كان العمل مع Monok أحد أفضل تجاربنا مع مزود الخدمة. تتنبأ خريطة طريق منتجات Monok باستمرار باحتياجات السوق.

Matt Kovelan

Matt Kovelan

مؤسس, SportsWriters

PPCjuice

يتيح لنا Monok توسيع نطاق المحتوى المتوافق مع تحسين محركات البحث (SEO) دون إضافة حمل داخلي. المقالات متعلقة بالعلامة التجارية، وحادة تجاريًا، ومصممة لدعم مسارات الاستحواذ المدفوعة لدينا، مما يحول حركة المرور إلى نمو يمكن قياسه للعملاء.

Alexander Westerlund

Alexander Westerlund

مؤسس, PPCjuice

mobilen.nu

لقد أدى العمل مع Monok إلى تعزيز كيفية النشر على mobilen.nu. ما يبرز ليس السرعة فحسب، بل أيضًا التوطين الحقيقي، فالمحتوى لا يبدو مترجمًا، بل يبدو أنه مكتوب للجمهور السويدي منذ البداية.

Joel Carlsson

Joel Carlsson

مؤسس, mobilen.nu

أعتقد أنه جيد جدًا! لقد استخدمته في SaaS المدعوم من ventura باللغة الصينية، وكانت اللغة جيدة جدًا

Xunzhu Tang, PhD

Xunzhu Tang, PhD

مؤسس, NoahCode

Plumjobs

يعد العمل مع Monok أحد أكثر الأشياء المبتكرة التي قمنا بها كشركة وهو بالتأكيد يغير قواعد اللعبة بالنسبة لنا. Monok هو سلاحنا السري والمستقبل!

Ivan Mackenzie

Ivan Mackenzie

رئيس, Plumjobs

SportsWriters

لقد كان العمل مع Monok أحد أفضل تجاربنا مع مزود الخدمة. تتنبأ خريطة طريق منتجات Monok باستمرار باحتياجات السوق.

Matt Kovelan

Matt Kovelan

مؤسس, SportsWriters

PPCjuice

يتيح لنا Monok توسيع نطاق المحتوى المتوافق مع تحسين محركات البحث (SEO) دون إضافة حمل داخلي. المقالات متعلقة بالعلامة التجارية، وحادة تجاريًا، ومصممة لدعم مسارات الاستحواذ المدفوعة لدينا، مما يحول حركة المرور إلى نمو يمكن قياسه للعملاء.

Alexander Westerlund

Alexander Westerlund

مؤسس, PPCjuice

mobilen.nu

لقد أدى العمل مع Monok إلى تعزيز كيفية النشر على mobilen.nu. ما يبرز ليس السرعة فحسب، بل أيضًا التوطين الحقيقي، فالمحتوى لا يبدو مترجمًا، بل يبدو أنه مكتوب للجمهور السويدي منذ البداية.

Joel Carlsson

Joel Carlsson

مؤسس, mobilen.nu

أعتقد أنه جيد جدًا! لقد استخدمته في SaaS المدعوم من ventura باللغة الصينية، وكانت اللغة جيدة جدًا

Xunzhu Tang, PhD

Xunzhu Tang, PhD

مؤسس, NoahCode

Featured in

أي موضوع على نطاق واسع

غطِّ موضوعات تتجاوز نطاق خبرتك، سواء كنت تنشر القليل أو تنتج على نطاق واسع.

Cover 1
الأخبار المحلية
Cover 2
العافية والصحة
Cover 3
الأخبار المالية
Cover 4
أخبار الرياضة
Cover 5
العقارات
Cover 6
اللياقة والأداء
Cover 7
الثقافة ونمط الحياة
Cover 8
أخبار التشفير والبلوكشين

التسعير

خطط تتناسب مع طموحاتك التحريرية

تمنحك كل خطة مرونة كاملة في الإنتاج. أوقفها مؤقتًا متى شئت، وادفع فقط مقابل المقالات التي نسلّمها.

العملة

جارٍ تحديث الأسعار المباشرة…

أساسي

Paper plane preparing for takeoff
5 €/شهر
  • مقالة واحدة مكتوبة بأيدي بشرية
  • التسويق عبر وسائل التواصل الاجتماعي لكل مقال
  • توقف مؤقتًا في أي وقت - ادفع فقط مقابل العمل الذي تم تسليمه
مثالية لاختبار Monok مع الإنتاج الشهري.

بداية

Paper plane climbing in altitude
20 €/شهر
  • مقالتان بشريتان مكتوبتان في الأسبوع، واحدة قصيرة والأخرى طويلة
  • التسويق عبر وسائل التواصل الاجتماعي لكل مقال
  • توقف مؤقتًا في أي وقت - ادفع فقط مقابل العمل الذي تم تسليمه
مثالي للفرق التي تستبدل المستقلين بسير عمل يمكن الاعتماد عليه.

مخصص

Paper plane in formation
يمكنك ضبط مستوى الصوت والطول والتردد/شهريا • لكل مقالة
  • اختر عدد الكلمات والمزيج الرأسي وإيقاع التسليم
  • يمكنك اختيار مقدار وطول كل مقال
  • توقف مؤقتًا في أي وقت - ادفع فقط مقابل العمل الذي تم تسليمه
التحكم الكامل - ابدأ أو أوقف خلاصات المحتوى الخاصة بك وقتما تشاء

التعليمات

أسئلة شائعة حول تكامل واجهة برمجة التطبيقات (API).

@monok/server عبارة عن حزمة Node.js توفر برامج وسيطة سريعة لتلقي المقالات من Monok. فهو يتعامل مع المصادقة وتخزين الصور ويوفر مساعدين للنشر وإشعارات الارتباط.

نعم، سيحتاج المطور إلى إعداد التكامل الأولي. ومع ذلك، فإن الحزمة @monok/server تجعل الأمر واضحًا - ما عليك سوى التثبيت عبر npm، وتكوين مفتاح واجهة برمجة التطبيقات (API)، وتحديد كيفية التعامل مع المقالات الواردة.

نقطتا نهاية رئيسيتان: يتلقى POST /monok/push بيانات المقالة (مع معلمة استعلام اختيارية ?action=draft أو ?action=publish)، ويقوم GET /monok/info بإرجاع معلومات موقعك إذا تم تكوينها (الفئات والعلامات والمؤلفون).

يتم إرسال الصور المصغرة للمقالة كبيانات base64. استخدم المساعد saveThumbImage() المتوفر في رد الاتصال onArticle لحفظها تلقائيًا في دليل imageDir الخاص بخادمك.

نعم. قم بتمرير خيار imageDir إلى createMonokRouter() لتحديد المكان الذي يجب تخزين الصور فيه. افتراضيًا، يتم حفظ الصور في "./uploads".

يقوم الرابط الخلفي بإعلام Monok عند نشر مقال على موقعك. استخدم sendMonokLinkback() لإرسال عنوان URL العام والعنوان والصورة المصغرة. وهذا يساعد Monok على تتبع الأداء وتقديم التحليلات.

نعم! تتضمن الحزمة إعلانات TypeScript المضمنة. يمكنك الحصول على الإكمال التلقائي الكامل والتحقق من كتابة كائنات المقالة وخيارات التكوين والوظائف المساعدة.

حاليًا تم تصميم @monok/server لـ Express. ومع ذلك، يمكنك تكييف المفهوم مع أطر عمل أخرى عن طريق إنشاء نقاط نهاية POST وGET مماثلة تتوافق مع مواصفات واجهة برمجة التطبيقات (API).

يتوفر مفتاح Monok API الخاص بك في إعدادات حسابك. قم بتخزينه بشكل آمن في متغيرات البيئة (مثلprocess.env.MONOK_API_KEY) ولا يلزمه مطلقًا بالتحكم في الإصدار.

يتضمن كائن المقالة: المعرف، والعنوان، والنص (محتوى HTML)، والارتباط، والعلامات، والفئة، ومعلومات المؤلف، وبيانات الصورة المصغرة، واللغة، وبيانات التعريف الأخرى. تتوفر أنواع TypeScript الكاملة في الحزمة.

لا، لقد تم تضمين تكامل واجهة برمجة التطبيقات (API) مع اشتراك Monok الخاص بك دون أي رسوم إضافية. الحزمة @monok/server مجانية ومفتوحة المصدر.

نعم. قم بتشغيل تطبيق Express محليًا واستخدم أداة مثل ngrok لعرضه على الإنترنت مؤقتًا. أضف عنوان URL ngrok إلى إعدادات Monok للاختبار.

ابدأ التكامل اليوم

قم بتوصيل Monok بالنظام الأساسي الخاص بك في دقائق معدودة باستخدام واجهة برمجة التطبيقات القوية الخاصة بنا.