تجاوز إلى المحتوى الرئيسي
الإصدار: 1.x

API04003: استجابة JSON تالفة

ما يعنيه ذلك​

عاد الخادم ببيانات تبدو كأنها JSON ولكنها تالفة أو غير صالحة. لم يتمكن الـ POS من تحليل الاستجابة لأن بناء جملة JSON معطوب.

أسباب شائعة​

  • إشعارات/تحذيرات PHP — إخراج PHP قبل JSON
  • BOM (بداية أمر البايت) — أحرف غير مرئية في بداية الملف
  • مشكلات الترميز — مشاكل في ترميز الأحرف
  • استجابة مقطوعة — انقطاع الاستجابة أثناء الإرسال
  • إخراج المكون الإضافي — أضاف مكون إضافي محتوى غير JSON

كيفية الإصلاح​

1. تحقق من إشعارات PHP​

تتسبب إشعارات/تحذيرات PHP قبل JSON في كسر التحليل:

في wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

راجع wp-content/debug.log وقم بإصلاح أي مشكلات.

2. تحقق من أحرف BOM​

تضيف بعض محررات النصوص أحرف BOM غير المرئية:

  • أعد حفظ ملفات PHP بدون BOM
  • استخدم ترميز UTF-8 بدون BOM
  • تحقق من الملفات التي تم تعديلها مؤخرًا

3. تحقق من الاستجابة الكاملة​

إذا كانت الاستجابات مقطوعة:

  • تحقق من إعدادات تخزين إخراج PHP
  • قم بزيادة output_buffering في php.ini
  • تحقق من مشكلات انقضاء الوقت

4. اختبار API مباشرة​

في متصفحك أو باستخدام curl:

curl -v https://yoursite.com/wp-json/wcpos/v1/

ابحث عن أي محتوى غير متوقع قبل JSON.

5. تحقق من ترميز الأحرف​

تأكد من أن قاعدة البيانات وPHP تستخدم UTF-8:

  • تحقق من إعدادات مجموعة الأحرف في wp-config.php
  • تحقق من أن جداول قاعدة البيانات تستخدم UTF-8
  • ابحث عن أحرف خاصة تسبب مشاكل
  • API04001 — تنسيق استجابة غير صالح
  • API04005 — محاولة استعادة JSON