يرسل تكامل المبيعات تعديلًا لاسم العميل، فيختفي هاتفه. يحدث ذلك أحيانًا لأن جهة ترسل كل الحقول مع null للمجهول، بينما تفسر الجهة الأخرى null كطلب إزالة. قبل ربط CRM عبر API، اتفق على معنى عدم إرسال الحقل، وإرسال قيمة فارغة، وطلب المسح؛ هذه قرارات تؤثر في البيانات وليست تفاصيل شكل JSON فقط.
ثبت صيغة التحديث المتفق عليها
تحدد مواصفة RFC 7396 نوع application/merge-patch+json. في هذه الصيغة تبقى الأعضاء الغائبة كما هي، وتعني null إزالة العضو الموجود، وتستبدل المصفوفة كوحدة بدل تعديل عنصر داخلها. لا تعمم القاعدة على كل endpoint يستخدم PATCH؛ قد يطبق نظامك عقدًا آخر يجب توثيقه.
إذا كانت null قيمة عمل حقيقية تحتاج تخزينها كما هي، فراجع ملاءمة هذه الصيغة قبل اعتمادها. لا تعالج الالتباس بتحويل كل null إلى سلسلة فارغة؛ الهاتف غير المعروف والرقم الذي طلب المستخدم مسحه قد يحتاجان معنى وإجراء مختلفين في تصميم المؤسسة.
اكتب مثالًا صغيرًا قبل الكود
جهز سجلًا مصطنعًا يحوي اسمًا وهاتفًا ووسمين. أرسل طلبًا يغير الاسم فقط، ثم آخر يطلب إزالة الهاتف، ثم ثالثًا يرسل قائمة وسوم جديدة. اكتب النتيجة المتوقعة لكل طلب قبل تنفيذه، وافحص السجل من مسار قراءة مستقل بعد الحفظ.
| المدخل التجريبي | سؤال القبول |
|---|---|
| الهاتف غير موجود في الطلب | هل بقي الهاتف القديم دون تغيير؟ |
| الهاتف بقيمة null | هل نفذ معنى الإزالة الموثق أو رُفض لقاعدة عمل؟ |
| قائمة وسوم أقصر | هل فهم المستهلك أنها استبدال للقائمة؟ |
| عضو غير مسموح للموظف | هل منع الخادم التعديل رغم صحة JSON؟ |
راجع طبقات التحويل والصلاحيات
قد تغير مكتبة عميل أو نموذج واجهة القيم قبل الإرسال. راقب الطلب الفعلي ببيانات مصطنعة وقارنه بما قصده المستخدم. اختبر صفرًا وfalse وسلسلة فارغة بشكل منفصل، ولا تسقطها جميعًا بشرط برمجي يعتبرها غيابًا.
صحة الصيغة لا تمنح صلاحية تعديل المالك أو الشركة أو حالة اعتماد السجل. حدد الحقول المسموحة في الخادم وسلوك الطلب الذي يضم تعديلًا مسموحًا وآخر ممنوعًا، وسجل النتيجة. وعند تعارض نسختين، تحتاج سياسة حفظ مشروط مستقلة؛ صيغة الدمج لا تحل تعارض التعديلات وحدها.
سلّم عقدًا يستطيع الطرفان اختباره
ضمن ربط نظام إدارة العملاء اطلب حالات JSON قصيرة بنتائج واضحة في المراجعة التقنية. وثق الإصدار ونوع المحتوى والحقول القابلة للمسح. الهدف أن يعبر الطلب عن نية المستخدم دون محو بيانات لم يقصد تغييرها، مع رسائل رفض مفهومة عندما تمنع قواعد العمل الإزالة.




