Skip to main content
تابعنا على X، أو استمع إلى بودكاست Social Media API، أو اشترك في نشرتنا الإخبارية للحصول على أحدث التحديثات.

أكتوبر 2026

  • 14 أكتوبر - توثيق تاريخ إعادة تعيين الحصة الشهرية للمنشورات والرمز 106. تشرح الوثائق الآن الحصة الشهرية للمنشورات: يُعاد تعيينها في اليوم الأول من كل شهر (UTC)، وليس في تاريخ الفوترة الخاص بك، كما تُحتسب محاولات النشر الفاشلة والمحظورة ضمنها. إذا أعاد /post رمز HTTP 429 مع code: 106 واعتقدت أنك تجاوزت حد المعدل، فهذا يعني أن الملف الشخصي قد استنفد حصته الشهرية من المنشورات. راجع ما هو الحد المسموح به من المنشورات ومكالمات API؟ لمعرفة ما يُحتسب وكيفية التحقق من استخدامك.
  • 14 أكتوبر - مقاطع الفيديو على Bluesky تحتفظ بنسبة العرض إلى الارتفاع الحقيقية. كان مقطع الفيديو المربع أو العمودي المنشور على Bluesky من عنوان URL على Amazon S3 (أي مضيف amazonaws.com) يظهر بأشرطة سوداء على الجانبين في موجز Bluesky وعرض المنشور والتطبيق، رغم أن الملف المرفوع نفسه كان سليمًا. كان سجل المنشور يعلن نسبة عرض إلى ارتفاع 16:9 بغض النظر عن الشكل الحقيقي للفيديو، ويحدد Bluesky حجم المشغّل بناءً على هذا الإعلان. أصبحت منشورات الفيديو على Bluesky الآن تتضمن العرض والارتفاع المقيسين للفيديو كلما أمكن قراءتهما، لذا يُعرض الفيديو بنسبة 1:1 أو 9:16 بشكله الحقيقي. لا يتغير شيء في طريقة النشر: أرسل قيم mediaUrls نفسها كما في السابق. تحتفظ المنشورات المنشورة قبل هذا الإصلاح بالنسبة التي أُنشئت بها؛ أعد نشرها لتصحيحها. راجع إرشادات وسائط Bluesky.
  • 13 أكتوبر - الميزانيات على مستوى الحملة لتعزيزات Facebook وInstagram. أصبح بإمكان التعزيز الآن الاحتفاظ بميزانيته على الحملة بدلًا من مجموعة الإعلانات باستخدام budget.level: “campaign”، مع ميزانية يومية أو إجمالية. تستخدم هذه الميزة الصيغة المتداخلة لجسم طلب التعزيز. بالنسبة إلى الميزانية اليومية على مستوى الحملة، يعرض budgetDaily في السجل ميزانية الحملة. راجع تعزيز Facebook وتعزيز Instagram.
  • 13 أكتوبر - عمليات رفع الوسائط إلى X تُرجع الآن الرمز 416 عند نفاد الرصيد. عندما ينفد رصيد API في حساب X Developer المسجّل لحساب X/Twitter من نوع BYOK، تُرجع عمليات رفع الصور ومقاطع الفيديو الآن code: 416 (HTTP 402، X CreditsDepleted) مع شرح X في details. في السابق، كانت الصور تفشل مع code: 117 (“Please check the media file size, dimensions, and content-type”) ومقاطع الفيديو مع code: 115، وكلاهما كان يشير إلى ملف وسائط لم يكن هو المشكلة أبدًا. الحل هو شراء رصيد من console.x.com (Billing → Credits). لا تُعاد محاولة عمليات الرفع هذه، إذ لا يمكن لأي إعادة محاولة أن تنجح قبل أن يحصل الحساب على رصيد. يجعل هذا رفع الوسائط متسقًا مع مسارات النشر والتحليلات التي تُرجع 416 بالفعل. إذا كان تكاملك يعتمد على 117 أو 115 لاكتشاف مشكلة في الوسائط على X، فأضف معالجة للرمز 416.
  • 13 أكتوبر - حسابات X المقفلة تُرجع الآن الرمز 224 عند رفع الوسائط. عندما كان X قد قفل الحساب مؤقتًا، كان نشر صورة أو مقطع فيديو على X يفشل مع code: 117 (“Please check the media file size, dimensions, and content-type”) للصور أو code: 115 لمقاطع الفيديو، فكنت تفحص ملف وسائط سليمًا. تُرجع عمليات الرفع هذه الآن code: 224 (“X/Twitter account locked. Please go to twitter.com to unlock.”) مع شرح X نفسه في details. لحل المشكلة، سجّل الدخول إلى x.com وأكمل خطوات إلغاء القفل لدى X، ثم انشر مرة أخرى. لا حاجة إلى إعادة الربط، ويظل الحساب مرتبطًا بـ Ayrshare.
  • 13 أكتوبر - أصبحت webhooks تعليقات Facebook تعمل الآن. لم يكن webhook comments المسجّل لصفحة Facebook يتلقى أي أحداث: لم تكن Ayrshare مشتركة في حقل Meta الذي ينقل تعليقات الصفحة، لذلك لم يصل أي شيء. لا خطأ، مجرد صمت. أصبحت صفحات Facebook مشتركة الآن، وتُسلَّم أحداث التعليقات طالما أن المراسلة مفعّلة في الملف الشخصي (Messaging Add-On). يُعاد اشتراك الصفحات المتصلة مسبقًا تلقائيًا، دون الحاجة إلى إعادة الربط أو إعادة التسجيل. تصل تعليقات Facebook بتنسيق feed الخاص بصفحة Meta (comment_id, post_id, message, from.name)، وهو يختلف عن تنسيق Instagram؛ راجع Comments Action للاطلاع على كليهما. لم تتغير webhooks تعليقات Instagram.
  • 13 أكتوبر - أزرار تعزيز تفتح محادثة. يمكن الآن لزر تعزيز Facebook أو Instagram أن يفتح محادثة على Messenger أو WhatsApp أو Instagram Direct بدلًا من صفحة ويب، لذا يمكنك الآن تعزيز منشور يبدأ محادثات مع نشاطك التجاري. أرسل callToAction.destination (messenger أو whatsapp أو instagramDm) مع نوع الزر المطابق ودون link، واستخدم الهدف engagement أو interactions. يُحسَّن الإعلان حينئذٍ للمحادثات. تستخدم هذه الميزة الصيغة المتداخلة لجسم طلب التعزيز. راجع تعزيز Facebook وتعزيز Instagram.
  • 9 أكتوبر - التعزيز ضمن حملات Facebook وInstagram الحالية لديك. لم يعد التعزيز مضطرًا إلى إنشاء حملته الخاصة. باستخدام attachTo.campaignId يضيف مجموعة إعلانات وإعلانًا جديدين إلى حملة تديرها بالفعل في Meta. وباستخدام attachTo.adSetId (مع attachTo.campaignId الخاص بمجموعة الإعلانات تلك) يضيف الإعلان فقط، وتُغفل budget وtargeting وbidAmount لأن مجموعة الإعلانات تحتفظ بإعداداتها الخاصة. لا يُغيّر إيقاف التعزيز مؤقتًا أو تنشيطه لاحقًا إلا ما أنشأه التعزيز، ولا يمس أبدًا حملتك أو مجموعة إعلاناتك. تستخدم هذه الميزة الصيغة المتداخلة لجسم طلب التعزيز. راجع تعزيز Facebook وتعزيز Instagram.
  • 9 أكتوبر - أخطاء أقل لإعادة ربط Instagram الخاطئة، ونشر أسرع للمنشورات الدوّارة. أصبحنا ننتظر لفترة وجيزة قبل نشر منشور قبله Instagram للتو، ونتحقق من جاهزية المنشور الدوّار (carousel) قبل نشره، لذا يرفض Instagram عددًا أقل بكثير من المحاولات الأولى. في السابق، كان المنشور الذي يُنشر مباشرة بعد معالجة وسائطه قد يفشل مع code: 259، ويطلب منك إلغاء ربط حساب Instagram وإعادة ربطه رغم أن الحساب سليم وإعادة محاولة نشر المنشور كانت تنجح، كما كانت معظم المنشورات الدوّارة تستغرق نحو 10 ثوانٍ أكثر من اللازم لأن Instagram كان يرفض المحاولة الأولى لنشرها. لا تحتاج إلى تغيير أي شيء، وأي 259 ظهر لك لهذا السبب لم يكن يتطلب إعادة الربط.
  • 8 أكتوبر - نشر أسرع لمنشورات الفيديو على Instagram وThreads. حسّنّا مسار نشر الفيديو لتسريع المنشورات المباشرة، وانخفض وقت الانتظار المعتاد من نحو 20 ثانية إلى 5 ثوانٍ على Instagram ومن نحو 31 ثانية إلى 6 ثوانٍ على Threads. قد تستغرق المقاطع الأطول أو الأعلى دقة 25 إلى 30 ثانية، لأن هذا هو الوقت الذي تحتاجه Meta نفسها لمعالجتها. لا يلزمك تغيير أي شيء.
  • 8 أكتوبر - عرض إعلانات Facebook وInstagram حسب معرّف الحساب بالبادئة act_. تُعيد الإعلانات المُعزَّزة على Facebook وInstagram الآن إعلاناتك عندما يحمل accountId البادئة act_، مثل act_1234567890. في السابق كان الرقم المجرد وحده يعمل: إذ كان الشكل ذو البادئة يُعيد قائمة ads فارغة، كأن الحساب لا يحتوي على أي إعلانات. ينطبق الإصلاح نفسه على استعلام GraphQL ads وأداة MCP list_ads. كما أن accountId الذي لا يمثّل معرّف حساب إعلانات صالحًا يُعيد الآن code: 101 هناك أيضًا، بدلًا من قائمة فارغة.
  • 8 أكتوبر - أخطاء تعليقات Facebook وInstagram تتضمن سبب المنصة. عندما يرفض Facebook أو Instagram تعليقًا أو ردًا أُرسل عبر نشر تعليق أو الرد على تعليق، يتضمن الخطأ الآن سبب المنصة في details مع رمز الخطأ والرمز الفرعي، على سبيل المثال “Instagram Comment Not Added: Your Instagram comment was not added (code 20, subcode 1772107)”. في السابق كانت هذه الأخطاء تعرض رسالة عامة فقط، فلم يكن بإمكانك معرفة سبب فشل التعليق.
  • 7 أكتوبر - لم تعد منشورات Threads تفشل بالرمز 379 عندما لا تكون Threads جاهزة لفترة وجيزة. كانت بعض منشورات Threads تفشل مع code: 379 (“Error posting to Threads.”) وحالة HTTP 500، رغم عدم وجود أي مشكلة في المنشور. تنتظر Ayrshare الآن مدة تصل إلى 30 ثانية حتى تقبل Threads المنشور، وتحصل تعليقات Threads والردود والتعليقات الأولى على فترة الانتظار نفسها. إذا ظلت Threads غير جاهزة لقبول المنشور، فستتلقى code: 522 (HTTP 400، retryAvailable: true) بدلًا من 379. راجع الرمز 522 لمعرفة كيفية إعادة المحاولة بأمان.
  • 7 أكتوبر - تُعاد روابط الربط حتى عند فشل بريد Connect Accounts. إذا طلبت منا إرسال رابط الربط إلى المستخدم عبر البريد الإلكتروني وتعذّر إرسال البريد، فإن إنشاء رابط ربط وإنشاء Link Session يُعيدان الآن الرابط مع ذلك، مع emailSent: false وكائن emailError، حتى تتمكن من إرساله إلى المستخدم بطريقة أخرى. في السابق، كان الإرسال الفاشل يُعيد code: 333 دون أي رابط، وكان كائن email الذي ينقصه termsUrl, privacyUrl, company أو contactEmail يُتجاهل بصمت؛ أما الآن فتُعيد هذه الحالة أيضًا emailError، مع details الذي يذكر الحقول الناقصة. تحقّق من ذلك إذا كنت تعيد المحاولة عند code: 333: ابحث بدلًا من ذلك عن emailError في استجابة النجاح، كما هو موضّح في بريد Connect Accounts.
  • 6 أكتوبر - إفصاحات AI في Pinterest على Pins. يقبل النشر على Pinterest الآن pinterestOptions.aiDisclosures حتى تتمكن من إرسال AI_MODIFIED أو SYNTHETIC_PERFORMER أو كليهما عند إنشاء Pins الصور أو الـ Carousel أو الفيديو. تنطبق الإفصاحات على الـ Pin بأكمله. إذا أُغفل الحقل أو كان فارغًا، فلا يتغير شيء؛ وإذا كان غير صالح، فلا يزال من الممكن نشر الـ Pin وتتضمن نتيجة Pinterest تحذيرًا يوضح أن الإفصاحات لم تُمرَّر.
  • 6 أكتوبر - أصبح بإمكان Facebook Reels دعوة صفحة متعاونة. أضف معرّف صفحة Facebook إلى faceBookOptions.collaborators في منشور Reel لدعوة تلك الصفحة كمتعاون، مع دعم صفحة واحدة لكل Reel. تُرسل الدعوة بمجرد نشر Reel، ويمكنك التحقق من حالتها باستخدام Collaborator Request Status. قد يرفض Facebook الدعوة مع ذلك، على سبيل المثال عندما تكون الصفحة ضمن محفظة Business نفسها التي تتبعها صفحتك: في هذه الحالة يبقى Reel منشورًا وتتضمن الاستجابة تحذيرًا في warnings. لجدولة Reel من هذا النوع، استخدم scheduleDate بدلًا من draft أو scheduledPublishDate. راجع Facebook Reels.
  • 5 أكتوبر - رؤى مباشرة لإعلانات Facebook وInstagram. يعرض السجل الإنفاق اليومي الذي نحتسبه في الفوترة، والذي يُنسخ كل ليلة لآخر 30 يومًا. أما نقطة النهاية الجديدة Insights فتقرأ البيانات من Meta مباشرةً بدلًا من ذلك، لذا يمكنك الآن إعداد تقارير عن حملة أو إعلان لأي نطاق زمني خلال آخر 37 شهرًا. يمثّل كل صف يومًا واحدًا، ويتضمن spend وimpressions وreach وclicks وcpm وcpc وctr وactions وconversionValue وcurrency الخاصة بحساب الإعلانات. اختر المقاييس التي تحتاجها باستخدام metrics، وقسّم كل يوم حسب age أو gender أو country أو placement باستخدام breakdowns، وتصفّح النطاقات الطويلة صفحةً تلو الأخرى باستخدام cursor. مع breakdowns، لا تُبلغ Meta عن reach إلا لآخر 13 شهرًا. تقارير مجموعات الإعلانات غير متاحة بعد. راجع رؤى Facebook ورؤى Instagram.
  • 5 أكتوبر - النمو اليومي للمتابعين على LinkedIn للملفات الشخصية. كان الحقل followersDaily في Analytics on a Social Network (/analytics/social) يُرجع دائمًا مصفوفة فارغة للملفات الشخصية على LinkedIn. أصبح الآن يُرجع أعداد المتابعين اليومية لآخر 30 يومًا.
  • 5 أكتوبر - اسم مستخدم Pinterest. بالنسبة لحسابات Pinterest، كان الحقل username في استجابة User Profile Details يُرجع اسم اللوحة المحددة بدلاً من اسم مستخدم الحساب، لذا كان profileUrl يشير إلى ملف شخصي غير موجود. أصبح username الآن يُرجع اسم مستخدم الحساب، ويفتح profileUrl الملف الشخصي الصحيح، دون الحاجة إلى إعادة الربط. لا يزال displayName يُرجع اسم اللوحة.
  • 5 أكتوبر - اسم مستخدم Threads. بالنسبة لحسابات Threads، كان الحقل username في استجابة User Profile Details يُرجع اسم العرض للحساب بدلاً من المعرّف (handle) الخاص به، لذا كان profileUrl يشير إلى ملف شخصي غير موجود. أصبح username الآن يُرجع المعرّف، ويفتح profileUrl الملف الشخصي الصحيح، دون الحاجة إلى إعادة الربط. إذا كنت تعرض username كاسم للحساب، فاستخدم displayName بدلاً منه.
  • 2 أكتوبر - تعزيز فئات الإعلانات الخاصة خارج الولايات المتحدة. كان تعزيز Facebook أو Instagram الذي يتضمن specialAdCategories (مثل housing) ويستهدف مواقع خارج الولايات المتحدة يفشل مع الرسالة “You’ve chosen audience locations that are outside of the countries you selected for your Special Ad Categories”، ويترك حملة فارغة في حسابك الإعلاني. تحتاج Meta إلى معرفة الدول التي يُعرض فيها إعلان الفئة الخاصة، ولم نكن نخبرها بذلك، فكانت تفترض الولايات المتحدة. أصبحنا الآن نأخذ هذه الدول من locations الخاصة بك، بما في ذلك دولة كل منطقة ومدينة، لذا يمكنك الآن تعزيز منشورات الإسكان والتوظيف والخدمات المالية خارج الولايات المتحدة. وإذا فشل التعزيز بعد إنشاء حملته، فإننا نحاول أيضًا حذف تلك الحملة، لذا لن تترك عمليات التعزيز الفاشلة حملات فارغة بعد الآن. راجع Boost Post.
  • 1 أكتوبر - توضيح رمز الخطأ 249 الخاص بحظر Facebook بموجب معايير المجتمع وتوثيقه. لم تعد الرسالة المُعادة مع 249 تقول إن المنشور نفسه انتهك معايير المجتمع الخاصة بـ Facebook. يفرض Facebook الحظر عادةً على الحساب أو الصفحة بدلًا من المنشور، ولا يُعيد السبب المحدد عبر API، لذا تُرشد الرسالة الآن إلى صفحة Account Status على Facebook التي تعرض السبب الحقيقي ومسار الاستئناف. للوصول إليها، سجّل الدخول إلى Facebook، وانقر على صورة ملفك الشخصي (أعلى اليمين)، وافتح قسم Help وحدد Account Status. عندما يقدم Facebook صياغة خاصة به، فإنها لا تزال تُمرَّر حرفيًا في details. أصبح الرمز 249 موثقًا علنًا لأول مرة؛ راجع حظر Facebook بموجب معايير المجتمع. تغيّر نص الرسالة فقط، أما الرمز الرقمي وحالة HTTP وبنية الاستجابة فلم تتغير. يجب على العملاء المطابقة على القيمة الرقمية لـ code، وليس على نص الرسالة الحرفي.
  • 1 أكتوبر - صفحة الربط تُعلمك الآن بانتهاء صلاحية الرابط. تبقى صلاحية رابط الربط 5 دقائق افتراضيًا. عندما كانت تنتهي بينما لا يزال المستخدم يسجّل الدخول إلى الشبكة الاجتماعية، كانت صفحة الربط تعرض رسالة عامة “There was an error linking”، فيعيد المستخدم المحاولة باستخدام الرابط المنتهي الصلاحية نفسه. الآن يُبلَّغ المستخدم بأن صلاحية الرابط انتهت وأنه يحتاج إلى رابط جديد. على Snapchat وTikTok، حيث قد يعود المستخدم إلى صفحة لم يسجّل الدخول إليها، يرى الآن صفحة Link expired بدلًا من شاشة تسجيل الدخول إلى Ayrshare. إذا كنت تستخدم Ayrshare Connect Widget، فإن حدث error لهذا الفشل يتضمن الآن code، وقيمته 503 للرابط المنتهي الصلاحية، حتى يتمكن الكود الخاص بك من إنشاء رابط جديد للمستخدم. لمنح المستخدمين وقتًا أطول، ارفع قيمة expiresIn عند إنشاء الرابط (حتى 2880 دقيقة، Max Pack).

سبتمبر 2026

  • 29 سبتمبر - استعلم عن Ayrshare API باستخدام GraphQL. تتوفر الآن نقطة نهاية GraphQL على https://api.ayrshare.com/graphql إلى جانب REST API، لذا يمكنك طلب عدة عمليات مدعومة في طلب واحد بدلًا من إجراء استدعاء لكل منها. وهي تستخدم مفتاح API نفسه وتحديد نطاق الملفات الشخصية نفسه وحدود الخطة نفسها، بينما تظل REST هي واجهة API الكاملة. ولأن مخطط GraphQL ذو أنواع محددة ويصف نفسه بنفسه، يمكن لمحررك إكمال كل عملية ووسيط متاحين تلقائيًا، ويمكن لمولّد الشيفرة إنتاج أنواع للغتك منه. يُحتسب كل حقل جذري مدعوم بواجهة API كاستدعاء API واحد، تمامًا كما يُحتسب استدعاء REST المكافئ: الاستعلام الذي يحتوي على أربع عمليات جذرية يُحتسب أربعة استدعاءات من حصتك، وليس استدعاءً واحدًا، بينما لا يضيف تحديد حقول الاستجابة المتداخلة أي استدعاءات. يمكن لطلب واحد إجراء ما يصل إلى خمسة استدعاءات API، ويبلغ الحد الأقصى لحجم جسم الطلب 64 KB، مما يعني أن بايتات الوسائط لا يمكنها الانتقال عبر GraphQL. بدلًا من ذلك، اطلب عنوان URL للرفع باستخدام mediaUploadUrl، ثم نفّذ PUT لملفك مباشرة إلى uploadUrl الخاص به، ثم استخدم accessUrl المُرجَع في منشورك. أمر واحد يجب الانتباه إليه عند كتابة شيفرة معالجة الأخطاء: العملية الفاشلة تُرجع مع ذلك HTTP 200 وتُبلغ عن الفشل في جسم الاستجابة، لذا تحقّق دائمًا من errors بدلًا من الاعتماد على رمز الحالة وحده. تسرد صفحة أخطاء GraphQL الحالات التي تُغيّر الحالة فعلًا. جرّبها في GraphQL Explorer دون كتابة أي شيفرة، وراجع نظرة عامة على GraphQL API للبدء.
  • 29 سبتمبر - أتمتة الرسائل الخاصة على صفحات Facebook. تعمل الأتمتة الآن على صفحة Facebook المرتبطة بالملف الشخصي، وليس على Instagram فقط. أنشئ أتمتة باستخدام “platform”: “facebook” ومشغّل dm_keyword أو dm_reaction، لتتمكن الآن من الرد تلقائيًا في Messenger عندما يُرسل شخص ما كلمة مفتاحية إلى صفحتك أو يتفاعل مع إحدى رسائلك. يُرسل send_dm من الصفحة، ويعمل fire_webhook وsend_email بالطريقة نفسها كما على Instagram. يحتاج الملف الشخصي إلى تفعيل Messaging لـ Facebook. لا تزال مشغّلات التعليقات والستوري مقتصرة على Instagram. راجع صفحات Facebook.
  • 29 سبتمبر - عودة الوصول الفريد على Facebook. منذ أن أوقفت Meta مقاييس الانطباعات الفريدة في 15 يونيو، اقتصرت تحليلات Facebook على إجمالي المشاهدات (mediaView وpageMediaView)، التي تحتسب الشخص نفسه أكثر من مرة. يُرجع التحليلات على منشور الآن totalMediaViewUnique، وهو عدد الأشخاص الفريدين الذين شُغّل لهم المنشور أو عُرض عليهم، ويُرجع التحليلات على شبكة اجتماعية pageTotalMediaViewUnique لصفحتك. يأتي كلاهما من مقياس Total Unique Media Views من Meta، وهو بديلها للحقول المتوقفة. تُبلغ Meta عن قيمة الصفحة يوميًا، لذا يجمع pageTotalMediaViewUnique هذه الأعداد اليومية: يُحتسب الشخص الذي شاهد المحتوى الخاص بك في يومين مختلفين مرتين. تبقى جميع الحقول الحالية دون تغيير. راجع ملاحظات الترحيل لـ 15 يونيو لمعرفة البديل المقابل لكل حقل متوقف.
  • 29 سبتمبر - خطأ أوضح عندما يتعذّر على Meta جلب الوسائط الخاصة بك. أصبحت حالات فشل جلب الوسائط أو حظر الزاحف (الرمز الفرعي من Meta 2207052)، التي كانت تُرجع سابقًا code: 440 (Instagram؛ وcode: 108 في Facebook Reels) العام القابل لإعادة المحاولة، تُرجع الآن code: 479 مخصصًا وغير قابل لإعادة المحاولة (HTTP 400). ويُرجَع عندما يتعذّر على Meta جلب الوسائط حتى بعد أن تعيد Ayrshare استضافتها على شبكة CDN الخاصة بها. تذكر الرسالة السبب المحتمل (حظر المضيف لزواحف Meta facebookexternalhit / Facebot عبر robots.txt أو قواعد CDN/WAF) والحل (السماح للزواحف، أو تقديم الوسائط من مضيف يمكن لـ Meta الوصول إليه). أما حالات فشل الاستيعاب المؤقتة فعلًا (الرموز الفرعية 2207032 / 2207003) فتحتفظ بـ code: 440 (Instagram؛ وcode: 108 في Facebook Reels) مع إرشادات إعادة المحاولة. راجع حجب زاحف الوسائط الخاص بـ Meta ومرجع رموز الأخطاء.
  • 28 سبتمبر - تحديث منشور يرفض الطلبات التي لا تُغيّر شيئًا، ويقبل disableComments بمفرده. كان تحديث منشور يُرجع code: 101 عندما يكون disableComments هو الحقل الوحيد الذي ترسله، لذا كان عليك إضافة حقل آخر، مثل notes، لتفعيل التعليقات أو إيقافها. أصبح يعمل الآن بمفرده. وفي الاتجاه المقابل، كان الطلب الذي لا يحتوي على شيء لتحديثه يُرجع status: “success” دون أن يُغيّر شيئًا. وشمل ذلك id بمفرده، وyouTubeOptions فارغًا، وvisibility المُرسَل في المستوى الأعلى بدلًا من داخل youTubeOptions، لذا كان الخطأ الإملائي يبدو وكأنه نجح. تُرجع هذه الطلبات الآن code: 101. تحقّق من ذلك إذا كنت ترسل visibility في المستوى الأعلى: لم يكن يُغيّر الفيديو أبدًا، وهو يُرجع الآن خطأً بدلًا من النجاح. انقله إلى داخل youTubeOptions.
  • 28 سبتمبر - تغيير رؤية فيديو YouTube لم يعد يُعيد تعيين ترخيصه. كان تغيير youTubeOptions.visibility عبر تحديث منشور يُعيد تعيين ترخيص الفيديو إلى Standard YouTube License، لذا كان الفيديو المنشور بترخيص “creativeCommon” يفقد ترخيص Creative Commons الخاص به لحظة جعله عامًا أو غير مُدرج. يُحتفظ بالترخيص الآن. إذا كنت قد غيّرت رؤية فيديو بترخيص Creative Commons قبل هذا الإصلاح، فتحقّق من ترخيصه في YouTube Studio.
  • 25 سبتمبر - منشورات Facebook المُروَّجة تستهدف الآن الجنس الذي تختاره. كان ترويج منشور Facebook يتجاهل المعامل الموثّق gender، لذا كان الترويج المُرسَل مع “gender”: “female” أو “male” يُعرض لجميع الأجناس رغم نجاح الطلب. يُطبَّق gender الآن، وعلى ترويجات Instagram أيضًا. تحقّق من ذلك إذا كنت ترسل gender: أي قيمة غير all أو male أو female تُرجع الآن code: 101 بدلًا من استهداف الجميع بصمت. الطلبات التي لا تتضمن gender لم تتغير.
  • 25 سبتمبر - اطّلع بدقة على ما أرسلته كل أتمتة. تُسجّل كل نتيجة إجراء في Get Automation Activity الآن ما أرسله الإجراء: نص الرسالة الخاصة المُرسلة إلى ذلك الشخص، أو البريد الإلكتروني كما وُضع في قائمة الانتظار، أو بيانات حدث الـ webhook مع معرّف التسليم الخاص به. ويوجد ذلك في حقل sent جديد، بجوار config الذي يُسجّل إعدادات الإجراء كما كانت في تلك اللحظة. حتى الآن، لم يكن النشاط يعرض سوى حالة كل إجراء، لذا بمجرد تعديل أتمتة لم تكن هناك طريقة لمعرفة ما أرسله تنفيذ سابق فعليًا. يُسجَّل كلا الحقلين في عمليات الإرسال الفاشلة أيضًا، ويُختصر النص الطويل جدًا ليتوافق مع الحد، مع تعيين truncated عند حدوث ذلك. راجع ما يحتويه sent.
  • 24 سبتمبر - اكتب كل رسالة خاصة للأتمتة باستخدام خادمك الخاص. حتى الآن، كانت أتمتة send_dm تُرسل القالب نفسه إلى كل شخص، ولا يتغيّر فيه سوى العلامات النائبة مثل . اضبط messageUrl على الإجراء، وفي كل مرة تتطابق فيها القاعدة، نسأل نقطة النهاية لديك عمّا يجب قوله لذلك الشخص ونُرسل إجابتها كرسالة خاصة، بحيث يمكن لكل مُعلّق أن يتلقى رسالة كتبها نظامك خصيصًا له، مثل ردّ يحتوي على رابط التتبّع الخاص به. إذا كانت نقطة النهاية لديك بطيئة، أو أعادت خطأ، أو أعادت شيئًا غير قابل للاستخدام، نُرسل الرسالة message العادية للإجراء بدلًا من ذلك. لا نُعيد أبدًا محاولة استدعاء فاشل لنقطة النهاية لديك، لأن إعادة المحاولة قد تُرسل رسالة خاصة ثانية. في Get Activity، يُوضّح messageSource النص الذي بُنيت منه send_dm: نص نقطة النهاية لديك أو message العادية. يُسجَّل بمجرد اختيار النص، بما في ذلك عندما يفشل الإرسال بعد ذلك، لذا اقرأ status لمعرفة ما إذا كانت الرسالة الخاصة قد أُرسلت. راجع محتوى الرسالة الديناميكي.
  • 24 سبتمبر - webhooks أتمتة Instagram تحمل سياقها ويمكنها الإبلاغ عن النتيجة. يتضمن الـ webhook الذي تُطلقه أتمتة الآن activityId وactionId وeventId وcommentId وcommentText وpostId وstoryId، بحيث يمكنك مطابقته بدقة مع صفه من Get Activity بدلًا من التخمين من recipientId وtriggerId والكلمة المفتاحية، وهو ما كان ملتبسًا عندما يُعلّق شخصان بالكلمة المفتاحية نفسها في الوقت ذاته. اضبط “sendCompletedEvent”: true على إجراء fire_webhook الخاص بالأتمتة لتتلقى أيضًا automation.completed عند انتهاء الإرسال، مع status الخاصة به ونتائج كل إجراء، بحيث تعرف النتيجة عادةً دون استطلاع (يبقى Get Activity السجل الذي تطابق مقابله). يحمل كلا الحدثين الآن حقل type (automation.triggered أو automation.completed)؛ كل حقل موجود لم يتغيّر، والمستقبِل الذي لا يُفعّل الخيار لا يزال يحصل على حمولة واحدة بالضبط لكل إطلاق. راجع أحداث webhook.
  • 24 سبتمبر - شغّل أتمتة تعليقات على كل منشور، لا أتمتة لكل منشور. يمكن لمشغّل comment_keyword الآن أن يقبل “all” كقيمة لـ postId، بحيث تُطلق القاعدة عندما يُعلّق شخص ما بكلمة مفتاحية على أي منشور أو Reel على الحساب المتصل. في السابق كان يجب أن يسمّي postId قطعة محتوى واحدة محددة، ما كان يعني إنشاء أتمتة جديدة في كل مرة تنشر فيها — وقاعدة لا تغطي شيئًا بصمت إذا نسيت. تقبل مشغّلات الستوري “all” لـ storyId بالطريقة نفسها. لا يصل “all” أبدًا إلى محتوى ملف شخصي آخر، ويسري حدّك اليومي للرسائل الخاصة وقواعد الإرسال المرتبطة بالتفاعل تمامًا كما تسري على قاعدة منشور واحد. تُحتسب إزالة التكرار لكل أتمتة، لذا في قاعدة “all” يحصل من يُعلّق على منشورين داخل نافذة إزالة التكرار على رسالة خاصة واحدة. تعيين dedupWindowMinutes إلى 0 يُرسل رسالة خاصة لكل تعليق مطابق، بما في ذلك التعليقات المتكررة على المنشور نفسه. يجب أن تكون القيمة بالضبط “all” بأحرف صغيرة؛ وتُرفض الآن صيغة مغايرة مثل “ALL” بدلًا من حفظها كقاعدة لا تُطلق أبدًا. كما لم تعد تعليقاتك أنت تُنفّذ إجراءي fire_webhook أو send_email الخاصين بأتمتة. كان الردّ على متابعيك بكلمة مفتاحية يُطلقهما، وهو ما كانت قاعدة “all” ستفعله على كل منشور؛ تُسجَّل تلك الأنشطة الآن بوصفها skipped، كما كان الحال بالفعل مع الرسالة الخاصة. الأتمتة الموجودة لا تتأثر — لا يزال postId المحدد يطابق ذلك المنشور فقط. راجع القواعد الدائمة. في مشغّلات الستوري، لا يزال حذف storyId يسلك السلوك نفسه الذي تسلكه “all”، لكن فضّل القيمة الصريحة: سيُوقف العمل بالحذف في إصدار مستقبلي، مع الإعلان المسبق في التغييرات القادمة في واجهة برمجة التطبيقات.
  • 24 سبتمبر - تعليقات X على رد تُعيد الآن ردوده. كان طلب Get Comments لمنشور X هو نفسه رد يُعيد قائمة فارغة حتى عندما تكون لذلك المنشور ردود خاصة به، لأن Ayrshare كان يبحث في المحادثة الخطأ. تُعيد هذه المنشورات الآن ردودها. أما منشور X الذي يبدأ محادثته الخاصة فلم يتغيّر، ولا يزال يُعيد كل ما كان يُعيده من قبل. وبشكل منفصل، عندما ترفض X القراءة على حساب X Developer الخاص بك، تحصل الآن على خطأ محدد النوع بدلًا من قائمة فارغة: code: 416 (HTTP 402) عند نفاد أرصدة X لديك، وcode: 364 (HTTP 429) عندما تفرض X حد المعدل على الطلب، فلم يعد “نفاد الأرصدة” يبدو مثل “لا توجد تعليقات”. لا يُخزَّن أيٌّ منهما مؤقتًا، لذا تُعاد محاولة القراءة بمجرد إصلاح السبب، وفي القراءة متعددة المنصات تكون الاستجابة status: “partial” مع إدراج ساق X الفاشلة في errors[]، كما هو الحال بالفعل مع السيقان الفاشلة الأخرى. والمنشور المحذوف، أو الذي لا تستطيع بيانات اعتماد X الخاصة بك رؤيته، لا يزال يُعيد قائمة فارغة دون خطأ. راجع رمزي الخطأ 364 و416.
  • 21 سبتمبر - Get Messages يعيد صفحات محدودة على X/Twitter أيضًا. طلب Get Messages لـ X/Twitter المُرسَل بدون limit يعيد الآن ما يصل إلى 100 رسالة مخزَّنة — أو ما يصل إلى 100 محادثة مع conversationsOnly — بالإضافة إلى مؤشر meta.pagination. هذا هو الطلب الذي كان يعيد سابقًا سجلك المخزَّن بأكمله في استجابة واحدة، لذا فإن التكامل الذي لم يتبع المؤشر قط سيرى الآن أحدث 100 فقط ويجب أن يتبع meta.pagination.next للحصول على الباقي. استمر ما دامت meta.pagination.hasMore تساوي true. لا تزال status وaction وconversationsOnly تنطبق على ذلك الطلب، لكنها تنطبق الآن على صفحة محدودة واحدة في كل مرة: قد تعود الصفحة المفلترة قصيرة، أو فارغة مع بقاء hasMore تساوي true، لذا اتبع المؤشر بدلًا من اعتبار الصفحة القصيرة نهاية النتائج. إرسال limit على X/Twitter لم يتغيّر ولا يزال يصفّح الخط الزمني المباشر على X عبر مؤشر X نفسه، وهو لا يطبّق أيًّا من هذه الفلاتر الثلاثة. أصبح المؤشر الآن يسجّل أيّ المجموعتين جاء منها، لذا لن يؤدي إرسال limit أو حذفه عند تتبُّع أحد المؤشرين إلى تحويلك بصمت إلى المجموعة الأخرى.
  • 21 سبتمبر - تحليلات Google Business Profile تدعم النطاقات الزمنية والقيم اليومية. تدعم التحليلات على شبكة اجتماعية الآن quarters وdaily لـ gmb، بنفس الطريقة التي تدعمهما بها بالفعل لكل من Facebook وInstagram وSnapchat وTikTok وYouTube. مرّر quarters (من 1 إلى 4، كل منها 90 يومًا) لإعداد تقرير عن نافذة زمنية حديثة بدلًا من إجماليات الـ 24 شهرًا الأخيرة الثابتة، وdaily: true للحصول على كل مقياس كسلسلة values يومية مع total، بحيث يمكنك بناء تقارير الشهر الماضي أو الربع الماضي ومخططات السلاسل الزمنية من بيانات Google Business Profile. في السابق، كان كلا المعاملين يُتجاهل بصمت لـ gmb ولم تكن متاحة سوى إجماليات الـ 24 شهرًا. تحقق من هذا إذا كنت ترسل بالفعل quarters أو daily في طلب يتضمن gmb: كان هذان المعاملان يُتجاهلان لهذه الشبكة في السابق، لذا فإن الطلب نفسه دون أي تغيير يعيد الآن نافذة أضيق، ومع daily: true يصل كل مقياس من مقاييس gmb ككائن بدلًا من رقم واحد — الشيفرة التي ترسم هذه القيم أو تجمعها تحتاج إلى قراءة total (أو سلسلة values) بدلًا من المقياس مباشرة. الطلب الذي يرسل gmb دون أي من المعاملين لم يتغيّر إطلاقًا. وعندما يكون هناك نطاق زمني نشط، تحمل الاستجابة أيضًا quarters.
  • 21 سبتمبر - quarters: 0 يعني الآن كل الأوقات على Facebook وYouTube أيضًا. في التحليلات على شبكة اجتماعية، كان إرسال quarters: 0 موثّقًا دائمًا على أنه “بدون نطاق زمني” — أي بيانات كل الأوقات نفسها التي تحصل عليها بحذف المعامل — وهذا ما كانت تفعله Instagram وSnapchat وTikTok. أما Facebook وYouTube فلم يفعلا ذلك: كانا يقرآن أي قيمة لـ quarters على أنها طلب لنطاق زمني ويعيدان بهدوء ربعًا واحدًا، بحيث كان quarters: 0 يمنحك نحو 85 يومًا على Facebook بدلًا من النافذة الكاملة، والقيمة التي لا تستطيع هاتان الشبكتان قراءتها كرقم لم تكن تعيد أي نافذة قابلة للاستخدام إطلاقًا. أصبح كلاهما الآن يطابق السلوك الموثّق وكل شبكة أخرى. تحقق من هذا إذا كنت ترسل quarters: 0 أو قيمة quarters سالبة أو غير رقمية إلى Facebook أو YouTube: الطلب نفسه دون أي تغيير يعيد الآن نافذة كل الأوقات الكاملة بدلًا من ربع واحد، لذا فالأرقام أكبر وتغطي الاستجابة فترة أطول. إرسال quarters: 1 يمنحك الربع الواحد الذي كنت تحصل عليه سابقًا عن غير قصد. أما الطلبات التي تحمل quarters من 1 إلى 4، والطلبات التي تحذفه تمامًا، فلم تتغيّر على أي شبكة.
  • 18 سبتمبر - اربط الحسابات الاجتماعية من داخل لوحة التحكم الخاصة بك. أداة Ayrshare Connect هي وسم سكربت واحد: حمّله، وضع فتحة (slot) حيثما يليق موضع شبكة في تخطيطك، فنعرض هناك زر ربط يُظهر مسبقًا ما إذا كان ذلك الحساب مرتبطًا. حتى الآن كانت الطريقتان الوحيدتان للسماح لمستخدم بالربط هما إرساله إلى صفحة نستضيفها نحن، أو بناء الأمر بنفسك — جلسة لكل شبكة، ونافذة منبثقة تُفتح بشكل متزامن في معالج النقر، وفحص event.origin، واستطلاع popup.closed مع مهلة سماح، وكل ذلك تمديدات متصفح كان عليك ضبطها صحيحًا قبل ربط أول حساب. الأداة تتولى ذلك كله، وفك الربط أيضًا، وتبلّغ عما يحدث عبر عشرة أحداث — بما فيها state، الذي يمنحك حالة الحساب الحية لكل شبكة عند التركيب وعند كل تغيّر، فلا تستطلعها أبدًا. نسّقها برموز التصميم —ayr-connect-*، وأضف إدخالي script-src وframe-src إذا كانت صفحتك ترسل Content-Security-Policy. تتطلب الأداة Max Pack. راجع أداة Ayrshare Connect.
  • 17 سبتمبر - Get Messages يعيد الآن صفحات محدودة من السجل المخزَّن. يعيد Get Messages الآن ما يصل إلى 100 رسالة أو محادثة افتراضيًا على Facebook وInstagram وWhatsApp. في السابق، كان حذف limit قد يؤدي إلى تحميل السجل المخزَّن بأكمله، مستنفدًا ذاكرة الخادم ومقاطعًا الطلبات الأخرى بأخطاء 503/504. القيمة الافتراضية والحد الأقصى كلاهما 100؛ اضبط limit على عدد صحيح من 1 إلى 100 للحصول على صفحات أصغر. لاسترجاع المزيد، مرّر meta.pagination.next كمعامل next في الطلب التالي مع نفس الملف الشخصي والفلاتر. استمر ما دامت meta.pagination.hasMore تساوي true، حتى بعد صفحة مفلترة قصيرة أو فارغة. تبقى حقول الاستجابة الحالية كما هي، لكن تكاملات Facebook وInstagram وWhatsApp التي تتوقع كامل السجل في استجابة واحدة يجب أن تتبع المؤشر الآن. لم يتغيّر سلوك X/Twitter ولا عقد مؤشر مزود الخدمة الاختياري الحالي الخاص به — وقد تبعت X/Twitter الخطوة نفسها في 21 سبتمبر، راجع ذلك الإدخال أعلاه.
  • 14 سبتمبر - خيارات X وThreads الخاصة بك تنطبق الآن على الـ threads. كان نشر thread يُسقط تقريبًا كل خيار ترسله معه. وكان الفيديو الطويل أوضح الحالات: كان longVideo: true مع thread: true يُرفض بـ code: 182 — “حد أقصى 140 ثانية” — قبل أن يصل المنشور إلى X أصلًا، فلم يكن الفيديو الطويل يعمل في thread إطلاقًا. أصبح ذلك يُنشر الآن، مع التحقق منه مقابل حد الفيديو الطويل البالغ 4 ساعات بدلًا من الحد القياسي البالغ دقيقتين و20 ثانية. أما النصف الأهدأ فقد أثّر في عدد أكبر بكثير من المنشورات: كانت altText والترجمات وقيود الموقع الجغرافي وreplySettings وsubscribersOnly وخيارات Pro Media تُسقط بصمت — كان الـ thread يُنشر ولا تُطبَّق الخيارات ببساطة، دون أي شيء في الاستجابة يشير إلى ذلك. وعلى Threads، كان allowCountries يُسقط بالطريقة نفسها. كل هذه الخيارات تنطبق الآن. ينطبق معظمها على كل منشور في الـ thread؛ وتنطبق poll وquoteTweetId وreplyId وreplySettings على المنشور الأول فقط، لأن ذلك هو الموضع الذي تقبلها فيه X. ينطبق altText والترجمات على وسائط المنشور الأول فقط — تُنشر وسائط المنشورات اللاحقة بدونها، فلا تتوقع بعد أوصافًا لكل صورة عبر thread متعدد الوسائط. راجع الخيارات التي تنطبق على thread. هناك تغييران يستحقان انتباهك إذا كنت ترسل خيارات على الـ threads بالفعل. الخيار الذي لا يحق لحسابك استخدامه أصبح الآن يُفشل الـ thread بدلًا من أن يُتجاهل: subscribersOnly من حساب بدون X Subscriptions يعيد code: 111 ولا يُنشر أي شيء، بينما كان الـ thread يخرج علنًا في السابق. وعلى Threads، يعيد allowCountries من حساب لم تجعله Meta مؤهلًا لقيود الموقع الجغرافي code: 101 ولا يُنشر أي شيء، بينما كان الـ thread يخرج دون قيود في السابق — تحقق أولًا من isEligibleForGeoRestrictions في /user. كلاهما يطابق ما كان المنشور الواحد يفعله دائمًا. وأخيرًا، أصبح إرسال longPost مع thread يعيد الآن تحذيرًا يفيد بأن longPost تم تجاهله؛ ويُنشر الـ thread رغم ذلك، لأن الـ thread يقسم نصك على منشورات منفصلة ولا يمكن نشر أي شيء بصيغة المنشور الطويل. أصبحت الرموز 182 و101 و111 و275 موثّقة الآن في رموز الأخطاء.
  • 14 سبتمبر - إرفاق موسيقى مرخّصة بـ Instagram Reel. يمكنك الآن البحث في كتالوج الصوت في Instagram وإرفاق مقطع مرخّص عند نشر Reel. اعثر على مقطع باستخدام GET /media/instagram/audio/search، وتحقق من مقطع لديك بالفعل باستخدام استعلام الصوت، ثم مرّر معرّفه كـ instagramOptions.audioConfiguration.audioId في منشورك. يحدّد audioVolume وvideoVolume الاختياريان (عددان صحيحان من 0 إلى 100) كيفية مزج المقطع مع الصوت الخاص بالفيديو نفسه؛ إذا أغفلتهما يطبّق Instagram قيمته الافتراضية 100. لا تحتاج إلى reels: true أو isVideo: true — يُكتشف عنوان URL للفيديو على أنه Reel تلقائيًا ويقبل الموسيقى بالطريقة نفسها. الموسيقى لـ Reels فقط: تعيد Stories والصور والـ carousels الرمز code: 515. لم يتغيّر audioName الحالي وما زال يضبط فقط تسمية عرض على صوت موجود بالفعل في الفيديو الخاص بك؛ إذا أرسلت الاثنين، تفوز audioConfiguration ويُسقط audioName، ويعود تحذير غير جسيم بالرمز code: 518 في postIds[].warnings[] مع بقاء المنشور منشورًا. متطلب واحد ينبغي التحقق منه أولًا: لا تتيح Meta الـ Audio API الخاص بها إلا لحسابات Instagram المتصلة من خلال Facebook Login، وهو ما يحتاج إلى صفحة Facebook مرتبطة بحساب Instagram. الحساب المرتبط بواسطة Instagram Login — الإعداد الافتراضي — يعيد code: 514 في كل استدعاء صوت، ولا يغيّر ذلك أي إذن أو خطة. راجع أهلية إرفاق الموسيقى لمعرفة كيفية التبديل، ورموز الأخطاء من 514 إلى 518.
  • 11 سبتمبر - الإعلانات المُعزَّزة على Facebook: أزرار دعوة إلى الإجراء، وهدف زيارات، وبحث في الاهتمامات مُدرك للفئات. تقبل Boost Post هدف traffic الجديد الذي يُحسّن للنقرات على الروابط خارج المنصة، وكائن callToAction الذي يطلب زرًا على المنشور المُعزَّز — APPLY_NOW وSHOP_NOW وLEARN_MORE وستة أخرى — يفتح أي عنوان URL توجّهه إليه. في لوحة التحكم، اختر Drive Traffic (جلب الزيارات) لتعيين عنوان URL للوجهة ونوع الزر والعنوان الاختياري. وتحدد Meta كيفية ظهور الزر على المنشور الموجود. يُعاد callToAction في استجابة التعزيز وعلى الإعلان لاحقًا من الإعلانات المُعزَّزة. حصلت الاهتمامات على معامل استعلام specialAdCategories، بحيث يمكن لحملة إسكان أو توظيف أو حملة مالية أو سياسية أن تبحث فقط في الاهتمامات التي تسمح Meta لها باستهدافها، بدلاً من اختيار معرّفات يُرفض الإعلان لاحقًا بسببها. على كلتا النقطتين النهائيتين، أصبحت financial_product_services وfinancial_products_services تُقبلان الآن كفئة واحدة نفسها — وكذلك credit، اسم Meta السابق لها — بحيث تعمل التهجئة الواردة في هذه الوثائق والتهجئة التي ربما نسختها من Meta كلتاهما. ثلاثة تغييرات تتطلب إجراءً إذا كانت تنطبق عليك. أولاً، كان callToAction يُقبل سابقًا مع أي هدف ثم يُتجاهل بصمت، مما ينتج إعلانًا بلا زر؛ وأصبح الآن يعيد code: 101 ما لم يكن الهدف traffic. ثانيًا، كانت قيمة specialAdCategories غير المتعارف عليها في Boost Post تُسقط وتُنشأ الحملة دون تصنيف، تاركةً إعلانًا خاضعًا للتنظيم يعمل دون التصريح بأي فئة؛ وأصبحت الآن تعيد code: 101 مع سرد القيم المقبولة. ثالثًا، أصبح accountId مطلوبًا الآن في الاهتمامات عند تقديم specialAdCategories، لأن Meta لا تتيح البحث في الاهتمامات المُدرك للفئات إلا على حساب إعلانات — أما بحث الاهتمامات دون specialAdCategories فلم يتغيّر إطلاقًا ولا يزال لا يحتاج إلى accountId. وعندما تقدّمه، يجب أن يكون accountId رقميًا (لا بأس بالبادئة act_)؛ وأي شيء آخر يُرفض الآن بـ code: 101 بدلاً من إرساله إلى Meta كما هو.
  • 8 سبتمبر - استدعاء واحد يعيد حالة الحساب لكل شبكة. يقبل GET /profiles الآن include=state، الذي يعيد قيمة state مُوحَّدة واحدة بالضبط لكل شبكة اجتماعية لـ User Profile — linked أو unlinked أو suspended أو restricted أو rateLimited أو identityVerificationRequired — كل منها مع actionable وmessage وhelpUrl. في السابق كان عليك تجميع الصورة نفسها بنفسك من كتل suspension وsocialHealth وlinkingErrors وتقرير أي حالة تسود. كل شبكة حاضرة دائمًا، فالشبكة التي لم تُربط قط تبلّغ عن unlinked بدلًا من أن تغيب، وactionable هو ما يخبرك بما إذا كان ينبغي أن تعرض لمستخدمك زرًا. يتطلب refId، فهو استعلام لملف شخصي واحد.
  • 7 سبتمبر - إلغاء الخطة الشهرية فورًا، مع استرداد تلقائي للأموال. أصبح إلغاء الاشتراك الشهري من صفحة “Account” يقدّم الآن خيارًا ثانيًا: إنهاء الخطة اليوم واسترداد أموالك تلقائيًا، إلى طريقة الدفع الأصلية وبالعملة التي فُوترت بها. إذا ألغيت خلال 48 ساعة من الخصم، نعيد لك هذه الدفعة بالكامل؛ بعد ذلك نعيد الجزء غير المستخدم من فترة الفوترة. وفي الحالتين، تعرض لك لوحة التحكم الأرقام قبل أن تؤكد. في السابق، كان الخيار الذاتي الوحيد هو الإلغاء في نهاية دورة الفوترة، فكان الاسترداد يعني مراسلة الدعم وانتظار أن يتولى أحدهم احتسابه يدويًا. ثلاثة أمور ينبغي معرفتها قبل استخدامه: ينتهي وصولك لحظة التأكيد بدلًا من نهاية الفترة، وهو ما يبدأ أيضًا حذف منشوراتك وتحليلاتك وحسابات التواصل الاجتماعي المرتبطة في وقت أبكر؛ وأي استخدام بحسب الاستهلاك لم تصدر له فاتورة بعد يُفوتر بشكل منفصل بدلًا من خصمه من مبلغ الاسترداد؛ وهو خيار لمرة واحدة لكل حساب. أما الخطط السنوية فلا تزال تُلغى في نهاية فترة الفوترة. وبشكل منفصل، إذا فشلت أحدث دفعة لك، فإن الإلغاء ينهي الخطة فورًا في أي خطة بدلًا من جدولته، وتُلغى الفاتورة غير المدفوعة عندما يكون أول فشل لتلك الدفعة قبل أقل من 48 ساعة. راجع كيفية تغيير اشتراكك أو إلغائه.
  • 7 سبتمبر - تحليلات LinkedIn للمنشورات الأقدم تُحدَّث بوتيرة أقل، وnextUpdate يخبرك متى. أصبحت تحليلات منشور LinkedIn الذي مضى عليه أكثر من نحو عشرة أيام تأتي الآن من ذاكرة التخزين المؤقت لمدة تصل إلى بضعة أيام في كل مرة، بدلًا من إعادة جلبها كل إحدى عشرة دقيقة. يصل معظم التفاعل على المنشور في أيامه الأولى؛ وبعد ذلك كانت الأرقام نفسها التي لم تتغير تُعاد جلبها نحو 130 مرة في اليوم، بينما يضع LinkedIn سقفًا لعدد طلبات التحليلات التي يمكن لتطبيقنا إجراؤها يوميًا عبر جميع الحسابات — فكان ذلك السقف يُستهلك على بيانات لا يمكن أن تكون قد تغيّرت. منشور LinkedIn الحديث لا يتأثر ويحتفظ بوتيرة الإحدى عشرة دقيقة نفسها، ولا تتغير أي شبكة اجتماعية أخرى على الإطلاق. ما تغيّر في كل مكان هو أن nextUpdate بات الآن يُبلغ عن الفاصل الزمني المطبَّق فعليًا على الاستجابة التي بين يديك، بدلًا من إحدى عشرة دقيقة ثابتة — فعلى بعض الشبكات كان ذلك الفاصل أطول أصلًا من إحدى عشرة دقيقة ولم يكن يُبلَّغ عنه بدقة. إذا كنت تستطلع، فاقرأه من كل استجابة بدلًا من استخدام مؤقّت ثابت. لا يُحذف أي حقل ولا يُعاد تسميته، ولا يُرفض أي طلب، وتحتفظ تحليلات الحسابات بفاصلها الزمني الخاص. راجع مدى حداثة البيانات.
  • 7 سبتمبر - اعرف لحظة ربط مستخدمك حسابًا. مرّر origin عندما تنشئ جلسة ربط، وافتح url المُعاد في نافذة منبثقة، فتُخبَر صفحتك أنت بما يقع فيها: connect:success عند ربط حساب، وconnect:error مع رمز عند الفشل، وconnect:cancelled عند تراجع مستخدمك. في السابق كانت الطريقة الوحيدة لمعرفة ذلك هي الاستطلاع، أو استخدام معامل redirect وترك صفحتك تُنقَل بعيدًا وتُعاد تحميلها — وهو ما كان يُضيع أي حالة كانت أمام مستخدمك. تُرسل الأحداث عبر postMessage إلى ذلك الأصل بالضبط ولا إلى أي مكان آخر، ولا يصل connect:success إلا بعد حفظ الحساب، فاستدعاء GET /user بعده مباشرةً يُظهر الاتصال بالفعل. يصل حدث نتيجة واحد بالضبط لكل عملية ربط. لا شيء يتغير للروابط المُنشأة دون origin، ويستمر redirect في العمل تمامًا كما كان، بما في ذلك معامل الاستعلام origin=true الخاص به — وهو غير مرتبط بمعامل الجسم الجديد origin أعلاه، وليس مهملًا. وإذا تعذر عليك استخدام نافذة منبثقة، فإن الحصول على Link Session يبلّغ الآن أيضًا عن completedAt وlastCompletedAt وcompletedNetworks، وهي الإشارة نفسها دون المتصفح — والوحيدة لـ Telegram، الذي يكتمل خارج النطاق. راجع أحداث اكتمال الربط.
  • 2 سبتمبر - Reels تقبل الآن عناوين URL للفيديو تحتوي على سلسلة استعلام. كان نشر Reel على Facebook أو Instagram بعنوان URL لوسائط من CDN موقّع أو Firebase Storage — أي عنوان URL يحمل سلسلة استعلام ? بعد اسم الملف — يُرفض بـ code: 170 قبل أن يصل المنشور إلى الشبكة أصلًا، مُبلغًا عن أصول وسائط غير صحيحة رغم أن الفيديو كان صالحًا. أصبح نوع الوسائط يُقرأ الآن من مسار عنوان URL، بحيث يُتعرَّف على عنوان URL مثل https://cdn.example.com/reel.mp4?Expires=1756700000 كفيديو ويُنشر بشكل طبيعي. لم تعد بحاجة إلى isVideo: true كحل التفافي — فهو لا يزال يعمل، ولا يزال ضبط isVideo: false صراحةً يفرض المعالجة كصورة. بدون isVideo: true، لا يزال Reel الذي لا يحمل مساره في عنوان URL امتداد فيديو يُرفض بـ code: 170 — لكن الرسالة باتت الآن تُسمّي ذلك سببًا وتشير إلى isVideo بدلًا من إرشادات الوسائط. ينطبق التصحيح نفسه على حدود الوسائط لكل منشور على Facebook وLinkedIn وPinterest وTikTok، حيث يكون حد الفيديو أقل من حد الصور: أصبح عنوان URL لفيديو يحمل سلسلة استعلام يُحتسب الآن ضمن حد الفيديو بدلًا من حد الصور، بحيث يُرفض الآن بشكل صحيح فيديوهان من هذا النوع في منشور واحد بعد أن كانا يمرّان سابقًا. راجع إرشادات الوسائط.
  • 2 سبتمبر - WhatsApp مُدرج الآن ضمن شبكات التواصل الاجتماعي المدعومة. يظهر WhatsApp الآن في قوائم وأعداد شبكات التواصل الاجتماعي المدعومة عبر الوثائق، بحيث يمكنك العثور عليه دون أن تحتاج إلى معرفة أنه ينبغي البحث عنه. على Ayrshare، يُعدّ WhatsApp شبكة مراسلة: استرجع المحادثات والرسائل الواردة باستخدام GET /messages/:platform وأرسل باستخدام POST /messages/:platform عبر Messaging API، وراجع متطلبات وسائط WhatsApp لمعرفة ما يمكنك إرفاقه. لم يتغيّر شيء في سلوك WhatsApp في هذا الإصدار — تغيّر فقط موضع توثيقه.
  • 1 سبتمبر - فيديوهات Bluesky حتى 10 دقائق و300 MB. رفعت Bluesky حدود الفيديو لديها في 26 أغسطس، وأصبح Ayrshare يقبل الآن السقوف الجديدة: يمكن أن يصل طول فيديو Bluesky إلى 10 دقائق وحجمه إلى 300 MB — ارتفاعًا من 3 دقائق و100 MB. في السابق كان الفيديو الأطول أو الأكبر يُرفض قبل النشر بخطأ التحقق video-too-long أو video-too-large، رغم أن Bluesky نفسها كانت ستقبله. لا يتغير شيء في طريقة النشر: أرسل mediaUrls نفسها كما من قبل. راجع إرشادات وسائط Bluesky للاطلاع على المتطلبات الكاملة.

أغسطس 2026

  • 31 أغسطس - أنشئ عناوين URL للربط الاجتماعي دون مفتاح خاص، وأبطِلها. تُنشئ إنشاء Link Session عنوان URL للربط الاجتماعي من مفتاح API الخاص بك وProfile-Key وحدهما — لا privateKey ولا شيء يُوقَّع. في السابق كان كل عنوان URL للربط يتطلب منك إرسال مفتاح RSA الخاص الذي أصدرناه لك، ما كان يعني تخزينه، وقراءته من القرص عند كل استدعاء، وتصحيح أخطاء code: 189 “no start line” عندما يتسلل سطر جديد شارد إلى ملف PEM. يمكنك الآن أيضًا معرفة ما إذا كان رابط قد فُتح عبر الحصول على Link Session، وإيقاف رابط قبل انتهاء صلاحيته عبر إبطال Link Session — فقد كان عنوان URL المُرسل إلى العنوان الخطأ يظل صالحًا حتى تنقضي مهلته، دون أي وسيلة لاسترجاعه. ويستمر إنشاء رابط ربط (generateJWT) في العمل: لا تزال privateKey وbase64 وverify تُقبل وباتت الآن تُتجاهل، ويبقى domain اختياريًا ولا يزال يُتحقق منه، والروابط التي سلّمتها بالفعل لا تتأثر. إذا كنت تمرّر url المُعاد مباشرةً إلى مستخدمك، فلن يتغير لديك أي شيء على الإطلاق. حالة واحدة تحتاج إلى تغيير: أصبح token الآن سلسلة معتّمة تبدأ بـ ayr_ls_ بدلًا من JWT قابل لفك التشفير، لذا يتوقف عن العمل أي تكامل يفك تشفيره لقراءة مطالبات apiKey أو profileKey أو exp. اقرأ وقت انتهاء الصلاحية من حقل expiresIn بدلًا من ذلك؛ وبالنسبة للقيمتين الأخريين، استخدم القيم التي أرسلتها بالفعل، إذ لم يكن التوكن يفعل شيئًا سوى إعادة ترديدها إليك.
  • 27 أغسطس - أخطاء Instagram الداخلية العامة (Generic Internal Errors) لم تعد تطلب منك إعادة الربط. منشور Instagram الذي يفشل بـ error_subcode 2207085 من Meta (“Generic Internal Error”، خطأ داخلي عام) تُعاد محاولته الآن تلقائيًا لمدة تصل إلى نحو 50 ثانية قبل إرجاع الخطأ، ولم تعد استجابة code: 258 تُعيّن relink: true. كانت تلك العلامة تخبر التكاملات بأن الحساب قد انقطع اتصاله، فكان العملاء يُلغون ربط حسابات لم تتعطل قط ويعيدون ربطها — بينما ظل الحساب نفسه ينشر بنجاح بين الإخفاقات على رمز وصول لم يتغيّر. أعد محاولة نشر المنشور بعد بضع دقائق؛ وفقط إذا استمر الخطأ أكثر من 24-48 ساعة تنطبق إعادة الربط، أو التواصل مع دعم Meta مع fbtrace_id الذي بات يُرجَع الآن في details. راجع رموز الأخطاء.
  • 26 أغسطس - webhooks الرسائل باتت تخبرك عندما ينقطع اتصال اجتماعي. أصبح webhook رسالة Facebook أو Instagram يحمل الآن connectionDegraded: true عندما نعجز عن استرجاع البيانات الوصفية لتلك الرسالة من الشبكة الاجتماعية. يجري استعلام conversationId وsenderDetails عند وصول كل رسالة، وتُضبط العلامة كلما فشل ذلك الاستعلام — عادةً لأن اتصال User Profile قد انتهت صلاحيته أو أُبطل، وإن كان خطأ عابر في Graph API يضبطها أيضًا. في السابق كانت الطريقة الوحيدة لملاحظة ذلك هي رصد غياب هذين الحقلين، وهو ما لن يفعله أبدًا تكامل يكتفي بالاستماع؛ ظهور العلامة على كل رسالة من ملف شخصي يعني أن بيانات الاعتماد ميتة، بينما ظهورها على رسالة واحدة كان عارضًا مؤقتًا. تستمر الرسائل الواردة في الوصول طوال الوقت، فلا يُفقد شيء، لكن ما دامت العلامة مضبوطة فسيفشل أيضًا الرد وجلب سجل المحادثة عبر API، لأن كليهما يحتاج إلى بيانات الاعتماد نفسها. تعامل معها كإشارة إلى أن على ذلك الملف الشخصي إعادة ربط الحساب. بشكل منفصل، أصبحت رسائل Facebook تستعيد الآن conversationId الخاص بها من سجل رسائلك المخزَّن أثناء تدهور الاتصال، بحيث يبقى الخيط الجاري مترابطًا بدلًا من وصوله غير مرتبط؛ وكان Instagram يفعل ذلك بالفعل. لا يتغير شيء على اتصال سليم — الحقل يُحذف بدلًا من إرساله بقيمة false. راجع أحداث الرسائل الجديدة.
  • 25 أغسطس - عمليات تسليم Webhook باتت الآن تنجو من تعطل نقطة النهاية. في السابق كانت عملية تسليم webhook الفاشلة تُعاد محاولتها مرتين فقط — بعد 5 ثوانٍ ثم 30 ثانية — فكانت كل المحاولات تنتهي خلال نحو 35 ثانية. ونقطة النهاية التي تظل متعطلة لمدة أطول من ذلك كانت تفقد الحدث نهائيًا. باتت الأعطال المؤقتة الآن تحصل على ما يصل إلى 9 محاولات إرسال على مدى ساعة تقريبًا — الإرسال الأول زائد 8 إعادات — ثم تُحاول عملية التسليم مرة أخرى وفق جدول متباعد بعد نحو 5 دقائق و30 دقيقة وساعتين و12 ساعة، لذا قد تصل عملية التسليم بعد نحو 16 ساعة من الحدث الأصلي. نقطة النهاية التي يتعذر الوصول إليها، أو تنتهي مهلتها، أو تُعيد 5xx أثناء عطل أو نافذة صيانة لم تعد تُكلّفك الإشعار. لاحظ أن ذلك يعتمد على كيفية فشل نقطة النهاية: عملية نشر (deploy) تُعيد 404 لأن المسار لم يُسجَّل بعد هي رفض، وليست عطلًا مؤقتًا، وتظل نهائية من المحاولة الأولى. ينطبق هذا على استجابات 429 و408 و425، وأي 5xx، وانتهاء المهلة، وانقطاع الاتصال. أما أي 4xx أخرى — 400 أو 401 أو 403 أو 404 أو 410 — فتُعتبر الآن نهائية من المحاولة الأولى، لأن تكرار طلب رفضته نقطة النهاية لديك صراحةً لا يمكن أن يُغيّر النتيجة؛ يسرد سجل Webhook (Premium) عمليات التسليم الأخيرة لديك لترى أيها فشل — وهو للقراءة فقط ولا يعيد إرسالها. وبما أن إعادات المحاولة قد تصل الآن بعد ساعات عديدة، يجب أن يبقى مفتاح منع الازدواج لديك صالحًا لمدة 24 ساعة على الأقل؛ فالمفتاح الذي تنتهي صلاحيته قبل ذلك لن يتعرّف على إعادة محاولة متأخرة وستعالج الحدث نفسه مرتين. راجع نظرة عامة على Webhooks للاطلاع على العقد الكامل.
  • 24 أغسطس - webhooks التعليقات والإشارات باتت تحمل معرّف منشور Ayrshare. أصبحت حمولات webhook الخاصة بـ comments و mentions تتضمن الآن postId — معرّف id الخاص بـ Ayrshare للمنشور الذي وقع عليه الحدث، وهو المعرّف نفسه الذي أعادته نقطة النهاية Post عند إنشائه. في السابق كانت الحمولة تحمل فقط معرّف الشبكة نفسها لذلك المنشور (media.id على تعليق Instagram، وmedia_id على إشارة Instagram، وpost_id على Facebook)، لذا كانت مطابقة حدث بالمنشور الذي أنشأته تعني الاحتفاظ بخريطتك الخاصة من المعرّفات الأصلية إلى معرّفات Ayrshare. يمكنك الاستغناء عن تلك الخريطة. يعمل postId على أساس بذل قصارى الجهد ويُحذف بدلًا من إرساله فارغًا عندما يتعذر تحديده: إذا أُنشئ المنشور مباشرةً في تطبيق Instagram أو Facebook بدلًا من Ayrshare، أو نُشر قبل إطلاق هذه الميزة (لا يوجد ملء بأثر رجعي)، أو كان يخص User Profile مختلفًا مرتبطًا بالحساب نفسه. أما على mentions فهو غائب عادةً، لأن الإشارة تكون في العادة على منشور شخص آخر. تعامل مع غياب postId على أنه “ليس أحد منشوراتي”، وليس على أنه خطأ. راجع ربط تعليق بالمنشور الذي أنشأته.
  • 24 أغسطس - webhooks التعليقات والإشارات باتت تُسمّي الشبكة. أصبحت حمولات webhook الخاصة بـ comments و mentions تحمل الآن حقل platform يُسمّي الشبكة الاجتماعية التي جاء منها الحدث. الأثر الأكبر يظهر على comments: يصل تعليق Instagram بـ id و text و media.id، بينما يصل تعليق صفحة Facebook كتغيير feed يحمل comment_id و post_id و message — لذا كان على endpoint مسجَّل لكليهما استنتاج الشبكة من أسماء الحقول الحاضرة. بدلًا من ذلك، تفرَّع بحسب platform إلى instagram أو facebook. أما على mentions فتكون دائمًا instagram، إذ لا تُسلَّم اليوم إشارات صفحات Facebook. كل الحقول الأخرى دون تغيير، فتبقى مُعالِجاتك الحالية تعمل. راجع Comments Action و Mentions Action.
  • 19 أغسطس - حرّر ملف WhatsApp التجاري الخاص بك عبر API. أصبحت نقطة النهاية تحديث المستخدم تقبل الآن whatsapp إلى جانب gbp، بحيث يمكنك تغيير ما يراه عملاؤك على ملف WhatsApp التجاري الخاص بك دون مغادرة Ayrshare: about وdescription وaddress وemail، وحتى موقعين في websites، وفئة نشاطك التجاري في vertical، وصورة الملف الشخصي عبر profilePictureUrl. أرسل فقط الحقول التي تريد تغييرها. يجب أن تكون صورة الملف الشخصي بصيغة JPEG أو PNG ومربعة — يوصى بـ 640×640 — ويرفعها Ayrshare إلى WhatsApp نيابة عنك، فكل ما تحتاجه هو عنوان URL عام للصورة. تُعيد ملف WhatsApp التجاري الملف الذي لديك الآن. اسم العرض الخاص بك على WhatsApp غير قابل للتحرير هنا: فهو مرتبط برقمك ويتطلب مراجعة WhatsApp نفسها.
  • 18 أغسطس - انقطاع خدمة فحص الوسائط لم يعد يُلقي باللوم على مضيف الوسائط لديك. إذا تعذّر الوصول إلى خدمة فحص الوسائط التي تستخدمها Ayrshare قبل النشر أو أعادت استجابة غير صالحة، يُرجع النشر الآن 499 القابل لإعادة المحاولة، بدلًا من تحويل الفشل إلى 164 ومطالبتك بتغيير رابط وسائط أو CDN أو قاعدة user-agent تعمل بشكل سليم. تحتفظ حالات الفشل الحقيقية في الوصول إلى الوسائط بأخطاء التحقق الحالية. راجع أخطاء جلب الوسائط / وصول الزاحف لمعرفة الفرق.
  • 18 أغسطس - مشاهدات YouTube المُتفاعَل معها (Engaged Views) متاحة الآن في التحليلات. أصبحت تحليلات المنشور والتحليلات الاجتماعية تُعيد الآن حقل engagedViews لـ YouTube — وهو عدد المشاهدات المحسوبة بعد الثواني الأولى من التشغيل. في 24 أغسطس 2026، يُغيّر YouTube مقياس views ليحسب المشاهدة منذ لحظة بدء تشغيل الفيديو، دون حدّ أدنى لمدة المشاهدة، عبر جميع صيغ الفيديو — لذا توقّع قفزة لمرة واحدة في قيم views في ذلك التاريخ. إذا كانت تقاريرك تعتمد على المنهجية السابقة، فحوّل تلك التقارير إلى engagedViews، الذي يواصل الحساب بالطريقة القديمة. راجع تغييرات API القادمة للاطلاع على التفاصيل الكاملة.
  • 17 أغسطس - أصبح لون علامتك التجارية يصل الآن إلى الزر الرئيسي في النافذة. كان زرّا Submit وYes في نوافذ connect accounts يحتفظان بتدرّج Ayrshare من الأزرق إلى الوردي حتى عندما يضبط ملف CSS الخاص بك — ولم يكن بالإمكان تجاوز التدرّج من ورقة أنماط على الإطلاق، لأنه صورة خلفية تجلس فوق أيّ لون تضبطه، على زر لا يمكن تمييزه في CSS عن Cancel المجاور له. أصبح الآن يستخدم الخاص بك كلون خالص، بحيث يتطابق أبرز عنصر تحكّم في النافذة مع علامتك التجارية. ويُختار لون عنوان الزر، ومؤشّر التحميل الذي يظهر أثناء عمله، من لونك المميّز تلقائيًا، فيتبدّل بين الأسود والأبيض بحسب أيّهما أوضح عليه، وعند التمرير يبتعد اللون المميّز عن لون العنوان بدلًا من أن يزداد قتامةً دائمًا، فيبقى النصّ مقروءًا هناك أيضًا. اختر لونك المميّز بما يناسب زر الاختيار المحدَّد الذي يطليه أيضًا؛ والعنوان يتبعه. وإن احتجت إلى لون محدّد للعنوان بدلًا من ذلك، كلون أبيض مائل إلى الرمادي أو لون قريب من الأسود من لوحة ألوانك، فاضبط ، التي تتجاوز الاختيار التلقائي وتُعيد مسؤولية التباين إليك. ولا يتغيّر أي شيء إن لم تضبط .
  • 17 أغسطس - منشورات Instagram المجدولة تنشر الآن تعليقها الأول. كان firstComment على منشور مجدول إلى Instagram وحده يُقبل ثم يُسقَط بصمت عند وقت النشر: كان المنشور يُنشر في موعده، ولا يظهر التعليق أبدًا، ولا يُعاد أي خطأ. النشر الفوري إلى Instagram كان يعمل، وهو ما جعل الأمر يبدو وكأن الجدولة هي المشكلة لا التعليق. أصبحت المنشورات المجدولة إلى Instagram الآن تُضيف تعليقها الأول بالطريقة نفسها التي تفعلها المنشورات الفورية. أما المنشورات التي جدولت Instagram إلى جانب شبكة أخرى تقبل تعليقًا أول، مثل Facebook أو LinkedIn، فلم تتأثر أبدًا، والمنشورات الفورية دون تغيير. إذا كنت قد التففت على هذه المشكلة بإضافة التعليق يدويًا أو بتحويل تلك المنشورات إلى النشر الفوري، فيمكنك العودة إلى جدولتها باستخدام firstComment.
  • 17 أغسطس - Webhook جديد لأحداث تعليق الملف الشخصي. سجّل إجراء webhook الجديد suspended لتُخطَر لحظة تعليق User Profile أو إعادة تفعيله، بدلاً من اكتشاف ذلك من خلال استجابات 403. يحمل حدث suspend قيمة reason المسجّلة عند توفرها (على سبيل المثال، اشتراط Facebook للتحقق من الهوية)، وplatform التي أدّت إلى التعليق عندما تكون شبكة اجتماعية هي السبب، وorigin التعليق، وطوابع زمنية؛ ويُخبرك حدث unsuspend بأن الملف الشخصي أصبح نشطًا مجددًا حتى تستأنف النشر. سجّله كأي إجراء آخر عبر تسجيل Webhook، وراجع مرجع إجراء Suspended للاطلاع على الحمولات.
  • 16 أغسطس - أصبح Custom CSS يستطيع الآن تلوين نوافذ الربط. النوافذ الموجودة على صفحة connect accounts ذات العلامة البيضاء — تأكيد فك الربط، ومنتقيات صفحات Facebook وLinkedIn، ونماذج بيانات اعتماد Bluesky وX، وصندوق رمز تفعيل Telegram — كانت تُعرَض في ثيم Ayrshare الفاتح الافتراضي بصرف النظر عن ملف CSS الخاص بك، فكانت صفحة ربط داكنة تفتح لوحة بيضاء. أصبحت الآن عشر خصائص مخصّصة جديدة تُلوِّنها: ، و، و، و، و، و، و، و، و، و. اضبطها على :root لا على بطاقة، لأن النوافذ تُعرَض خارج محتوى الصفحة. أيّ ما تتركه دون ضبط يحتفظ بألوانه اليوم، فورقة الأنماط الحالية لا تتأثر حتى تختار الاشتراك. راجع Linking Dialog Colors للاطلاع على القائمة الكاملة ومثال تطبيقي.
  • 15 أغسطس - لا مزيد من ومضة الثيم الافتراضي قبل تحميل CSS المخصص لديك. كانت صفحة connect accounts ذات العلامة البيضاء التي تستخدم ملف CSS الخاص بك تُظهر لفترة وجيزة الصفحة الفاتحة الافتراضية لـ Ayrshare قبل أن تتولى ورقة الأنماط الخاصة بك زمام الأمور. وإذا كانت ورقة الأنماط الخاصة بك داكنة، فإن ذلك يبدو كومضة بيضاء عند كل تحميل — بما في ذلك في كل مرة يعود فيها المستخدم من ربط حساب، إذ يُعاد توجيهه إلى الصفحة نفسها. أصبحت الصفحة الآن تنتظر ورقة الأنماط الخاصة بك قبل عرض أي شيء، بحيث لا يرى مستخدموك الصفحة الافتراضية أسفلها أبدًا، كما أنها تتذكّر ورقة الأنماط الخاصة بك بحيث تُطبَّق ألوانك فورًا عند الزيارات اللاحقة بدلًا من الانتظار حتى يتم جلب ملفك. وإذا تعذّر الوصول إلى ملف CSS الخاص بك، فإن الصفحة تُحمَّل بصورة طبيعية بدلًا من الانتظار عليه. أما صفحات الربط التي لا تستخدم ملف CSS فلم تتغيّر.
  • 14 أغسطس - CSS المخصص يصل إلى داخل بطاقات Connect Accounts. أصبحت خمسة أسماء فئات إضافية متاحة الآن ضمن Max Pack custom CSS على صفحة connect accounts ذات العلامة البيضاء: social-account-avatar على صورة الملف الشخصي للحساب المتصل، وsocial-account-icon على المربّع الذي يحمل شعار الشبكة، وsocial-account-name على اسم الشبكة، بالإضافة إلى social-linking-page-column وsocial-linking-header على الحاويتين اللتين تحويان الصفحة. العمود منفصل عن main-content عن قصد، بحيث يمكنك توسيع البطاقات دون تضييق خلفية صفحتك، ويتيح لك تسطيح الترويسة بـ display: contents إعادة ترتيب الشعار والبطاقات وزر Close وكتلة التعليمات بواسطة order. كما تقرأ شارتا “Connected” و”Messaging” الآن خاصيّتين مخصّصتين، هما و، ويمكنك ضبطهما مرة واحدة على social-account-card؛ أما شارات التحذير مثل “Relink required” فتحتفظ بألوانها الخاصة، بحيث يظل الحساب الذي توقّف عن العمل يبدو كذلك. إذا كانت ورقة الأنماط الخاصة بك تصل إلى أيٍّ من هذه العناصر عبر عدّ العناصر أو بتحديد اسم فئة Mui، فأعِد كتابة تلك القواعد استنادًا إلى الأسماء أعلاه — فهي التي ستستمر في العمل. راجع تخصيص CSS للاطلاع على القائمة الكاملة وأمثلة تطبيقية.
  • 14 أغسطس - مساحة تنفّس أكبر فوق صفحة الربط. صفحة connect accounts ذات العلامة البيضاء تبدأ محتواها الآن أدنى قليلًا في الصفحة، فلم يعد شعارك وعنوانك يلتصقان بالحافة العلوية لنافذة المتصفح. لا شيء آخر يتحرّك، وورقة أنماط تُعيِّن مسبقًا padding-top على main-content تحتفظ بقيمتها الخاصة.
  • 13 أغسطس - هوية قناة YouTube في webhook ‏social. يتضمن webhook social الآن كائن account اختياريًا يحدد الحساب الاجتماعي المعيّن الذي تم ربطه أو إلغاء ربطه. YouTube هي أول منصة تُملأ بياناتها، لذا لم تعد بحاجة، عند ربط YouTube، إلى استدعاء إضافي لـ /api/user لمعرفة القناة التي يشير إليها الحدث: account.id هو id القناة وaccount.title هو اسم القناة (ويختلف عن title في المستوى الأعلى، الذي يظل عنوان ملف المستخدم الخاص بك)، إلى جانب account.handle وaccount.profileUrl. كل مفتاح اختياري بشكل منفرد (القناة التي لا تملك URL مخصصًا ليس لها handle)، ويُرسَل account في حدثَي link وunlink كليهما. تبقى جميع الحقول الحالية دون تغيير. راجع مرجع webhook Social action.
  • 12 أغسطس - إفصاحات الذكاء الاصطناعي تنجو من تحويل تنسيق الصور. عندما يحوّل Ayrshare صورة WebP أو HEIC أو HEIF أو AVIF إلى JPEG من أجل شبكة لا تقبل تنسيق المصدر، يُنقل الآن إفصاح الذكاء الاصطناعي الخاص بالصورة بدلًا من التخلص منه. يكتب Ayrshare حزمة XMP صغيرة جديدة تحوي Iptc4xmpExt:DigitalSourceType، خاصية إفصاح الذكاء الاصطناعي من IPTC، ويُصنِّع القيمة المكافئة عندما يؤكّد بيان C2PA أصلًا ذكيًا اصطناعيًا لا يسجّله XMP. يعرض Facebook وInstagram ملصق الذكاء الاصطناعي الخاص بهما اعتمادًا على هذه الخاصية وحدها، دون ضبط أي علامة ذكاء اصطناعي على المنصة. لا شيء آخر يُنقل: تُبنى الحزمة من الصفر بدلًا من نسخها، فلا تصل إلى الشبكة أي بيانات EXIF ولا GPS ولا حقول منشئ أو حقوق نشر أو كلمات مفتاحية أو موقع من صورتك الأصلية. يُحفَظ عرض الألوان في كلتا الحالتين — تحتفظ صورة HEIC أو HEIF بملف تعريف ألوان ICC، وتُحوَّل صورة WebP أو AVIF إلى sRGB القياسي بحيث تكون ألوانها صحيحة حتى على شبكة تتخلص من ملفات التعريف المضمّنة. لا يمكن لتوقيع C2PA التشفيري النجاة من إعادة الترميز ولا يُحفَظ — الإفصاح ينجو، أما التوقيع فلا. تمرّ صور JPEG وPNG كما هي دون مساس، ولا تتأثر الفيديوهات، وتستمر تحميلات الوسائط في تخزين بايتاتك حرفيًا. لاحظ أن خيار autoResize في Instagram يُغيّر الأبعاد عبر خطوة منفصلة لا تنقل أي بيانات وصفية، لذا اتركه مُعطَّلًا إذا كان الإفصاح يجب أن يصل إلى Instagram. راجع بيانات الصورة الوصفية واعتمادات المحتوى للاطلاع على السياسة الكاملة والنتائج لكل شبكة.
  • 12 أغسطس - اختيار LinkedIn Company Page لم يعد تنتهي مهلته. إذا كنت تُدير عددًا كبيرًا جدًا من صفحات شركات LinkedIn، فقد كان ربط LinkedIn ينتهي مهلته قبل ظهور قائمة اختيار الصفحات، فلا يبقى شيء للاختيار منه — حتى بعد تحسين الاكتشاف في 10 أغسطس أدناه. أصبح بناء قائمة صفحاتك الآن أسرع بأضعاف مضاعفة وينتهي قبل بلوغ حد الطلب بوقت طويل. بشكل منفصل، كانت بعض الصفحات قد تُستبعد من القائمة تبعًا للطريقة التي أعادها بها LinkedIn؛ وتظهر هذه الصفحات الآن.
  • 11 أغسطس - تحكّم CSS المخصص في تخطيط بطاقات Connect Accounts. صفحة connect accounts ذات العلامة البيضاء تحمل الآن اسمَي فئة إضافيَّين يمكن أن يُحدِّدهما Max Pack custom CSS الخاص بك: social-accounts-grid على الشبكة التي تحوي بطاقات الشبكات، وsocial-account-card-wrapper على الخلية التي تحوي كل بطاقة. يتحكّمان معًا في المسافة بين البطاقات وعدد البطاقات التي تتّسع في الصف الواحد، ولم يكن لأيٍّ منهما مُحدِّد قبل ذلك. إذا كانت ورقة الأنماط الخاصة بك تصل إلى منطقة البطاقات عبر عدّ العناصر نزولًا من main-content، مثل .main-content > div > div > div، فإن تلك القواعد تُطابق عنصرًا مختلفًا منذ إعادة بناء لوحة التحكم ويمكن أن تُعيد تحديد حجم كل البطاقات دفعة واحدة؛ أعِد كتابتها استنادًا إلى الاسمين أعلاه. لا تزال قواعدك بحاجة إلى !important لتجاوز أنماط الصفحة المُولَّدة. راجع تغيير تخطيط البطاقات للاطلاع على أمثلة تطبيقية.
  • 11 أغسطس - صفحات الربط ذات CSS المخصص تبقى فاتحة. صفحة الربط الاجتماعي التي تحتوي على ملف CSS خاص بك تبقى الآن على نظام الألوان الفاتح، ولم يعد يُعرَض لمستخدميك مبدّل الفاتح/الداكن عليها. تُكتَب أوراق الأنماط في مقابل الصفحة الفاتحة، لذا كان المستخدم الذي يبدّل إلى الوضع الداكن يحتفظ بألوانك بينما تتغيّر ألوان النص المحيطة، مما قد يجعل قراءة أسماء الشبكات على بطاقاتك صعبة. أصبحت ورقة الأنماط الخاصة بك الآن هي العامل الوحيد الذي يُحدِّد شكل الصفحة. أما صفحات الربط التي لا تحتوي على ملف CSS فلم تتغيّر وتحتفظ بالمبدّل.
  • 11 أغسطس - تبسيط ربط Instagram. في السابق، كان النقر على Instagram في صفحة الربط يفتح نافذة تحذيرية تنبّه إلى أن حسابات Instagram Business أو Creator فقط هي المدعومة قبل أن يبدأ تسجيل الدخول. أصبح تسجيل الدخول الخاص بـ Instagram نفسه يعرض الآن خيار تحويل الحساب الشخصي إلى حساب احترافي أثناء عملية التفويض، لذلك تمت إزالة تلك الخطوة الإضافية. النقر على Instagram يأخذك مباشرةً إلى تدفق تسجيل الدخول: تسجيل الدخول الخاص بـ Instagram، أو تسجيل الدخول عبر Facebook إذا قمت بتعطيل Instagram Login. إذا قمت بتكوين نافذة Instagram مخصصة لصفحة الربط الخاصة بك، فستظل تعليماتك المخصصة تظهر تمامًا كما كانت من قبل.
  • 10 أغسطس - استعادة خطّافات فئات CSS المخصصة على صفحة Connect Accounts. صفحة connect accounts ذات العلامة البيضاء تحمل من جديد أسماء الفئات الثابتة التي يُحدِّدها Max Pack custom CSS الخاص بك. عند إعادة بناء الصفحة، أُسقطت أسماء الفئات هذه، فكانت ورقة الأنماط الحالية لا تزال تُحمَّل لكنها لا تُطابق شيئًا بصمت: القاعدة التي كانت تُخفي عنوان الصفحة، أو تُعيد تنسيق زر Close، أو تُعيد تلوين نص التعليمات ببساطة توقّفت عن السريان، دون أي خطأ في أي مكان. المُستعادة على الصفحة: main-content، وcompany-logo، وheading-social-accounts، وadditional-info، وadditional-info__body، وadditional-info-text، وtroubleshooting-guide، وclose-button. المُستعادة على كل بطاقة شبكة: connected-card وclick-to-link. جديدة أيضًا: social-account-card على كل بطاقة، وunlinked-card للحالة غير المتصلة بعد، وسمة data-platform تحمل مفتاح الشبكة، بحيث يمكن إعادة تنسيق بطاقة غير متصلة كزرّ، وهو ما كان مستحيلًا سابقًا لأن البطاقة المتصلة والبطاقة غير المتصلة كانتا لا تختلفان في CSS. تحتاج قواعدك إلى !important لتجاوز أنماط الصفحة المُولَّدة. راجع خطّافات فئات CSS للاطلاع على القائمة الكاملة ومثال تطبيقي.
    • تحقّق من ورقة الأنماط الخاصة بك. القواعد المبنية على أسماء الفئات هذه تعمل من جديد دون أي تغيير من جهتك. أما القواعد المبنية على أسماء الفئات المُولَّدة الخاصة بالصفحة (أي شيء نسختَه من أدوات مطوّري المتصفح، مثل الأسماء التي تبدأ بـ chakra-) فلا يمكن استعادتها وتحتاج إلى إعادة كتابة استنادًا إلى المُحدِّدات الموثّقة. راجع تحديث ورقة أنماط أقدم.
    • اسم فئة أقدم لن يعود. linked-tag ليس جزءًا من العقد عن قصد: يمكن للبطاقة المتصلة الآن أن تُظهر أيضًا “Relink required” أو “Identity check”، لذا فإن قاعدة تُخفيها ستُخفي تحذيرًا يحتاج مستخدمك إلى التصرف بشأنه. نسِّق connected-card بدلًا من ذلك. راجع تحديث ورقة أنماط أقدم.
  • 10 أغسطس - تحسين اكتشاف LinkedIn Company Page. إذا كنت تدير عددًا كبيرًا من صفحات شركات LinkedIn، فقد كان بعضها يختفي عند ربط LinkedIn أو تحديثه — لم تكن تلك الصفحات تظهر للاختيار ولم يكن بالإمكان النشر عليها. أصبح اكتشاف صفحات الشركات الآن يقرأ إلى ما بعد النقطة التي كان يتوقف عندها مبكرًا سابقًا، لذلك أصبحت الصفحات التي كانت مفقودة لهذا السبب متاحة للاختيار والنشر عليها.
  • 7 أغسطس - Dashboard 3.0. تمت إعادة بناء Ayrshare Dashboard من الصفر باعتماد نظام تصميم حديث وتنقّل مُحدَّث وسير عمل أسرع وأنظف في كل صفحة.
    • الوضع الداكن والتصميم الجديد — الوضع الداكن مفعّل افتراضيًا مع مبدّل ثيم فاتح/داكن بنقرة واحدة في الشريط الجانبي، بالإضافة إلى طباعة وبطاقات وتخطيطات جديدة في كل صفحة لتحسين القراءة وكثافة المعلومات.
    • Billing الآن داخل الـ dashboard — قسم Billing جديد (يحلّ محل صفحة Account القديمة) يتيح لك إدارة اشتراكك دون مغادرة الـ dashboard: عرض خطتك الحالية وتاريخ الفوترة التالي وطريقة الدفع؛ تغيير الخطط وعرض الفواتير وتحديث معلومات الفوترة؛ وتفعيل أو إدارة الإضافات (Max Pack وMessaging وFacebook Boost Ads) مباشرةً.
    • Publish a Post — مفاتيح تبديل الشبكات مع عدّاد اختيار مباشر، وSelect all / Deselect all، واختصار “Only” للنشر إلى شبكة واحدة؛ يعرض View API Code (المعروف سابقًا بـ View JSON) طلب الـ API الفعلي للمنشور الذي أعددته؛ ولوحة Additional Options أنظف تُظهر الإعدادات الخاصة بكل منصّة (مثل Instagram Post Type) بحسب السياق.
    • Post History — ابحث في منشوراتك الأخيرة إلى جانب فلاتر الحالة الموجودة (Success وScheduled وPaused وAwaiting Approval وError)، مع مصغّرات وسائط على كل منشور، وأيقونات منصّات ورقاقات حالة وPost IDs قابلة للنسخ، وعارض API Request & Response قابل للطي في كل بطاقة.
    • User Profiles — بطاقات ملفات معاد تصميمها مع صور رمزية وحقول منظّمة (Created وRefId وAccounts وMessaging)، وشارات أدوار جديدة (Owner وTeam Member وProfile Active)، ومبدّل Messaging مضمّن في كل بطاقة.
    • Webhooks — علامة تبويب Events tab جديدة لفحص سجلات أحداث الـ webhook إلى جانب الـ webhooks المسجّلة لديك.
  • 6 أغسطس - إصلاح رؤية فيديوهات TikTok. أصبح خيار tikTokOptions.visibility الآن معتمَدًا لمنشورات الفيديو. في السابق كان يسري فقط على منشورات الصور — فالفيديو المُرسَل مع visibility: “private” أو “followers” أو “friends” كان يُنشَر بوصفه Public دون أي خطأ أو تحذير. أصبحت الفيديوهات الآن تُنشَر بمستوى الرؤية المطلوب، وتم تحديث توثيق معامل الرؤية ليعكس دعم الفيديو.
  • 6 أغسطس - تصنيف محتوى الذكاء الاصطناعي على Instagram. يمكن الآن لمنشورات Instagram أن تحمل تصنيف AI info الخاص بـ Instagram عن طريق ضبط isAIGenerated على true في instagramOptions. ينطبق هذا الإفصاح الذاتي على الصور المفردة والفيديوهات المفردة وReels وStories والـ carousels — بالنسبة إلى الـ carousel ينطبق التصنيف على الـ carousel بأكمله بدلاً من العناصر الفردية. القيم المقبولة هي true و”true” وfalse و”false”؛ أي قيمة أخرى (مثل “yes” أو 1) لا تزال تنشر المنشور بشكل طبيعي لكن بدون التصنيف وتُعيد إدخالًا غير قاتل في warnings (code: 497، feature: “isAIGenerated”) يسرد القيم المقبولة. حذف المعامل لم يتغيّر ويُنشر بدون تصنيف، ولا يمكن تغيير التصنيف بعد نشر المنشور. يطابق هذا المعامل tikTokOptions.isAIGenerated الموجود مسبقًا، لذا يعمل نفس اسم العَلَم على كلتا الشبكتين. راجع تصنيف محتوى الذكاء الاصطناعي على Instagram.
  • 4 أغسطس - تصنيف “Made with AI” على X. يمكن الآن لمنشورات X الإفصاح عن الوسائط المُنشأة بواسطة الذكاء الاصطناعي باستخدام twitterOptions.isAIGenerated، الذي يطبّق تصنيف “Made with AI” الأصلي من X. راجع خيارات النشر على X.
  • 4 أغسطس - ردود تعليقات LinkedIn على منشورات صفحات الشركات العضوية. أصبح الرد على تعليق LinkedIn باستخدام Social Comment ID يعمل الآن على منشورات صفحات الشركات العضوية، وهو ما كان يفشل سابقًا بـ code: 215. في هذا الوضع (searchPlatformId: true)، مرّر commentUrn الكامل الذي تعيده get-comments بدلاً من commentId المجرد — على سبيل المثال urn:li:comment:(urn:li:activity:<postId>,<commentId>). راجع معامل commentUrn الجديد في Reply to a Comment.
  • 4 أغسطس - إخفاقات الرسائل الخاصة للأتمتة لم تعد تُلقي باللوم على رمز وصولك. عندما تعذّر على أتمتة Instagram تسليم رسالتها الخاصة إلى مستلم معيّن، كان صف النشاط يُسجَّل بحالة auth_error — الحالة التي تعني أن بيانات اعتماد الحساب قد فشلت — فكان العملاء يُعيدون ربط حساب سليم تمامًا دون أن تُغيّر إعادة الربط شيئًا. باتت إخفاقات التسليم لكل مستلم تُسجَّل الآن بحالة failed، حاملةً السبب الفعلي من Meta في actionResults[].errorDetails، وأصبحت حالة auth_error محجوزة لمشكلات بيانات الاعتماد والأذونات الحقيقية. أصبح لأكثر الأسباب شيوعًا الآن حالته النهائية الخاصة به: عندما يأتي التعليق المُشغِّل من الحساب نفسه الذي سيُرسل الرسالة الخاصة — وهو ما يحدث عند اختبار أتمتة على منشورك الخاص — يُسجَّل الصف بحالة skipped مع تفسير ولا تُحاوَل أي عملية إرسال، لأنه لا يمكن لحساب أن يراسل نفسه. أصبحت مراجع حالات النشاط ونقطة نهاية النشاط تصف الآن كل حالة بدقة. لم تُصحَّح الصفوف المسجّلة قبل هذا التغيير بأثر رجعي، لذا قد لا يزال صف auth_error تاريخي يمثّل إحدى هذه الحالات.

يوليو 2026

  • 31 يوليو - رسائل WhatsApp في النسخة التجريبية الخاصة. تدعم Messaging API الآن WhatsApp في النسخة التجريبية الخاصة. يمكن للحسابات المُعتمدة ربط WhatsApp Business Account عبر تدفق embedded signup من Meta، وإرسال رسائل حرة الشكل خلال نافذة خدمة العملاء لمدة 24 ساعة من Meta، واستقبال الرسائل الواردة والوسائط، واسترجاع محادثات WhatsApp المخزَّنة. راسل lotty@ayrshare.com لطلب الوصول.
  • 31 يوليو - Webhooks تعليقات وإشارات Instagram لم تعد تتطلب Messaging. أصبحت webhooks التعليقات والإشارات على Instagram مستقلة تمامًا عن الوظيفة الإضافية Messaging. يقوم تسجيل webhook باستخدام action: “comments” أو action: “mentions” بالاشتراك في حقول Meta المطلوبة تلقائيًا باستخدام حساباتك المرتبطة الحالية — دون الحاجة إلى الوظيفة الإضافية Messaging ودون إعادة ربط (أذونات التعليقات جزء من المنح الافتراضية بالفعل). يعمل هذا مع كل أنواع حسابات Instagram، بما في ذلك الحسابات المرتبطة عبر Facebook Page، ولم يعد تعطيل Messaging يعطّل webhook تعليقات أو إشارات نشطًا. ينطبق هذا التغيير على نطاق Instagram؛ ولم تُدرَج بعد أحداث التعليقات والإشارات على Facebook. راجع نظرة عامة على Webhooks لتسجيل webhook.
  • 31 يوليو - إصلاح إسناد التحليلات الدُفعية. في طلب تحليلات المنشورات متعدد المنشورات، كان يمكن لإدخال فاشل أن يتسبب في تسجيل النتائج اللاحقة في الدفعة نفسها تحت معرّف منشور خاطئ. تُسنَد النتائج الآن دائمًا إلى المنشور الصحيح، حتى عندما تفشل بعض الإدخالات في الدفعة.
  • 31 يوليو - التحقق من معرّف منشور Instagram في التحليلات. يتم الآن رفض معرّفات منشورات Instagram غير الصالحة المُرسَلة إلى تحليلات المنشورات محليًا قبل إجراء أي استدعاء إلى Meta، لذا لم تعد المعرّفات المشوّهة تُكلّف استدعاءً لـ Meta Graph API — بما يطابق الحماية المطبّقة بالفعل لـ Facebook وThreads وX/Twitter. تُعالَج معرّفات المنشورات الرقمية أيضًا بسلاسة: يتم التحقق من id رقمي مكوَّن من أرقام فقط بشكل طبيعي، والقيم التي لا يمكن أن تُشكّل معرّفًا صالحًا تُرجع خطأ code: 186 نظيفًا بدلًا من فشل غير مُعالَج. تتصرف المعرّفات النصية الصالحة تمامًا كما كانت من قبل.
  • 31 يوليو - تحديث سير عمل n8n للمبتدئين. تم تحديث سير عمل n8n MCP للمبتدئين القابل للتنزيل: أصبح المطالبة الأولى المقترحة تستهدف LinkedIn وFacebook فقط (كانت المطالبة السابقة تشمل Instagram، الذي يتطلب وسائط وتسبَّب في فشل التحقق عند التشغيل الأول)، وأصبح نموذج الدردشة لسير العمل الآن claude-sonnet-5 مع تعليمات إعداد لا تعتمد على إصدار محدد.
  • 29 يوليو - أتمتة تعليقات Instagram تستخدم الآن الردود الخاصة. باتت الأتمتة المُشغَّلة بالتعليقات (comment_keyword) تُسلّم رسالتها الخاصة عبر الردود الخاصة على Instagram، مرتبطةً بنافذة الـ 7 أيام الخاصة بالتعليق نفسه. يُزيل ذلك اشتراط وجود محادثة سابقة، فيمكن لأتمتة الآن الوصول إلى معلّق لم تُراسله من قبل — وهو الرفض الذي كان يحجب المعلّقين الجدد سابقًا. لا تزال نافذة الـ 7 أيام الخاصة بالتعليق نفسها سارية: يفشل الردّ على تعليق أقدم من ذلك بالرمز 491. لاحظ أن التسليم لا يزال يُحدَّد في نهاية المطاف بإعداد Message requests الخاص بالمستلم على Instagram: يمكن أن يقبل Instagram الرسالة الخاصة (نشاط status: “sent”) ثم يُسقطها بصمت، دون أي إشارة على أي واجهة برمجية. وبالتالي، فإن sent تعني أن Instagram قبل الرسالة، وليس أبدًا أن المستلم استلمها. تظهر أسباب فشل جديدة في actionResults[].errorDetails برموز أخطاء مخصصة 490–495. راجع دليل استكشاف الأخطاء الجديد رسالة أتمتة أُرسلت لكنها لم تُسلَّم.
  • 23 يوليو - تشفير جاهز لما بعد الكم (PQC). يدعم Ayrshare API الآن التشفير المقاوم للحوسبة الكمية على طبقة TLS. لقد فعّلنا تبادل المفاتيح الهجين X25519MLKEM768 في سياسة SSL العالمية لدينا، مضيفين خوارزمية آمنة كميًا (ML-KEM) إلى جانب ECDHE الكلاسيكية في مصافحة TLS 1.3. يحمي ذلك حركة API الخاصة بك من هجمات “احصد الآن، فك التشفير لاحقًا” — حيث يسجّل الخصم حركة مرور مشفّرة اليوم لفك تشفيرها فور نضوج الحواسيب الكمية. التغيير متوافق تمامًا مع الإصدارات السابقة: نظرًا لأنه تفاوض هجين، تتم ترقية الاتصال إلى PQC فقط عندما يطلب العميل ذلك، ويستمر كل عميل آخر في الاتصال بشكل طبيعي عبر ECDHE القياسية. وبما أن 74% من حركة API لدينا تعمل بالفعل على TLS 1.3، تحصل معظم عمليات التكامل على حماية ما بعد الكم الآن دون أي تغييرات في الشيفرة — طالما أن مكتبة HTTP/TLS لديك تدعم مجموعة X25519MLKEM768 (OpenSSL 3.5+ وسائر حزم TLS الحديثة تدعمها بالفعل)، يتم التفاوض تلقائيًا.
  • 15 يوليو - إصلاح التحقق من نسبة العرض إلى الارتفاع لمقاطع Instagram Reels. لم تعد مقاطع Instagram Reels الطويلة والضيقة تُرفض بشكل خاطئ قبل وصولها إلى Meta. كان فحص الفيديو الذي يجريه Ayrshare قبل الإرسال يطبّق قواعد نسبة الصور في Instagram (من 4:5 إلى 1.91:1، مع استثناء عمودي بنسبة 9:16) على مقاطع Reels، بحيث كان أي Reel عمودي صالح (على سبيل المثال 886 x 1920، أي نسبة عرض إلى ارتفاع تبلغ 0.46:1) يُحجب محليًا مع code: 182 رغم أن Instagram كان سيقبله. يجري الآن التحقق من مقاطع Reels وفق نطاق Reel الموثّق من 0.01:1 إلى 10:1 (مع الإبقاء على 9:16 كنسبة موصى بها لتفادي الاقتصاص)، بما يطابق مواصفات Meta الرسمية وإرشادات وسائط Instagram. كما جرى تصحيح رسالة code: 182 الخاصة بإخفاقات نسبة العرض إلى الارتفاع — إذ كانت تظهر سابقًا بصيغة “Video does not meet duration requirement.” (الفيديو لا يستوفي متطلب المدة.) لا حاجة إلى أي تغييرات في API.
  • 14 يوليو - نجاح جزئي في قراءات التعليقات والتحليلات متعددة المنصات. لم تعد قراءة get-comments أو post analytics متعددة المنصات (معرّف منشور Ayrshare واحد يمتد عبر عدة منصات) تُقلّص الاستجابة بأكملها إلى خطأ عندما تفشل ساق منصة واحدة. عندما تنجح ساق واحدة على الأقل وتفشل ساق واحدة على الأقل، تُعيد الاستجابة HTTP 200 مع status: “partial”، مع الحفاظ على بيانات المنصات السليمة وسرد كل ساق فاشلة في errors[] على المستوى الأعلى. استجابات النجاح الكامل لم تتغير. استجابات الفشل الكامل تحتفظ بـ status: “error” وتُطابق رمز الخطأ التمثيلي على المستوى الأعلى مع حالة HTTP المُهيّأة له؛ الرمز 485 يُطابق HTTP 404. الرمز 485 يُحدّد تعليقات Instagram/Facebook Story ومنشورات تحليلات Instagram Story المنتهية الصلاحية أو غير المتاحة عندما يتعذر استرداد التعليقات أو الرؤى؛ تظل تحليلات Facebook Story غير متاحة ولا تُدرج. يجب على العملاء فحص errors[] ومطابقة code الرقمي، وليس نص الرسالة الحرفي.
  • 8 يوليو - أوقات استجابة API أسرع. لقد أطلقنا جولة من أعمال أداء الواجهة الخلفية التي تقلل الكمون بشكل ملموس عبر بعض من أكثر نقاط النهاية شعبية. انخفضت أوقات الاستجابة المتوسطة والمئوية 95 (p95) بشكل كبير، مع ظهور أكبر المكاسب تحت الحمل الثقيل. أكبر الإنجازات في profiles وanalytics. لا توجد تغييرات في API مطلوبة؛ كل طلب أصبح الآن أسرع تلقائيًا.
  • 7 يوليو - طريقة ربط Instagram لكل جلسة على generateJWT. تقبل الآن نقطة نهاية generateJWT معامل جسم اختياري instagramLinkMethod يتجاوز إعداد Instagram Login على مستوى الحساب لجلسة ربط واحدة. أرسل “instagram” لبدء تسجيل دخول Instagram المباشر (لا يلزم Facebook Page) أو “facebook” للربط عبر Facebook Page متصلة عندما ينقر المستخدم على زر Instagram في صفحة الربط الاجتماعي. ينطبق التجاوز فقط على صفحة الربط المفتوحة من عنوان URL الخاص بـ JWT المُعاد — يستمر عبر إعادة توجيه التفويض ولكنه لا يغير أبدًا إعدادك على مستوى الحساب، ويحافظ حذف المعامل على السلوك الحالي. تعيد القيم غير الصالحة 400 يسرد الخيارات الصالحة. راجع القسم الجديد Instagram Link Method للحصول على التفاصيل، بما في ذلك اختلافات الميزات بين التدفقين.

يونيو 2026

  • 24 يونيو - تكامل n8n. اربط n8n بـ Ayrshare MCP Server باستخدام عقدة MCP Client Tool المدمجة في n8n، بدون كود مخصص وبدون عقدة مجتمعية للتثبيت. راجع صفحة تكامل n8n الجديدة للحصول على نظرة عامة، ودليل n8n الكامل للإعداد وثلاثة أمثلة عملية وملفات شخصية متعددة المستأجرين وX BYO وسير عمل مبدئي قابل للتنزيل (Chat Trigger إلى AI Agent إلى عقدة Ayrshare MCP). راجع أيضًا Connect & Setup وTool Catalog.
  • 17 يونيو - تحليلات Facebook: Meta تخلت عن مقاييس Reach ومقاييس فيديو 3 ثوانٍ. أزالت Meta مقاييس Insights للانطباعات الفريدة ومشاهدات الفيديو لمدة 3 ثوانٍ عبر جميع إصدارات Graph API (سارية من 15 يونيو 2026). لم تعد تحليلات منشورات Facebook تعيد impressionsUnique أو impressionsFanUnique أو impressionsOrganicUnique أو impressionsPaidUnique أو videoViewsUnique، ولم تعد التحليلات الاجتماعية تعيد عائلة pagePostsImpressions* (بما في ذلك pagePostsServedImpressionsOrganicUnique). الحقول التي لا تزال مدعومة (reactionsByType، videoViews، mediaView، pagePostEngagements، pageVideoViews) لم تتأثر. استخدم mediaView / pageMediaView لـ reach؛ خلف Total Unique Media Views مخطط له. المرجع: سجل التغييرات في Meta Graph API v25.
  • 15 يونيو - رمز خطأ Facebook Account Restriction 476. منشورات Facebook التي تفشل لأن Meta وضعت قيدًا على الحساب (الرموز الفرعية لـ Meta 2424009 و1404078، أو صياغة قيود Meta عندما لا يكون هناك رمز فرعي) تعيد الآن code: 476 مخصصًا وغير قابل للإعادة (HTTP 400) بدلاً من code: 108 العام القابل للإعادة. يظل الحساب مرتبطًا — قم بحل القيد عبر صفحة حالة حساب Meta (Facebook → صورة الملف الشخصي → Help → Account Status)، التي تعرض السبب المحدد وتدفق الاستئناف الذي لا يمكن لـ API إعادته. راجع Facebook Account Restriction للحصول على التفاصيل.
  • 10 يونيو - تحليلات LinkedIn Personal Profile. تعيد الملفات الشخصية (الأعضاء) في LinkedIn الآن مصفوفة تحليلات موسعة. تشمل تحليلات المنشورات impressionCount وuniqueImpressionsCount (الأعضاء الذين تم الوصول إليهم) وlikeCount وcommentCount وshareCount وengagement وreactions، ولمنشورات الفيديو — videoViews وvideoViewers وvideoWatchTimeMs. تضيف التحليلات الاجتماعية عدد المتابعين مدى الحياة followersCount، ونمو المتابعين اليومي followersDaily، ومقاييس المنشورات المجمعة. عدّادات إعادة المشاركة/التفاعل/التعليقات المجمعة هي بذل قصارى الجهد وقد تختلف قليلاً عن واجهة LinkedIn. يجب على الحسابات المرتبطة الحالية إعادة ربط ملفات LinkedIn الشخصية الخاصة بها في صفحة Social Accounts لمنح نطاقات التحليلات الجديدة — حتى ذلك الحين، تعيد التحليلات code: 475 (“re-link your LinkedIn profile to enable analytics”). النشر لا يتأثر.
  • 10 يونيو - أول تعليقات TikTok أصبحت الآن مدفوعة بالأحداث. لم تعد محاولة إجراء تعليق أول على منشور TikTok تعتمد على انتظار موقوت ثابت. نظرًا لأن TikTok يعالج مقاطع الفيديو بشكل غير متزامن، تعيد استجابة /post الآن أول تعليق TikTok بـ status: “pending”، ويتم نشر التعليق تلقائيًا بمجرد انتهاء TikTok من المعالجة وحل الـ webhook tikTokPublished لمعرّف الفيديو الحقيقي. يجب أن يكون visibility الفيديو public، وإلا يتم إرجاع خطأ تعليق واضح. بشكل منفصل، تعيد get-comments على منشور TikTok لا يزال قيد المعالجة الآن code: 288 بدلاً من فشل عام.
  • 8 يونيو - تدوير المفتاح السري لتوقيع Webhook. يمكنك الآن تدوير المفتاح السري لتوقيع webhook بأمان من لوحة تحكم Webhooks بنقرتين، أو عبر نقطة النهاية الجديدة POST /hook/webhook/secret مع معامل جسم secret. بعد التدوير، تُوقَّع التسليمات بـكل من مفتاحك السري السابق والجديد لنافذة سماح مدتها 24 ساعة عبر الترويسة الجديدة X-Authorization-Content-SHA256-V2 (v1=<current-sig>,v1=<previous-sig>، الحالي أولًا)، حتى تتمكن من تحديث المستقبل الخاص بك دون إسقاط أو رفض أي تسليم. الترويسة الحالية X-Authorization-Content-SHA256 لم تتغير. المفتاح السري للتوقيع يعمل على مستوى الملف الشخصي (واحد لكل User Profile، يوقّع كل إجراء على هذا الملف الشخصي). راجع تدوير المفتاح السري للتوقيع للاطلاع على إجراء التدوير الآمن ومثال على التحقق في المستقبل.
  • 8 يونيو - إخفاقات صور YouTube المصغرة أصبحت الآن مكشوفة. عند نشر فيديو YouTube ولكن فشل تطبيق صورته المصغرة المخصصة، تحتفظ نتيجة YouTube الآن بـ status: “success” (يظل الفيديو نشطًا) وتضيف مصفوفة warnings (feature: “thumbnail”، code: 307) تصف الفشل — سابقًا كان الفشل مدفونًا في الكائن الفرعي thumbNail، والذي لا يزال محتفظًا به للتوافق مع الإصدارات السابقة. تم تصحيح إرشاد 403 المضلل ليتقدم بـ التحقق من الهاتف للقناة على https://www.youtube.com/verify (القناة غير المؤكدة هي السبب المهيمن)، مع إعادة ربط OAuth كخطوة ثانوية. يلتقط التحقق قبل النشر الجديد أيضًا الصور المصغرة غير PNG/JPG أو التي يزيد حجمها عن 2 ميغابايت أو التي يتعذر الوصول إليها قبل التحميل ويتخطاها، لذلك لا يزال الفيديو ينشر مع الإبلاغ عن السبب في warnings (لا تفشل مشكلة الصورة المصغرة المنشور أبدًا). راجع YouTube Post API ودليل استكشاف الأخطاء الجديد YouTube Thumbnail Not Applied (Unverified Channel).
  • 8 يونيو - تحليلات X BYOK تعيد الآن Code 416 عند نفاد الأرصدة. عندما يكون حساب X Developer المسجل لحساب X/Twitter BYOK بدون أرصدة API، تعيد الآن مسارات التحليلات والبحث عن المستخدمين code: 416 (HTTP 402، X CreditsDepleted) مع معرّف الحساب المسجل في detail — سابقًا كانت مقنعة بـ code: 294 (HTTP 400، “Unable to get X User”). الإصلاح هو تعبئة الأرصدة في X Developer Portal. هذا يوائم سطح التحليلات/البحث مع مسار النشر (الذي يعيد بالفعل 416). إذا كان تكاملك يتفرع على 294 من التحليلات لاكتشاف مقبض سيئ، فأضف المعالجة لـ 416.
  • 4 يونيو - MCP Server & ملحق Claude Code. يمكن لعملاء الذكاء الاصطناعي الآن تشغيل Ayrshare API من خلال MCP Server الجديد (https://api.ayrshare.com/mcp)، بما في ذلك ملحق Claude Code. راجع Connect & Setup وTool Catalog. أصبح MCP الحالي لبحث الوثائق الآن Documentation MCP.

مايو 2026

  • 22 مايو - إصلاح توجيه Profile-Key لـ Bulk Post. يحترم POST /post/bulk الآن رأس Profile-Key، لذا تنشر صفوف CSV إلى User Profile المُحلَّل بدلاً من Primary Profile. سابقًا كانت عمليات التحميل الجماعية المرسلة مع Profile-Key تُوجَّه بصمت إلى الحسابات الاجتماعية لـ Primary Profile. راجع Bulk Post.
  • 21 مايو - توضيح نطاق TikTok DELETE /comments. تم تحديث صفحات Delete Comments وComments Overview لتوثيق أن DELETE /comments على TikTok ينجح فقط للتعليقات التي أنشأها حساب TikTok المصادَق عليه نفسه (ردودك الخاصة). محاولة حذف تعليق طرف ثالث تعيد Ayrshare code: 328. يجب على العملاء الذين يحتاجون إلى الإشراف على تعليقات الطرف الثالث على مقاطع فيديو TikTok الخاصة بهم الاتصال بالدعم. لا يوجد تغيير في سلوك API؛ التوثيق فقط.
  • 21 مايو - إخفاء تعليقات TikTok. تدعم DELETE /comments الآن إخفاء تعليق TikTok من المشاهدين العامين عبر hide=true مع videoId. تعيد استجابة النجاح action: “hide” وتردد نص التعليق؛ إرسال hide=true بدون videoId يتم رفضه بـ 400. تظل التعليقات المخفية مرئية لمالك الفيديو في TikTok Studio.
  • 20 مايو - Node SDK v1.3.0 — دعم X/Twitter BYO. يعرض الآن Node SDK الرسمي setTwitterByo(apiKey, apiSecret) وclearTwitterByo() لـ X/Twitter Bring-Your-Own-Keys. بمجرد الضبط، يتضمن كل طلب SDK رأسي X-Twitter-OAuth1-Api-Key وX-Twitter-OAuth1-Api-Secret المطلوبين — مطلوبان لعمليات X/Twitter الآن بعد فرض متطلبات BYO الخاصة بـ Ayrshare (اعتبارًا من 31 مارس 2026). التثبيت عبر npm install social-media-api@1.3.0؛ ملاحظات الإصدار على npm وGitHub.
  • 20 مايو - تسعير الرسائل المُقاسة. يتم الآن فوترة Business Messaging عبر التسعير المُقاس من Stripe بـ 0.09</code>لكلمحادثةنشطةفيخططLaunchوBusiness(يبقىPremiumإضافةثابتةبـ<code>0.09</code> لكل محادثة نشطة في خطط Launch وBusiness (يبقى Premium إضافة ثابتة بـ <code>49/شهر)، مع ما يصل إلى 1000 محادثة نشطة لكل دورة فوترة. راجع تسعير الرسائل.
  • 20 مايو - تحليلات Instagram لم تعد تفكك الارتباط عند أخطاء الأذونات. عندما تصطدم تحليلات Instagram بخطأ إذن مفقود (Meta errCode 10)، لم يعد الحساب يتم فك ارتباطه تلقائيًا. سابقًا كانت مشكلة النطاق/الإذن تُعامَل كرمز مُلغى وتنقطع الحساب بصمت على الرغم من أن النشر لا يزال يعمل. يحتفظ Ayrshare الآن بالحساب مرتبطًا ويعرض خطأ نطاق الإذن بدلاً من ذلك.
  • 19 مايو - hideLogo لكل ملف شخصي. يقوم hideLogo boolean الجديد في Create Profile وUpdate Profile بإخفاء شعار الحساب على مستوى صفحة الربط الاجتماعي لـ User Profile فردي. مفيد لعلامة تجارية بيضاء لملفات الشركاء الفردية.
  • 19 مايو - مشاركة ميزانية Facebook Boost Ad Set. تقبل الآن نقطة نهاية Boost بولين اختياريًا جديدًا adSetBudgetSharingEnabled (افتراضي false). تتطلب Meta الآن هذا الحقل السلكي في كل حملة تم إنشاؤها بدون ميزانية على مستوى الحملة، ويرسله Ayrshare في كل طلب — الإعداد الافتراضي إلى false يحافظ على السلوك السابق دون الحاجة إلى تغييرات المتصل. اضبطه على true لتمكين تحسين Meta عبر مجموعات الإعلانات، والذي يمكنه تحويل ما يصل إلى ~20% من ميزانية مجموعة الإعلانات إلى مجموعات إعلانات أخرى في نفس الحملة للحصول على أداء عام أفضل.
  • 19 مايو - خطأ Reddit Banned-Subreddit. النشر إلى subreddit تم حظرك منه يعيد الآن خطأ مميزًا غير آمن لإعادة المحاولة بدلاً من code 121 العام الآمن لإعادة المحاولة. هذا يوقف أدوات الجدولة من إعادة محاولة منشور مرفوض بشكل دائم في حلقة. راجع رموز أخطاء Ayrshare.
  • 19 مايو - حد حجم فيديو Bluesky. الحد الأقصى لحجم تحميل فيديو Bluesky هو الآن 100 ميغابايت (المعلن سابقًا كـ 1 غيغابايت) ليتطابق مع حد منصة Bluesky. الملفات التي يزيد حجمها عن 100 ميغابايت يتم رفضها الآن من البداية بدلاً من الفشل متأخرًا عند التحميل. راجع إرشادات وسائط Bluesky.
  • 19 مايو - رسائل X/Twitter في لوحة التحكم لمفاتيح BYO. تدعم الآن صفحة Messaging في لوحة تحكم Ayrshare رسائل X/Twitter المباشرة لحسابات Bring-Your-Own-Keys (BYO). يتم جمع مفتاح مستهلك X وسر X الخاصين بك في المتصفح للجلسة وتمريرهما عبر إجراءات الإرسال والتحديث وجلب الصور — لا يتم تخزين أي مفاتيح. مطلوب الآن بعد أن أصبح X/Twitter BYO فقط على Ayrshare.
  • 19 مايو - إصلاح استهداف مدن Facebook Ads. تحل نقطة نهاية Facebook Ads Cities (GET /ads/facebook/cities) الآن المدن وبيانات المنطقة المرتبطة بها بشكل صحيح. تتضمن كل نتيجة region وregionId وsupportsRegion بحيث يمكنك استهداف منطقة المدينة عند توفرها. استخدم معامل الاستعلام search مع اسم مدينة جزئي أو كامل.
  • 18 مايو - عناصر تحكم حقل حالة YouTube. ثلاثة معاملات اختيارية جديدة على YouTube Post API youTubeOptions: license (“youtube” أو “creativeCommon”)، embeddable (boolean)، وpublicStatsViewable (boolean — يتحكم في لوحة الإحصائيات الموسعة على صفحة المشاهدة؛ يظل عرض ومشاهدة الإعجابات الأساسية عامًا بغض النظر). تعيد الآن استجابة /history/youtube هذه الحقول أيضًا. رمزا أخطاء التحقق الجديدان — 455 (license غير صالح) و456 (embeddable أو publicStatsViewable غير صالح) — يرفضان الطلبات المشوهة عند حافة Ayrshare. مفاتيح التحكم في تحقيق الدخل (تمكين/تعطيل الإعلانات) غير مضمنة؛ تلك تتطلب بيانات اعتماد YouTube CMS ولا تتوفر عبر YouTube API القياسي.
  • 18 مايو - GMB First Comment لم يعد يخفي نجاح المنشور. تم إصلاح مشكلة حيث كان تضمين firstComment في منشور Google Business Profile يعيد code: 163 بدون postIds على الرغم من نجاح المنشور. لا يدعم Google Business Profile تعليقات المنشورات، لذلك يتم الآن تخطي firstComment لـ GMB ويتم إرجاع نتيجة المنشور الناجحة بشكل طبيعي.
  • 14 مايو - منع فك ارتباط الحساب. كانت الشبكات الاجتماعية تطرح بهدوء ضوابط أكثر صرامة ضد الروبوتات، والتي كانت تتسبب في فك ارتباط عدد كبير غير عادي من حسابات المستخدمين. لقد طرحنا العديد من التحسينات في الواجهة الخلفية لتقليل فك الارتباطات وتوضيح رسائل الخطأ، وقمنا بتحديث صفحة ربط الحساب لجعل واجهة المستخدم أوضح بكثير للمستخدمين — بما في ذلك حالة “Action required” جديدة لشبكات Meta (Facebook وInstagram وFB Groups وThreads وMessenger) عندما يصل الحساب إلى حالة تعليق التحقق من الهوية، مع رابط “Resolve with Meta” ومسبار “Check again” حتى يتمكن المستخدمون من إصلاح المشكلة دون فك الارتباط وإعادة الربط.
  • 12 مايو - أتمتة تفاعل Instagram (Beta). تتيح Automations API الجديدة لمستخدميك الرد تلقائيًا على تفاعل Instagram — إطلاق DM أو webhook أو بريد إلكتروني عندما يعلق المستخدم النهائي على منشور أو يرد على قصة أو يرسل DM أو يتفاعل مع DM. أربعة أنواع مُشغِّلات (comment_keyword، story_reply، dm_reaction، dm_keyword) وثلاثة أنواع إجراءات (send_dm، fire_webhook، send_email) — ما يصل إلى 50 من كل منها لكل قاعدة. يشمل إلغاء التكرار لكل إجراء لمدة 7 أيام (قابل للتكوين لكل إجراء عبر dedupWindowMinutes)، وحدود DM اليومية (1000 Launch & Business / 5000 Enterprise)، وسجل نشاط مقسم إلى صفحات باستخدام المؤشر. متاح في خطط Launch وBusiness وEnterprise. رموز الأخطاء الجديدة 462–472 تغطي التحقق، وبوابة المستوى، وحد الأتمتة النشطة، والحسابات المرتبطة المفقودة، والاشتراك في feature-flag. Beta — نجمع الملاحظات بنشاط؛ يُرجى إرسال تقارير الأخطاء وطلبات الميزات إلى الدعم.
  • 12 مايو - تحسينات إنتاجية المنشورات المجدولة. لقد أضفنا المزيد من الأجهزة لمعالجة المنشورات المجدولة مما يحسن الإنتاجية والأداء بشكل كبير. سنضيف قريبًا المزيد من الأجهزة الخاصة بالمنصات لـ YouTube وTikTok أيضًا.
  • 12 مايو - تلميح إعادة الربط لـ Instagram لأخطاء حالة الحساب. كانت بعض إخفاقات حالة حساب Instagram (Meta error_subcode 2207085، والتي كانت تظهر سابقًا كـ code: 258 عام بدون إرشاد) تعيد relink: true وretryAvailable: true مع رسالة معالجة توجه المستخدم لفك ارتباط حساب Instagram وإعادة ربطه بمنح جميع الأذونات. استُبدل هذا لاحقًا: تُعاد محاولة 2207085 تلقائيًا الآن ولم يعد يُعيّن relink: true. راجع رموز الأخطاء.
  • 11 مايو - رموز أخطاء YouTube المؤقتة. تحميلات YouTube التي تفشل بسبب مشكلات مؤقتة في المصدر تعيد الآن رموز خطأ جديدة 453 (HTTP 504، مهلة استيعاب Google) و 454 (HTTP 503، الخدمة غير متاحة) مع علامة retryAvailable: true يمكن لتكاملك استخدامها لإعادة المحاولة تلقائيًا. راجع رموز الأخطاء للحصول على التفاصيل.
  • 11 مايو - تحليلات X/Twitter وعمليات البحث مفتوحة لجميع مستخدمي BYO. تمت إزالة بوابة إضافة X القديمة من /analytics/social و/lookups/x. يمكن لأي عميل X/Twitter Bring-Your-Own-Keys الآن البحث عن تحليلات لمقابض عشوائية واستخدام نقطة نهاية X lookups دون الوصول إلى code: 3. يتم توقيع المكالمات ببيانات اعتماد X Developer App الخاصة بك وتُحسب مقابل حدود معدل X الخاصة بك.
  • 8 مايو - Python SDK v1.3.0 — دعم X/Twitter BYO. يعرض الآن Python SDK الرسمي set_twitter_byo(api_key, api_secret) وclear_twitter_byo() لـ X/Twitter Bring-Your-Own-Keys. بمجرد الضبط، يتضمن كل طلب SDK رأسي X-Twitter-OAuth1-Api-Key وX-Twitter-OAuth1-Api-Secret المطلوبين — مطلوبان لعمليات X/Twitter الآن بعد فرض متطلبات BYO الخاصة بـ Ayrshare (اعتبارًا من 31 مارس 2026). التثبيت عبر pip install —upgrade social-post-api؛ ملاحظات الإصدار على GitHub وPyPI.
  • 4 مايو - التحويل التلقائي لصيغة الصور. يتم الآن تحويل صور WebP وHEIC وAVIF تلقائيًا إلى JPEG قبل النشر إلى المنصات التي لا تقبلها. ينطبق تحويل WebP على Instagram وLinkedIn وTikTok وGoogle My Business وThreads وSnapchat. يتم تحويل HEIC وAVIF عبر جميع المنصات المدعومة. لا حاجة لتغييرات API؛ يعمل التحويل بشفافية في وقت الإرسال. رموز الأخطاء الجديدة 450 (فشل التحويل)، 451 (فشل تنزيل المصدر)، و452 (فشل تحميل الصورة المحولة) تظهر عندما لا يمكن اكتمال التحويل.
  • 4 مايو - أخطاء Instagram تشمل الآن رسالة Meta الخام. إخفاقات حالة وسائط Instagram تعرض الآن نص خطأ Meta الأساسي في حقل details جنبًا إلى جنب مع رمز خطأ Ayrshare، بحيث يمكن للمتصلين التمييز بين الأسباب (على سبيل المثال، مشكلات robots.txt/crawler مقابل مشكلات الرمز) دون التخمين من الرمز العام. راجع Instagram Post API ورموز الأخطاء.

أبريل 2026

  • 30 أبريل - X/Twitter BYOK في API Explorer. يتضمن Ayrshare API Explorer الآن قسم X/Twitter BYOK (Bring Your Own Keys) قابل للطي بحيث يمكنك لصق مفتاح API الخاص بك وسر API لـ X مرة واحدة وإرفاقهما كرؤوس X-Twitter-OAuth1-Api-Key وX-Twitter-OAuth1-Api-Secret في كل طلب صادر — لم تعد بحاجة إلى النزول إلى curl أو Postman لاختبار BYOK من Explorer. القيم محددة النطاق بعلامة تبويب المتصفح الحالية عبر sessionStorage، ومقنعة افتراضيًا مع تبديل الكشف، ويتم مسحها بنقرة واحدة. راجع دليل إعداد X BYO Key لكيفية الحصول على بيانات اعتمادك.
  • 28 أبريل - تحسينات التحليلات الاجتماعية (طرح تدريجي). نقطة نهاية Social Analytics تكتسب Instagram shareCount (إجمالي المشاركات مجمعة على نافذة 90 يومًا متدرجة) وYouTube lifetimeLikes (اشتراك عبر youtube: { lifetime: true })؛ ستظهر الحقول الجديدة في الاستجابات عند وصول النشر إلى حسابك. تصحيحات التوثيق المضمنة في هذا التحديث: Instagram viewsCount هو نافذة متدرجة لمدة 90 يومًا (وليس 180 يومًا)، mediaCount دائمًا مدى الحياة، YouTube likes محدد النطاق بـ quarters، ومقاييس TikTok على مستوى الملف الشخصي محددة بـ 60 يومًا مع دلالات مدى الحياة لكل منشور عند استخدام quarters.
  • 28 أبريل - Instagram Trial Reels. تدعم الآن نقطة نهاية /post نشر Instagram Trial Reels — Reels مرئية فقط لغير المتابعين عند النشر لأول مرة. اضبط instagramOptions.trialParams.graduationStrategy على “MANUAL” (التخرج من داخل تطبيق Instagram) أو “SS_PERFORMANCE” (تخرج Meta تلقائيًا بناءً على الأداء المبكر). ثلاثة رموز أخطاء تحقق جديدة — 447 و448 و449 — ترفض طلبات trial-reel غير الصالحة عند حافة Ayrshare.
  • 24 أبريل - موثوقية نشر Instagram. معالجة إعادة المحاولة التلقائية الموسعة لـ Instagram أثناء الأوقات المزدحمة وتحسين رسائل الأخطاء عبر اللوحة. بدلاً من الأخطاء العامة، ستتلقى الآن رموز أخطاء محددة لحدود المعدل (code: 435) ومهلات معالجة الوسائط (code: 436) — مما يجعل من الأسهل تشخيص المشكلات وبناء منطق إعادة محاولة أكثر ذكاءً في تكاملاتك.
  • 23 أبريل - Facebook Analytics Rate Limit Error Code 444. يعيد الآن اختناق تحليلات Facebook Page لكل صفحة (خطأ Meta 80001) code: 444 (HTTP 429) في استجابات تحليلات post وsocial. سابقًا كانت هذه الاختناقات مصنفة بشكل خاطئ كـ code: 161 (“relink your account”). إذا كان تكاملك يتفرع على 161 لتشغيل تدفق إعادة الربط، فقم بتحديثه للتعرف على 444 وإعادة المحاولة مع تراجع بدلاً من ذلك. راجع Facebook Analytics Rate Limit للحصول على التفاصيل.
  • 23 أبريل - استكشاف أخطاء Meta Media Crawler. دليل جديد في مركز المساعدة حول إصلاح الخطأ code: 440 (“social network could not download media from this URL”) وInstagram code: 138 / Threads code: 379 المرتبطين، والذي يسببه robots.txt أو قواعد الروبوت التي تحظر crawler النشر في Meta. راجع Meta Media Crawler Blocked.
  • 21 أبريل - أخطاء إدخال Moderation تعيد الآن 400. تعيد الآن POST /validate/moderation خطأ جديدًا code 438 (HTTP 400) لمشكلات إدخال المتصل (على سبيل المثال، ملف غير مدعوم كـ imageUrl، أو URL غير قابل للوصول/مشوه) بدلاً من 500 مضلل مع إرشاد إعادة المحاولة. إخفاقات المعالجة الحقيقية لا تزال تعيد code 331 (HTTP 500). راجع رموز الأخطاء.
  • 20 أبريل - Caption Enhancement Error Code 441. تعيد الآن نقطة نهاية Post خطأ code: 441 (HTTP 502) عندما يفشل تحسين التعليق مثل shortenLinks. عندما يؤثر الفشل على بعض المنصات فقط، لا تزال المنصات الناجحة تنشر وتظهر في postIds جنبًا إلى جنب مع status: “error” على المستوى الأعلى والإدخالات لكل منصة في errors[]. راجع Caption Enhancement Errors للحصول على التفاصيل.
  • 15 أبريل - اكتشاف الرمز الميت لـ Instagram. منشورات Instagram التي تفشل بسبب رمز OAuth غير صالح/منتهي الصلاحية — أو خطأ في دور/إذن الصفحة (Meta subcode 492) — تعيد الآن Ayrshare code 161 (خطأ تفويض) وتفكك تلقائيًا الحساب المتأثر بحيث يتم إخطار المستخدم بإعادة الربط، بدلاً من استجابة code 138 العامة المضللة “please try again” التي كانت تخفي هذه الحالات سابقًا. راجع رموز الأخطاء وInstagram Post API.
  • 9 أبريل - بيانات كل الأوقات وفلترة التواريخ لتحليلات Instagram وTikTok. تعيد الآن نقطة نهاية social analytics بيانات Instagram وTikTok لكل الأوقات عندما لا يتم تحديد daily أو quarters. استخدم quarters (1-4، حيث 1 = 90 يومًا) أو daily=true للتصفية حسب النطاق الزمني — مدعوم الآن على TikTok أيضًا. عند التنشيط، تعكس تصنيفات فترة التعليقات والمشاركات والمشاهدات وإجماليات TikTok النطاق الزمني المُصفَّى.
  • 9 أبريل - موثوقية التحليلات والاستعادة. تقوم نقاط نهاية Social Analytics وPost Analytics الآن تلقائيًا بملء المقاييس التراكمية (المتابعون، الإعجابات، المشاهدات) من البيانات المخزنة عندما تعيد الشبكة الاجتماعية أصفارًا مؤقتًا. حقلا استجابة اختياريان جديدان، backfilledFrom وrecoveredFrom، يشيران إلى وقت استخدام البيانات المخزنة. بالإضافة إلى ذلك، طلب التحليلات عندما لا تعيد أي منصات بيانات يعيد الآن خطأ 400 (code: 187) بدلاً من استجابة نجاح فارغة.
  • 1 أبريل - بيانات اعتماد X المستندة إلى الرأس في generateJWT. تقبل الآن نقطة نهاية Generate JWT رأسي X-Twitter-OAuth1-Api-Key وX-Twitter-OAuth1-Api-Secret لتمرير مفاتيح مستهلك X الخاصة بك — بما يتوافق مع جميع نقاط نهاية X/Twitter الأخرى. لا تزال معاملات الجسم مدعومة للتوافق مع الإصدارات السابقة.

مارس 2026

  • 30 مارس - كشف أخطاء نفاد الأرصدة في X. عندما ينفد حساب X/Twitter Developer BYOK من أرصدة API، فإن المنشورات التي كانت تعلق سابقًا في processing بدون خطأ تفشل الآن بشكل صحيح بـ code: 416 (X Credits Depleted، HTTP 402). تم توسيع الاكتشاف لـ code: 416 ليلتقط أيضًا استجابات HTTP 429 من X التي تذكر الأرصدة. راجع رموز الأخطاء للحصول على التفاصيل.
  • 28 مارس - إصلاح Null Response لمنشور Instagram. تم حل حالة حافة حيث كان منشور Instagram ينجح على المنصة لكن استجابة /post تعيد null بدلاً من جسم النجاح الطبيعي مع postIds وid. تعيد المنشورات الناجحة على Instagram الآن دائمًا استجابة صالحة يمكن لتكاملك تحليلها.
  • 26 مارس - إصلاح Instagram Daily Reach. تم إصلاح مشكلة حيث كانت تحليلات Instagram Social Analytics تحذف بيانات الوصول اليومية عند تعيين daily=true. تعيد الاستجابة الآن كائن reach متداخل (مع period وسلسلة زمنية values) في الوضع اليومي؛ لا يزال يتم إرجاع الحقل العددي reachCount في الوضع غير اليومي ويتم الحفاظ عليه كاحتياطي عندما تكون البيانات اليومية غير متاحة مؤقتًا.
  • 26 مارس - رموز أخطاء فرض X/Twitter BYOK. مع فرض متطلب Bring Your Own Keys الآن، تعيد طلبات X/Twitter رموز أخطاء محددة يمكنك التفرع عليها: 419 (HTTP 400، رؤوس X-Twitter-OAuth1-Api-Key/Secret مفقودة)، 416 (HTTP 402، حساب X Developer بدون أرصدة)، و417 (HTTP 403، أذونات تطبيق OAuth 1.0a غير معينة على Read/Write/DM). راجع رموز الأخطاء للرسائل والحلول.
  • 23 مارس - البحث بالكلمات المفتاحية على X. نقطة نهاية keyword search جديدة لعملاء BYOK. ابحث في X/Twitter عن تغريدات تطابق الكلمات المفتاحية والوسوم ومشغلات البحث المتقدم. يدعم التقسيم، والتصفية حسب اللغة والموقع، ويعيد بيانات التغريدات الموحدة.
  • 23 مارس - قسم الاستماع. تمت إضافة قسم Listening جديد، يوسع نقاط نهاية Brand بميزات جديدة مثل البحث بالكلمات المفتاحية.
  • 19 مارس - @Mentions في التعليقات. تمت إضافة توثيق لدعم @mention في السلسلة النصية comment على نقاط نهاية Post a Comment وReply to a Comment. يشمل تفاصيل حل LinkedIn من جانب الخادم وروابط إلى بناء جملة الإشارة الخاص بالمنصة.
  • رسائل X/Twitter المقسمة إلى صفحات. تدعم الآن نقطة نهاية Get Messages معامل استعلام limit لـ X/Twitter، مما يتيح لك جلب آخر N رسائل فقط (1-100) دون مزامنة سجل كاملة. جنبًا إلى جنب مع التقسيم القائم على المؤشر عبر معامل next، يتيح ذلك الاستطلاع الفعال — جلب دفعة صغيرة، والتحقق مما إذا كانت لديك بالفعل، والانتقال إلى الصفحات فقط إذا لزم الأمر.
  • زيادة حدود حجم الفيديو. مع تركيز الكثير من النشر الاجتماعي الآن على محتوى الفيديو، قمنا بزيادة حدود تحميل الفيديو لدينا عبر منصات متعددة: LinkedIn (200 ميغابايت → 500 ميغابايت)، TikTok (1 غيغابايت → 10 غيغابايت)، X Premium long video (1 غيغابايت → 16 غيغابايت)، وأضفنا حدودًا أكبر خاصة بنوع المحتوى لـ Facebook (Reels 2 غيغابايت، Stories 4 غيغابايت، Feed 10 غيغابايت) وPinterest (2 غيغابايت). راجع Media Guidelines للحصول على التفاصيل الكاملة.
  • دعم X/Twitter Messages لمفتاح BYO. تدعم الآن نقاط نهاية Get Messages وSend Message بيانات اعتماد X/Twitter API BYO (Bring Your Own). إشعارات DM في الوقت الفعلي عبر webhooks غير متاحة لمستخدمي BYO؛ استخدم الاستطلاع عبر نقطة نهاية GET Messages بدلاً من ذلك.
  • Bring Your Own Keys على X. تغيير كبير في كيفية توصيل حسابات X/Twitter. يمنحك نهج Bring Your Own Keys الجديد مزيدًا من التحكم في حسابك، ونقل بيانات أفضل، وتدفق OAuth يحمل علامتك التجارية. يحتاج جميع المستخدمين إلى إجراء الانتقال بحلول 31 مارس 2026.
  • روابط قصيرة قابلة للتحرير. يمكنك الآن تحديث الروابط القصيرة بعد نشرها.
  • موثوقية معالجة المنشورات المجدولة. تم حل مشكلة حيث يمكن أن ينفد الذاكرة من مهمة معالجة المنشورات المجدولة وتعيد أخطاء 503. زيادة تخصيص الموارد، وإضافة معالجة الاستعلامات المقسمة إلى صفحات، وإدخال قفل تطبيق موزع لمنع التنفيذ المكرر — لضمان تشغيلات فردية وموثوقة لجميع معالجة المنشورات المجدولة.
  • تحسينات سجل Facebook وInstagram. تحسنت نقاط نهاية /history/facebook و/history/instagram: بالنسبة لـ Facebook، يتم الآن تصفية Stories المنتهية الصلاحية/المؤرشفة افتراضيًا بحيث تظهر فقط Stories النشطة جنبًا إلى جنب مع المنشورات العادية، وتسمح معاملا الاستعلام الجديدان since وuntil بتصفية قائمة على الوقت باستخدام سلاسل تاريخ ISO UTC. لكل من Facebook وInstagram، يتيح لك معامل dataType جديد طلب posts فقط أو stories فقط أو كليهما (الافتراضي).
  • إزالة حدود معدل X. كجزء من ترحيل X/Twitter BYO Keys، لم يعد Ayrshare يفرض حدود معدل شهرية أو يومية على تحليلات X. يخضع استخدامك الآن لحدود حساب X Developer الخاصة بك.

فبراير 2026

  • 25 فبراير - عناوين ووصف فيديو X/Twitter. تدعم الآن مقاطع الفيديو المنشورة على X/Twitter تعيين videoTitle وvideoDescription (مرسلة على كائن twitterOptions من X Post API) للوسائط التي تم تحميلها إلى X Media Studio. تصاحب هذه دعم thumbNail الحالي للحصول على بيانات وصفية أكثر ثراءً للفيديو.
  • Batch Analytics. تمت إضافة دعم للتحليلات الدفعية لمعرّفات المنشورات الاجتماعية، مما يسمح بما يصل إلى 100 منشور لكل مكالمة تحليلات باستخدام معامل postIds الجديد. اقرأ عنه على نقطة نهاية Analytics on a Post by Social ID.
  • ترقيم صفحات السجل. تمت إضافة دعم ترقيم الصفحات إلى API posts history for a platform لـ Threads وX/Twitter. لا مزيد من حد 500 منشور — يمكنك الآن سحب سجل أطول باستخدام ترقيم الصفحات، وتقسيم المكالمات إلى قطع أصغر للاستجابات الأسرع والأكثر كفاءة.
  • تحسينات الفترة التجريبية المجانية. يمكن لمستخدمي الفترة التجريبية المجانية الآن اختبار Messaging API وMax Pack — لن يتم تحصيل رسوم منك حتى نهاية فترة الفترة التجريبية المجانية.
  • رسائل خطأ محسّنة. تمت إضافة تفاصيل إضافية إلى رسائل خطأ X/Twitter وLinkedIn، مما يجعل من الأسهل تشخيص المشكلات في مكالمات API الخاصة بك.
  • إصلاح تعليقات Instagram. تم إصلاح مشكلة حيث لم تكن تعليقات Instagram على المستوى الأعلى ذات الردود المتداخلة تُعاد بشكل صحيح من نقطة نهاية Get Comments.
  • Python SDK. تم تحديث Python SDK بأحدث الميزات والتحسينات.
  • عنوان URL لـ X/Twitter Webhook. يتم الآن تضمين حقل ayrshareUrl جديد في حمولة Direct Message Event webhook، لتوفير عنوان URL غير مصادَق عليه للراحة.
  • تكامل Slack لصفحة الحالة. يمكنك ربط التحديثات من صفحة الحالة بـ Slack تلقائيًا. ما عليك سوى النقر على “Get Updates” في الزاوية اليمنى العليا وتحديد خيار Slack.

يناير 2026

  • 21 يناير - إصلاح Custom Domain لتحليلات الروابط. تعيد الآن نقطة نهاية Link Analytics (GET /links/:id) روابط قصيرة باستخدام نطاقك المخصص المكوّن بدلاً من نطاق Ayrshare الافتراضي. إذا كنت تستخدم نطاق رابط قصير مخصص (Business/Enterprise)، فإن عناوين URL للتحليلات الآن تطابق روابطك المباشرة.
  • 15 يناير - مزامنة حذف رسائل Instagram الصادرة. عند حذف رسالة Instagram صادرة (مرسلة) في تطبيق Instagram الأصلي، يتم الآن وضع علامة عليها بشكل صحيح كمحذوفة في بيانات Messages الخاصة بـ Ayrshare — مطابقة السلوك الحالي للرسائل الواردة. يبقى سجل المحادثة الآن دقيقًا لكلا الاتجاهين.
  • MCP Server. عادت بالطلب الشعبي — أعدنا إطلاق MCP Server الخاص بنا! اربط أدوات الذكاء الاصطناعي الخاصة بك مباشرة بـ Ayrshare API.
  • التسجيل الذاتي. تمت إضافة self-serve signup جديد لخطة Business وLaunch Plan. يمكن للعملاء الجدد الآن الوصول إلى فترة تجريبية مجانية لمدة 14 يومًا من Launch Plan لاختبار منصة Ayrshare.
  • X/Twitter Video Thumbnails. تدعم الآن منشورات فيديو X/Twitter تضمين صورة معاينة مصغرة (كعنوان URL). يتم إرسال هذا كجزء من البيانات الوصفية عند تحميل فيديو.
  • حد Instagram Hashtag. تم تغيير حد الوسوم على منشورات Instagram إلى 5 للتوافق مع الإرشادات الجديدة المنشورة بواسطة Instagram.
  • مدة فيديو Bluesky. تم تعديل حد مدة وسائط فيديو Bluesky إلى ثلاث دقائق ليكون متماشيًا مع متطلبات Bluesky API.

ديسمبر 2025

ننهي هذا العام مع التركيز على الشفافية والموثوقية، مع العديد من إصدارات الميزات الجديدة المخطط لها في الربع الأول من 2026.
  • 23 ديسمبر - كيانات URL X/Twitter في الاستجابة. تتضمن الآن استجابات منشور X/Twitter وhistory بيانات كيان URL للروابط في نص التغريدة: مصفوفة urls على المستوى الأعلى تحمل حقول X الخام (display_url، expanded_url) بالإضافة إلى كائن entities بترميز camelCase حيث تظهر نفس الروابط كـ entities.urls[].displayUrl / expandedUrl — مما يجعل من الأسهل عرض معاينات الروابط واكتشاف الروابط الصادرة في تكاملك.
  • X/Twitter Entities. تعيد الآن نقاط نهاية post analytics وplatform history لـ X/Twitter كيانات محللة من نص التغريدة، بما في ذلك عناوين URL والإشارات والوسوم والعلامات مع مواضعها وعناوين URL المعروضة.
  • تحليلات منشور Facebook. مقاييس جديدة تمت إضافتها إلى Facebook post analytics بما في ذلك mediaView وmediaViewIsFromAds وmediaViewIsFromFollowers لاستبدال مقاييس الانطباعات المتوقفة.
  • تعليقات Bluesky. تحسّن دعم استرداد تعليقات Bluesky مع المعالجة المناسبة لمعرّفات المنشورات والتعليقات بأسلوب AT Protocol.
  • ربط Threads. تحسّن ربط حساب Threads للتعامل مع الحالات التي لا تكون فيها حقول الاسم أو اسم المستخدم موجودة في الحساب.
  • مراقبة 24/7. تم استقدام فريق DevOps مخصص لمراقبة المنصة على مدار الساعة لتحسين الموثوقية.
  • الإيصالات الشهرية. يتم الآن إرسال الإيصالات الشهرية التلقائية بالبريد الإلكتروني إلى صاحب الحساب الأساسي، مما يوفر شفافية أفضل حول التسعير والمدفوعات.

نوفمبر 2025

  • تحديث رمز Instagram. تمت إضافة التحديث التلقائي لرموز Instagram طويلة الأمد للمستخدمين الذين يربطون بـ Instagram باستخدام تسجيل دخول IG المباشر (بدون Facebook Page).
  • تحديثات تحليلات Facebook. تعيد الآن تحليلات منشور Facebook مقاييس انطباعات محسّنة بما في ذلك post_impressions_paid_unique وpost_impressions_fan_unique وpost_impressions_organic_unique وpost_impressions_unique.
  • Facebook Page Insights. تمت إضافة حقول تحليلات Facebook Social جديدة: pageFollows، pageMediaView، pageMediaViewIsFromAds، وpageMediaViewIsFromFollowers مع دعم كل من التجميع والتفصيل اليومي.
  • تحليلات Instagram. مقاييس viewsCount وreachCount لـ تحليلات Instagram Social مدعومة الآن مع كل من تسجيل دخول Instagram المباشر والحسابات المرتبطة بـ Facebook.
  • إشارات LinkedIn. تم إصلاح معالجة إشارات LinkedIn للتمييز بشكل صحيح بين الإشارة إلى المنظمات مقابل الأفراد.
  • تحسينات لوحة التحكم. تم إعادة هيكلة صفحة API في لوحة تحكم Ayrshare على الويب مع تحسين الأداء وبطاقة استخدام رسائل منظمة بشكل أفضل.
  • توسيع الفريق. توسيع فريق التطوير لتسريع الدعم وتطوير الميزات.

أكتوبر 2025

  • Ayrshare مستحوذ عليها من قبل Saas.group. تم الاستحواذ على Ayrshare من قبل Saas.group. يتوسع الفريق لتقديم تطوير ميزات أسرع ودعم عملاء أفضل.
  • سجل Webhook. نقطة نهاية جديدة لـ الحصول على سجل webhook لكل إجراء للأشهر الستة الماضية.
  • استهداف مواقع Facebook Ads. بالإضافة إلى استهداف الدولة، يمكنك الآن تحديد منطقة أو مدينة عند تعزيز منشورات Facebook.
  • الصور المصغرة لفيديو LinkedIn. تعيد الآن نقطة نهاية سجل LinkedIn thumbnailUrl لمنشورات الفيديو، مما يسهل عرض معاينات الفيديو في تطبيقك.
  • تحليلات منشور Reddit. تحسّنت موثوقية تحليلات منشور Reddit مع معالجة مصادقة محسّنة لتجنب مشكلات حد المعدل.
  • سجل Instagram. تحسّنت معالجة مجموعات النتائج الكبيرة في سجل منشورات Instagram للحسابات التي تحتوي على العديد من المنشورات.
  • Facebook Ads. تتضمن الآن نقطة نهاية سجل إعلانات Facebook توضيحًا حول الإعلانات التي يتم إرجاعها بناءً على هيكل الحملة.
  • تعاون Instagram. تمت إضافة توثيق يوضح أن منشورات التعاون المقبولة قد لا تُعاد من نقطة نهاية سجل المنصة بسبب قيود Instagram API.

سبتمبر 2025

  • TikTok Drafts. يدعم الآن إرسال منشور إلى مسودات TikTok الصور بالإضافة إلى مقاطع الفيديو.
  • Facebook Ads. كجزء من المتطلبات التي حددها قانون الخدمات الرقمية للاتحاد الأوروبي (DSA)، يتطلب Facebook أن توفر الإعلانات التي تستهدف أي جزء من الاتحاد الأوروبي قيمًا تحدد المستفيد والدافع للإعلان الذي يتم إنشاؤه. يمكنك الآن البحث عن توصيات DSA وإضافتها إلى الإعلان.
  • إدارة الوسائط. تم تحسين نقطة نهاية GET media لتشمل ملفات الوسائط الكبيرة التي تم تحميلها، وتعرض الآن حقل expireAt.
  • النشر على Threads. أنشئ بسهولة thread على Threads (المعروف باسم threadstorms)، وهو سلسلة من المنشورات المتصلة على Meta Threads.
  • الرسائل المباشرة. تدعم الآن Facebook وInstagram Messaging إرسال ملفات صوتية (AAC أو WAV).

أغسطس 2025

يوليو 2025

يونيو 2025

  • Instagram Login (قريبًا). تمكين أو تعطيل Instagram Login في صفحة الربط الاجتماعي. سيتم تمكين Instagram Login افتراضيًا في الأسابيع القادمة. إذا كنت تحتاج إلى الميزات المتقدمة المدرجة بما في ذلك البحث عن الوسوم والتعاون ووسم الموقع أو بيانات العلامة التجارية، فيجب عليك تعطيل هذا الخيار يدويًا لاستخدام مصادقة Facebook Page بدلاً من ذلك. نوصي معظم العملاء باستخدام Instagram Login المباشر الجديد لأنه سير عمل أبسط ولا يتطلب Facebook Page.
  • تقديم Snapchat. يدعم Ayrshare الآن Snapchat. يتيح Snapchat API النشر المباشر للمحتوى إلى كل من Stories وSpotlight، والحصول على التحليلات والسجل. Stories هي منشورات مؤقتة تختفي بعد 24 ساعة، بينما منشورات Spotlight دائمة ويمكنها مساعدة المبدعين والشركات في الوصول إلى جمهور أوسع.
  • MCP Server. اربط Ayrshare API Docs MCP server بوكيل الذكاء الاصطناعي الخاص بك. عن طريق ربط Ayrshare API documentation MCP server بأدوات تطوير الذكاء الاصطناعي مثل Cursor أو Claude Desktop، يمكنك منح وكيل الذكاء الاصطناعي الخاص بك وصولًا مباشرًا إلى وثائق Ayrshare.
  • نسخ منشور. انسخ منشورًا موجودًا إلى منصة أخرى. تتيح لك نقطة النهاية الجديدة هذه إعادة استخدام المنشورات الناجحة عبر منصات مختلفة أو بتكوينات مختلفة.
  • لوحة تحكم المطورين. تحسينان جديدان في تدفق النشر في لوحة تحكم المطورين. بالإضافة إلى تحميل ملفات الوسائط، يمكنك الآن أيضًا استخدام عناوين URL لنشر الوسائط الخاصة بك. ويمكنك الآن عرض JSON المستخدم لنشر منشورك مما يساعد في التحقق من صحة JSON الخاص بك.
  • إدارة المستخدم. تعيد الآن نقطة نهاية User الحالة الفورية للشبكات الاجتماعية المتصلة، مع التحديث تلقائيًا كلما قام المستخدمون بتوصيل أو فصل حسابات وسائل التواصل الاجتماعي الخاصة بهم.
  • YouTube. يسمح نشر فيديو على YouTube الآن بالإفصاح عن المحتوى الواقعي المُعدَّل أو الاصطناعي (A/S) عن طريق تعيين معامل containsSyntheticMedia. عرض المستندات.
  • Facebook. يعيد الحصول على تعليقات على Facebook الآن عنوان URL المباشر إلى التعليق المحدد.

مايو 2025

أبريل 2025

مارس 2025

فبراير 2025

يناير 2025

ديسمبر 2024

  • لوحة التحكم. تم تحسين أداء صفحة User Profiles في لوحة تحكم الويب. ستحصل الآن على تجربة تمرير وتحميل سلسة بغض النظر عن عدد ملفات المستخدم لديك في حسابك.
  • لوحة التحكم. تتيح لك صفحة Posts في لوحة تحكم الويب الآن تضمين المنشورات المحذوفة في الجدول الزمني لسجلك. يتيح لك ذلك الوصول إلى المنشورات المحذوفة وتصفيتها والبحث عنها بنفس طريقة المنشورات الناجحة.
  • المنشورات المحذوفة. إذا قمت أنت أو مستخدموك بحذف منشور يدويًا على شبكة اجتماعية، يمكنك وضع علامة عليه كمحذوف يدويًا في Ayrshare. سيمنع ذلك Ayrshare من محاولة حذف المنشور في المستقبل ويسمح لك بالوصول إلى سجل منشورات أكثر دقة.
  • Webhooks. يمكنك الآن الحصول على جميع webhooks المسجلة لجميع ملفات المستخدم الخاصة بك في مكالمة واحدة.
  • التحليلات. تشمل الآن تحليلات منشور Instagram عدد المشاركات والمتابعين المكتسبين وزيارات الملف الشخصي ونشاط الملف الشخصي.
  • التعليقات. تعيد الآن تعليقات TikTok اسم الشخص الذي أدلى بالتعليق.
  • التعليقات. تعيد الآن تعليقات X معرّف التغريدة التي تم الرد على التعليق عليها.

نوفمبر 2024

أكتوبر 2024

  • First Comment. أضف تلقائيًا تعليقًا أولاً إلى منشورات وسائل التواصل الاجتماعي المنشورة الخاصة بك. First comment هي ميزة رائعة تتيح لك إضافة المزيد من التفاصيل والسياق، وزيادة التفاعل، وتحديد نبرة المحادثة.
  • أخطاء التعليقات. يتم أيضًا إرجاع أخطاء التعليقات في حقل مصفوفة أخطاء للتوافق مع كيفية إرجاع أخطاء المنشورات.
  • تعليقات X/Twitter. يمكنك الآن إضافة وسائط إلى تعليقات X/Twitter وردود التعليقات، والتي تشمل كل من الصور ومقاطع الفيديو.
  • تحليلات Pinterest. تم تحسين مقاييس Pinterest وتشمل الآن سنة كاملة من بيانات التحليلات، وتعليقات مدى الحياة، وتفاعلات لكل من الصور ومقاطع الفيديو.
  • RSS Feeds. عند إضافة خلاصة RSS يمكنك الآن تحديد الشبكات الاجتماعية التي يتم نشر المقال عليها. هذا متاح على كل من لوحة التحكم وعبر API.
  • لوحة التحكم. في صفحة API الخاصة بلوحة تحكم Ayrshare، هناك نظرة عامة جديدة على Monthly API Calls، والتي تتضمن الآن استدعاءات API للتعليقات بالإضافة إلى استدعاءات API للمنشورات.
Ayrshare Dashboard API Calls

سبتمبر 2024

  • تحليلات Facebook. تعيد الآن نقاط نهاية History Get All Posts وAnalytics المستخدمين الذين أعجبوا بمنشور Facebook. لكل مستخدم، يمكنك الحصول على اسم المستخدم ومعرّف المستخدم.
  • الإشراف على المحتوى. هناك نقطة نهاية Moderation جديدة تتحقق مما إذا كان المحتوى ضارًا أو غير لائق. تدعم هذه النقطة النهائية كلًا من النصوص والصور.
  • ربط LinkedIn. كان توصيل صفحات شركات LinkedIn يتطلب سابقًا أن يكون المستخدم Super Admin على الصفحة. يمكن الآن لمشرفي المحتوى الذين يديرون صفحة شركة LinkedIn الاتصال، مما يسمح لهم بالنشر والحصول على التحليلات وإدارة التعليقات.
  • إدارة المستخدم. تعيد الآن نقطة نهاية User كل من Page ID وUser ID لـ Facebook وInstagram.
  • لوحة التحكم. تظهر الآن صفحة Post في لوحة تحكم الويب مؤشر أيقونة إذا تم نشر المنشور من rss feed.
  • مراجعات Facebook. تعيد الآن مراجعات Facebook صورة الملف الشخصي للمراجع.
  • مراجعات Google. تعيد الآن مراجعات Google Business Profile جميع مراجعاتك، حتى لو كانت هناك آلاف.

أغسطس 2024

  • سجل LinkedIn. يمكنك الآن الحصول على سجل المنشورات لصفحات LinkedIn الشخصية. سابقًا كانت صفحات شركات LinkedIn فقط تعيد السجل. يتطلب إعادة ربط LinkedIn مع Ayrshare.
  • تحليلات LinkedIn. هناك نقاط بيانات جديدة متاحة لصفحات LinkedIn الشخصية والشركات بما في ذلك تفاصيل likedBy وcomment.
  • بحث LinkedIn. تتيح لك الآن نقطة نهاية brand البحث عن شخص أو شركة. هذا مفيد لرؤية تفاصيل من أعجب بأحد منشوراتك.
  • سجل Facebook. يمكنك تقييد النتائج لـ سجل صفحة Facebook لعرض المنشورات التي تم نشرها بواسطة الصفحة نفسها فقط. سيؤدي ذلك إلى تصفية جميع المحتويات التي لم تُنشر من الصفحة.
  • User Profile. تعيد الآن نقطة نهاية user حقلًا جديدًا مع الطابع الزمني لآخر مرة تم فيها إجراء استدعاء API لهذا user profile.
  • منشورات X الطويلة. يمكنك نشر منشورات طويلة إلى حسابات X Premium. يمكن أن تكون المنشورات الطويلة حتى 25,000 حرف. يمكنك الآن أيضًا الحصول على بيانات كاملة للمنشور الطويل بما في ذلك النص الكامل وعنوان URL في نص المنشور الطويل عند استدعاء التحليلات أو السجل.
  • لوحة تحكم الويب. تم تحسين تصميم صفحة post وأضيفت عدة أنواع محتوى جديدة. يمكنك الآن نشر Facebook وInstagram Reels أو Stories أو YouTube Shorts مباشرة من لوحة التحكم.
Updated API Dashboard
  • إدارة الفريق. عندما تدعو عضو فريق يمكنك الآن معرفة ما إذا كان قد قبل الدعوة أو إعادة إرسال الدعوة من صفحة User Profiles في لوحة التحكم.
  • عناوين فيديو الذكاء الاصطناعي. تشمل الآن نصوص الفيديو عنوانًا مقترحًا. هذا مفيد للنشر على YouTube الذي يتطلب عنوانًا لكل تحميل فيديو. (Max Pack Required)
  • إيقاف المنشورات مؤقتًا. يمكنك إيقاف المنشورات المجدولة وإلغاء إيقافها باستخدام نقطة نهاية post.
  • تحليل المشاعر. يمكن الآن لنقطة نهاية generate إنشاء تحليل المشاعر لمنشور أو تعليق لفهم ما إذا كان سلبيًا أو إيجابيًا أو محايدًا. تشمل النتيجة أيضًا توصيات حول كيفية التحسين.
  • تحليلات Instagram. تم تحسين تحليلات Instagram لإرجاع بيانات ديموغرافية إضافية على الجمهور المتفاعل.
  • صور TikTok. يمكنك الآن النشر على TikTok بصورة. سابقًا كان الفيديو مطلوبًا.

يوليو 2024

يونيو 2024

  • Ayrshare Messaging API. إضافة Ayrshare Messaging هي إضافة مدفوعة اختيارية تسمح لمنصتك بإدارة المراسلة المباشرة لمستخدميك بما في ذلك Facebook Messenger وInstagram Messaging وX/Twitter Messaging.
  • تعليقات YouTube. يمكنك الآن حذف التعليقات على YouTube باستخدام معرّف تعليق YouTube.
  • Auto Hashtags. تقديم نظام auto-hashtag المُعاد بناؤه بالكامل مع وسوم أكثر صلة وبدون حد على طول المنشور. تمت أيضًا زيادة كمية الوسوم للسماح بما يصل إلى 10 وسوم لكل منشور.
  • لوحة تحكم الويب. تم تحديث واجهة مستخدم لوحة التحكم بالقدرة على إزالة جميع الشبكات الاجتماعية المستهدفة في صفحة post بنقرة واحدة، وقسم مثال جديد للكود في صفحة API Key.
  • إدارة User Profile. تم تحسين نقطة نهاية Profiles للسماح لك بتصفية النتائج على الملفات الشخصية التي لديها حسابات اجتماعية نشطة أو تحتوي على منصات معينة.

مايو 2024

  • Google Business. يمكنك الآن تحديث بيانات موقع Google Business Profile الخاص بك بما في ذلك أرقام الهواتف وعنوان URL للموقع الإلكتروني وموقع الخريطة والمزيد.
  • بحث السجل. مع نقطة نهاية History يمكنك الآن البحث عن معرّفات المنشور عبر جميع ملفات المستخدم لديك. هذا مفيد إذا كان لديك معرّف منشور ولا تعرف أي user profile قام بنشره.
  • علامات User Profile. أضف علاماتك الخاصة إلى user profile بحيث يمكنك تنظيم وإدارة الملفات الشخصية بشكل أفضل. تسمح لك لوحة تحكم الويب أيضًا برؤية العلامات المعينة والبحث عن العلامات في صفحة User Profiles.
  • تسميات YouTube التوضيحية. أضف تسميات توضيحية مخصصة خاصة بك إلى فيديو YouTube باستخدام ملف SRT أو SVB.
  • حزمة NPM. تم إصدار حزمة NPM Node.js المحدثة بنقاط نهاية جديدة ووثائق أكثر تفصيلاً. تمت أيضًا إعادة تسمية الحزمة إلى social-media-api.
  • تعليقات Facebook. يمكنك الآن إضافة صورة كجزء من تعليقك على Facebook.
  • تعليقات LinkedIn. تعيد الآن تعليقات LinkedIn عدد الإعجابات لهذا التعليق المحدد.
  • علامات LinkedIn التجارية. تم تحسين نقطة نهاية Brands لـ بيانات LinkedIn بالاسم المحلي للحساب وتخصصات الشركة ووصف الشركة.
  • تعطيل التعليقات. يمكنك تعطيل التعليقات على منشور على Instagram وLinkedIn وTikTok. يعمل هذا على المنشورات الجديدة أو المنشورات المنشورة بالفعل.
  • المنشورات التاريخية. احصل على بيانات المنشور التاريخية من TikTok على المنشورات التي لم تُنشر عبر Ayrshare.
  • تحليلات Instagram. نقاط بيانات جديدة متاحة لـ قصص Instagram بما في ذلك الردود والمشاركات وعدد الخروج.
  • AI Generate. أنشئ نص منشور وسائط اجتماعية بالذكاء الاصطناعي بناءً على صورة واحدة أو أكثر. يمكن استخدام هذا أيضًا لكتابة تسمية توضيحية للصورة.
  • لوحة تحكم الويب. لكل user profile مدرج في لوحة التحكم، يمكنك رؤية الشبكات الاجتماعية المتصلة. يمكن التمرير فوق أيقونة كل شبكة اجتماعية لرؤية الاسم على الشبكة الاجتماعية.
  • الربط الاجتماعي. في لوحة تحكم الويب وفي صفحة الربط الاجتماعي، تظهر الآن صور الملف الشخصي بجانب اسم الصفحة أو الشركة.

أبريل 2024

مارس 2024

  • متعاونو Instagram. يتيح تعاون Instagram لك تأليف المحتوى بشكل مشترك مع حسابات أخرى. يمكن للمؤلف الأصلي العام وسم حساب خاص أو عام آخر كمتعاون. إضافة متعاوني Instagram إلى منشورات الوسائط.
  • Google Business Profile. أصبحت البيانات الإضافية على Google Business Profile متاحة الآن بما في ذلك روابط المراجعات والخريطة ومعرّف المكان وبيانات أخرى. الحصول على هذه البيانات الإضافية يتطلب إعادة ربط Google Business Profile.
  • موقع Facebook Page وInstagram وGoogle Profile. في شاشة ربط الصفحة، يمكنك الآن عرض موقع الصفحة لـ Facebook Page وحساب Instagram وGoogle Business profile.
  • تحليلات Facebook Profile. تعيد الآن Facebook Social Profile Analytics ما يصل إلى 4 أرباع من البيانات. يمكنك تعيين البيانات ليتم إرجاعها إما مجمعة أو يومية.
  • سجل Facebook. تُعاد الآن Facebook Stories في نقطة نهاية Get All History.
  • صفحة الربط الاجتماعي. تدعم الآن صفحة Ayrshare Social Linking إعادة التوجيه إلى علامة التبويب أو النافذة الأصلية للفتح.
  • مراجعات Facebook. يمكنك الآن الرد على مراجعة على Facebook.
  • متابعو Instagram. تحتوي Instagram Get Followers Online على تنسيق UTC محسّن. تعيد هذه البيانات إجمالي العدد التاريخي لمتابعي Instagram على الإنترنت في الساعة، مما يتيح لك تحسين النشر لأقصى قدر من التفاعل.
  • Instagram Carousel. انشر الآن كلًا من مقاطع الفيديو والصور في Instagram carousel. يمكن تضمين ما يصل إلى 10 عناصر وسائط مجتمعة.
  • TikTok. تدعم الآن تسميات TikTok التوضيحية فواصل الأسطر باستخدام حرف “\n”.

فبراير 2024

  • المراجعات. احصل على المراجعات وقم بالرد عليها واحذفها على Google Business Profile وFacebook Pages باستخدام نقطة نهاية /reviews الجديدة.
  • تعليقات LinkedIn. احصل على تعليقات LinkedIn بواسطة معرّف التعليق للتعليقات التي تمت خارج Ayrshare.
  • إشارات LinkedIn. تُحل الآن إشارات LinkedIn في التعليقات والرد على التعليقات إلى مقبض المنظمة المشار إليه.
  • بيانات الملف الشخصي العامة. يمكنك الآن البحث عن Facebook Pages وأسماء LinkedIn في نقطة نهاية brand. ابحث عن معلومات وسائل التواصل الاجتماعي العامة للمستخدمين أو الشركات، مثل المتابعين وصورة الملف الشخصي والمواقع الإلكترونية. لا يحتاج هؤلاء المستخدمون والشركات إلى أن يكونوا مستخدمي Ayrshare مرتبطين.
  • تعليقات Facebook. تعيد الآن API لنقطة نهاية comments لـ تعليقات Facebook الردود مباشرة في جسم الاستجابة.
  • Instagram Banned Hashtags. تحقق من الوسوم المحظورة باستخدام نقطة نهاية API الجديدة أو أداة الويب الجديدة. هذا مفيد للحفاظ على حساباتك آمنة من التعليقات أو الحظر الظلي.
  • Facebook Groups. أعلن Facebook أنه سيزيل الوصول إلى API لـ Facebook Groups. تعرّف على المزيد.

يناير 2024

  • مقاطع فيديو Instagram أطول. تدعم منشورات فيديو Instagram الآن أطوالًا تصل إلى 15 دقيقة و1 غيغابايت. هذه زيادة من 60 ثانية و100 ميغابايت السابقة.
  • ترجمة نص المنشور. اختر من بين أكثر من 100 لغة مختلفة لترجمة نص منشورك. على سبيل المثال، ترجمة الإنجليزية إلى الفرنسية أو الإسبانية إلى الألمانية. يتم اكتشاف اللغة المصدر تلقائيًا.
  • ترجمة الأخطاء. يمكن ترجمة رسائل الخطأ تلقائيًا إلى اللغة التي تختارها. هذا مفيد إذا كنت تريد عرض الخطأ مباشرة لمستخدمك بلغته المفضلة.
  • تحليلات Pinterest. نقاط بيانات Pinterest إضافية متاحة للحصول على جميع السجل بما في ذلك عنوان المنشور والملاحظات ومعرّف اللوحة.
  • التحقق من طول المنشور. تشمل الآن نقطة نهاية Check Post Length عمليات التحقق لـ Facebook وGoogle Business Profile وLinkedIn وPinterest وYouTube.
  • نقاط نهاية User Batch الجديدة. عندما تحتاج إلى مجموعة بيانات كبيرة، تعد نقاط نهاية batch خيارًا رائعًا. يمكنك استخدام نقاط نهاية batch للحصول على ملفات json لجميع ملفات المستخدم لديك ثم استخدام webhook لإعلامك عندما يكون الملف جاهزًا.
  • منشورات LinkedIn التاريخية. احصل على بيانات تاريخية لمنشور LinkedIn تم نشره خارج Ayrshare.
  • تفاعلات منشورات LinkedIn. تعيد الآن نقطة نهاية Get All Post لـ LinkedIn التفاعلات للمنشور، مثل Likes وPraise وMaybe وAppreciation.
  • وقت آخر استدعاء API. الوصول إلى الوقت الذي استخدمت فيه مفتاح API آخر مرة في لوحة تحكم الويب في قسم API Key.
  • سجل لوحة تحكم Ayrshare. تتيح لك الآن لوحة تحكم الويب تحميل جميع المنشورات التاريخية أو سجلات webhook باستخدام زر “Load more” الجديد.
  • أخطاء Webhook. عرض معدل الخطأ لـ webhooks الخاصة بك لمعرفة النسبة المئوية لاستجابات النجاح مقابل الخطأ.

تحديثات أقدم

راجع أرشيف التحديثات لرؤية التحديثات الأقدم.