يتيح زاكي بوست ربط حساب لينكد إن الخاص بك، سواء كان ملفك الشخصي أو صفحة شركتك على لينكد إن (LinkedIn Company Page)، ونشر المحتوى إليه بشكل تلقائي عبر واجهة برمجة التطبيقات API. سواء كنت تبحث عن أتمتة نشر المنشورات النصية، أو جدولة الصور والفيديوهات على لينكد إن، أو ربط لينكد إن بأنظمة إدارة المحتوى الخاصة بك، فإن تكامل لينكد إن مع زاكي بوست يمنحك الأدوات اللازمة لتنفيذ ذلك برمجيًا ودون أي تدخل يدوي متكرر.
آلية العمل بسيطة وآمنة: كل ما يتطلبه الأمر هو ربط حساب لينكد إن بمنصتنا عبر شاشة الموافقة الرسمية الخاصة بلينكد إن (LinkedIn OAuth). بمجرد إتمام هذه الخطوة، ستحصل فورًا على مفاتيح وصول برمجية مخصصة لحسابك، تمنحك القدرة الكاملة على أتمتة النشر على ملفك الشخصي، أو على صفحة شركتك إن كانت مرتبطة، مباشرة من أي بيئة تطوير أو أداة برمجية تفضلها.
1. آلية العمل من ناحية المستخدم
تتلخص عملية ربط لينكد إن ونشر المحتوى عليه في ثلاث خطوات رئيسية:
- الحصول على مفتاحي الوصول الخاصين بالحساب (client_key و client_secret) من صفحة إعدادات مفاتيح API.
- ربط حساب لينكد إن من خلال زر "ربط حساب LinkedIn"، وهي الخطوة الوحيدة التي يمر فيها المستخدم بشاشة الموافقة الرسمية لينكد إن، مع تحديد ما إذا كان الربط سيشمل صلاحيات النشر على صفحة الشركة أم الاقتصار على الملف الشخصي فقط.
- استخدام مفتاحي الوصول مع معرّف الحساب الذي تم ربطه (linkedin_account_id) لإرسال طلبات النشر من أي بيئة برمجية تدعم إرسال طلبات HTTP، مع تحديد الوجهة المطلوبة: الملف الشخصي، صفحة الشركة، أو الاثنان معًا.
بعد إتمام هذه الخطوات، تتولى منصة زاكي بوست التفاصيل التقنية المرتبطة بالتعامل مع لينكد إن: تجديد التوكنات، تخزينها بشكل مشفّر، إرسال طلب النشر الفعلي إلى الوجهة الصحيحة (ملف شخصي أو صفحة شركة)، والتحقق من نتيجته بعد إرساله.
2. مفاتيح API الخاصة بالحساب
عند إنشاء الحساب في زاكي بوست، يتم توليد مفتاحين تلقائيًا وربطهما بشكل دائم بالحساب:
| المفتاح | الوصف |
|---|---|
| client_key | معرّف عام يبدأ بـ zp_key_، يُستخدم لتحديد الحساب عند كل طلب. |
| client_secret | مفتاح سرّي خاص للمصادقة، يمكنك الاطلاع عليه في أي وقت عبر إعدادات حسابك، مع إمكانية إعادة توليده وتغييره في أي وقت من نفس الصفحة إذا رغبت في ذلك. |
هذان المفتاحان هما نفس المفتاحين المستخدمين لجميع المنصات المرتبطة بحسابك، بما فيها لينكد إن. يمكنك دائمًا الاطلاع عليهما أو نسخهما في أي وقت من خلال صفحة الإعدادات الخاصة بمفاتيح API. وفي حال الشك بتسرب مفتاح client_secret، يمكنك إعادة توليده من نفس الصفحة، مع الأخذ بالاعتبار أن أي تطبيق يستخدم القيمة القديمة سيحتاج إلى تحديثها فورًا. نوصي بالحفاظ على سرية مفاتيحك وعدم مشاركتها مع أي جهات غير موثوقة.
هذان المفتاحان لا علاقة لهما بحساب لينكد إن ذاته، وإنما هما وسيلة المصادقة بين المستخدم وخادم زاكي بوست. يجب إرسالهما مع كل طلب نشر عبر ترويستي HTTP التاليتين:
X-ZakiPost-Client-Key: zp_key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-ZakiPost-Client-Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxبما أن هذه المفاتيح هي بيانات اعتماد HTTP قياسية، يمكن استخدامها من أي بيئة قادرة على إرسال طلبات HTTP، بصرف النظر عن لغة البرمجة أو الأداة المستخدمة.
3. ربط حساب لينكد إن (الملف الشخصي وصفحة الشركة)
يوفّر زاكي بوست زر "ربط حساب LinkedIn" داخل لوحة التحكم، وعند النقر عليه يتم تنفيذ التسلسل التالي:
- توليد رمز حماية عشوائي (state) يُحفظ مؤقتًا لمنع محاولات التزوير عبر الطلبات.
- إعادة توجيه المستخدم إلى شاشة الموافقة الرسمية الخاصة بلينكد إن، حيث يمكنه اختيار منح صلاحيات النشر على الملف الشخصي فقط، أو منح صلاحيات إضافية لإدارة صفحة شركة يمتلك صلاحيات إدارية عليها.
- بعد موافقة المستخدم، يُعاد توجيهه إلى زاكي بوست التي تتحقق من صحة الطلب وتستبدل كود التفويض بتوكن وصول صالح.
- يتم تشفير التوكن وتخزينه بأمان، ولا يُعرض في أي وقت للمستخدم أو لأي طرف آخر.
- يُولَّد معرّف داخلي خاص بهذا الحساب (linkedin_account_id) يُستخدم لاحقًا عند إرسال طلبات النشر إلى الملف الشخصي و/أو صفحة الشركة.
بعد اكتمال هذه الخطوة، يظهر حساب لينكد إن ضمن قائمة الحسابات المرتبطة بالمستخدم، موضحًا نوع الصلاحيات الممنوحة (ملف شخصي، صفحة شركة، أو الاثنان معًا)، ويصبح بالإمكان النشر إليه عبر واجهة برمجة التطبيقات الخاصة بـ زاكي بوست.
ملاحظة هامة حول صفحات الشركات: لكي تعمل خاصية النشر على صفحة الشركة بنجاح، يجب أن يمتلك المستخدم صلاحيات إدارية على تلك الصفحة داخل لينكد إن، وأن يوافق أثناء خطوة الربط على منح صلاحيات الصفحات w_organization_social وrw_organization_admin. في حال عدم منح هذه الصلاحيات، سيقتصر الربط على النشر إلى الملف الشخصي فقط.
4. نشر محتوى عبر API
تستقبل نقطة الوصول الخاصة بالنشر طلبات POST بالصيغة التالية، وتدعم نشر النصوص، الصور، والفيديوهات، إلى الملف الشخصي أو صفحة الشركة أو كليهما معًا:
POST https://api.zakipost.com/v1/linkedin/publish
Content-Type: application/json
X-ZakiPost-Client-Key: zp_key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-ZakiPost-Client-Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{
"content": "نص المنشور هنا",
"linkedin_account_id": "internal-token-uuid",
"publish_to_profile": true,
"publish_to_organization": false,
"images": ["https://example.com/image1.jpg"],
"video_url": "https://example.com/video.mp4"
}شرح الحقول
| الحقل | الوصف |
|---|---|
| content | نص المنشور المراد نشره على لينكد إن. مطلوب في حال عدم إرفاق صور أو فيديو. الحد الأقصى 4000 حرف. |
| linkedin_account_id | معرّف الحساب الداخلي (internal_token) الذي تم الحصول عليه بعد ربط حساب لينكد إن. |
| publish_to_profile | قيمة منطقية تحدد النشر على الملف الشخصي. القيمة الافتراضية true. |
| publish_to_organization | قيمة منطقية تحدد النشر على صفحة الشركة المرتبطة بالحساب. القيمة الافتراضية false. يتطلب تفعيلها منح صلاحيات إدارة الصفحة أثناء خطوة الربط. |
| images | مصفوفة (Array) تحتوي على روابط الصور المراد نشرها، بحد أقصى 9 صور. |
| video_url | رابط مباشر لملف فيديو، يجب أن يكون قابلاً للتنزيل العام ومباشرًا لملف من نوع mp4 أو ما شابهه. |
ملاحظة: يتم إعطاء الأولوية للـ video_url إذا تم تمرير كلا من images وvideo_url في نفس الطلب. إذا كان video_url فارغًا، سيتم استخدام images. وإذا كان كلاهما فارغًا، سيتم نشر content كنص فقط. كذلك يمكن تفعيل publish_to_profile وpublish_to_organization معًا في نفس الطلب لنشر المحتوى على الوجهتين دفعة واحدة.
الاستجابة عند النجاح
{
"success": true,
"message": "Published successfully...",
"data": {
"post_url": "رابط المنشور إن توفر"
}
}5. الأخطاء الشائعة ومعانيها
| الحالة | السبب المحتمل |
|---|---|
| 401 Unauthorized | مفتاحا client_key أو client_secret غير صحيحين أو غير مُرسلين ضمن الترويسات، أو بيانات الاعتماد غير صحيحة. |
| 402 Payment Required (insufficient_points) | رصيد النقاط في الحساب غير كافٍ لإتمام عملية النشر. يلزم توفر 400 نقطة على الأقل لإتمام عملية نشر واحدة. |
| 403 Forbidden | الخطة الحالية لا تتضمن صلاحية الوصول إلى API، أو الاشتراك منتهي الصلاحية، أو عدم توفر سعة كافية لإضافة حسابات لينكد إن. |
| فشل النشر على صفحة الشركة تحديدًا | عدم منح صلاحيتي w_organization_social وrw_organization_admin أثناء خطوة الربط، أو عدم امتلاك المستخدم صلاحيات إدارية على الصفحة داخل لينكد إن. |
6. التكاليف وحدود الاستخدام
| البند | التفاصيل |
|---|---|
| تكلفة النشر | يتم خصم 400 نقطة/كريدت عن كل عملية نشر ناجحة عبر API، سواء إلى الملف الشخصي أو صفحة الشركة. |
| حدود الطلبات (Rate Limiting) | يُسمح بـ 10 طلبات لكل مستخدم في الدقيقة على منصة لينكد إن. |
| متطلبات الخطة | يجب أن يمتلك المستخدم باقة اشتراك تتيح ميزة API Access مع توفر سعة لإضافة حسابات لينكد إن. |
يمكن تتبع حالة المنشورات المرسلة عبر API إلى لينكد إن (سواء قيد الانتظار، ناجحة، أو فاشلة) من خلال لوحة التحكم في صفحة تقارير API، حيث يتم تسجيل رسائل الخطأ التفصيلية في حال فشل النشر من طرف لينكد إن.
7. ملخص سريع
| السؤال | الإجابة |
|---|---|
| كيف أربط حساب لينكد إن الشخصي بزاكي بوست؟ | اربط حسابك من خلال شاشة الموافقة الرسمية للينكد إن لتحصل فورًا على مفاتيح API الخاصة بك وتبدأ في أتمتة النشر على ملفك الشخصي. |
| هل يمكن النشر على صفحة شركتي على لينكد إن؟ | نعم، بشرط امتلاكك صلاحيات إدارية على الصفحة وموافقتك أثناء الربط على صلاحيات إدارة صفحات لينكد إن. |
| هل يمكن النشر على الملف الشخصي وصفحة الشركة في نفس الوقت؟ | نعم، من خلال تفعيل الحقلين publish_to_profile وpublish_to_organization معًا في نفس طلب النشر. |
| ما الذي يلزم للنشر برمجيًا على لينكد إن؟ | مفتاحا API الخاصان بالحساب، ومعرّف الحساب (linkedin_account_id) لحساب لينكد إن المرتبط. |
| أين أجد مفاتيح API الخاصة بحسابي؟ | يمكن الوصول إليها وإدارتها من خلال صفحة إعدادات مفاتيح API. |