عقدة HTTP Request تُرجع 422 „معاملات مطلوبة مفقودة

مرحباً بك في مجتمع n8n،

أنا أعمل على دورة n8n Academy N8N102، القسم 1 – خط أنابيب تكامل API.

أنا أقوم بتكوين عقدة SendToPriorityQueue HTTP Request بالضبط وفقاً لتعليمات الدورة:

  • الطريقة: POST
  • عنوان URL: https://learn.app.n8n.cloud/webhook/course/n8n102/priority-queue
  • المصادقة: Header Auth
  • الرأس: X-Assessment-ID
  • نوع محتوى الجسم: JSON
  • حقول الجسم:
    • order_id → {{ $json.order_id }}
    • customer_id → {{ $json.customer_id }}
    • company_name → {{ $json.customer_name }}company_name → {{ $json.customer_name }}
    • subscription → {{ $json.subscription }}

بيانات الإدخال موجودة أيضاً. على سبيل المثال:

  • customer_id → CUST-004
  • order_id → ORD-005

ومع ذلك، عند تنفيذ العقدة، أحصل على هذا الخطأ: طلبك غير صحيح أو لم تتمكن الخدمة من معالجته [العنصر 0]

مفقود واحد أو أكثر من المعاملات المطلوبة. تأكد من إرسال assessment_id و order data.

كود HTTP: 422
لقد تحققت مرتين من بيانات الاعتماد وX-Assessment-ID الرأس والتعبيرات وحقول الجسم وتعليمات الدورة، لكن الخطأ لا يزال يحدث.

هل يمكن لأحدكم أن يساعدني في تحديد ما قد يسبب خطأ 422 هذا؟

يمكنني توفير لقطات شاشة لتكوين العقدة وبيانات الإدخال/الإخراج إذا لزم الأمر.

شكراً لك!

معرف التقييم الخاص بي هو a532e0b4ed6a9909b2c56b4370c4f38d

تلميح ملموس واحد موجود في موضوع SendOrders السابق: صادرات سير العمل هناك أظهرت عقدة HTTP Request بدون اتصال وارد. إذا تم بناء أو تنفيذ SendToPriorityQueue بالطريقة نفسها، فإن التعبيرات يمكن أن تبدو صحيحة في المحرر أثناء الحل بدون طلب في وقت التشغيل. هذا يتناسب مع “تقييم assessment_id وبيانات الطلب المفقودة” بشكل أفضل من استجابة “order_id غير صالح”.

قم بتشغيل سير العمل من العقدة قبل SendToPriorityQueue بدلاً من تنفيذ عقدة HTTP هذه بمفردها. ثم افتح لوحة الإدخال في SendToPriorityQueue وأكد أن نفس العنصر يحتوي على قيم غير فارغة لـ order_id و customer_id و customer_name و subscription. أظهرت أمثلة للاثنين الأولين، لكن نقطة النهاية تحتاج إلى جسم الطلب الكامل.

افتح أيضاً بيانات اعتماد Header Auth نفسها وتحقق من أن اسم رأسها هو بالضبط X-Assessment-ID وأن قيمتها معبأة. تحديد Header Auth على العقدة لا يثبت أن قيمة الرأس يتم إرسالها.

يجب أن يتم حل الجسم إلى كائن JSON واحد بهذه المفاتيح بالضبط: order_id و customer_id و company_name و subscription، حيث يقرأ company_name من customer_name. إذا كانت هذه القيم الأربع المحسوبة والرأس موجودة، شارك صادرات العقدة مع اتصالها الوارد وقسم Request من تفاصيل الخطأ. سيفصل هذا قيمة التشغيل المفقودة عن مشكلة نقطة النهاية دون تخمين.

{
“nodes”: [
{
“parameters”: {
“batchSize”: 5,
“options”: {}
},
“type”: “n8n-nodes-base.splitInBatches”,
“typeVersion”: 3,
“position”: [
1232,
160
],
“id”: “821ab33c-489f-4672-9877-4fb834b5c9e2”,
“name”: “BatchPriorityOrders”
}
],
“connections”: {
“BatchPriorityOrders”: {
“main”: [
,

]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “00c266f31cb9dea6a2df6b877792a62a759dc7580e00f7d2f293af5086702288”
}
}{
“nodes”: [
{
“parameters”: {
“batchSize”: 5,
“options”: {}
},
“type”: “n8n-nodes-base.splitInBatches”,
“typeVersion”: 3,
“position”: [
1232,
160
],
“id”: “821ab33c-489f-4672-9877-4fb834b5c9e2”,
“name”: “BatchPriorityOrders”
}
],
“connections”: {
“BatchPriorityOrders”: {
“main”: [
,

]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “00c266f31cb9dea6a2df6b877792a62a759dc7580e00f7d2f293af5086702288”
}}

http=

{
“nodes”: [
{
“parameters”: {
“method”: “POST”,
“url”: “https://learn.app.n8n.cloud/webhook/course/n8n102/priority-queue”,
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpHeaderAuth”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: " X-Assessment-ID",
“value”: “a532e0b4ed6a9909b2c56b4370c4f38d”
}
]
},
“sendBody”: true,
“bodyParameters”: {
“parameters”: [
{
“name”: “order_id”,
“value”: “= {{ $json.order_id }}”
},
{
“name”: “customer_id”,
“value”: “={{ $json.customer_id }}”
},
{
“name”: “\nsubscription”,
“value”: “={{ $json.subscription }}”
},
{
“name”: “company_name”,
“value”: “={{ $json.customer_name }}”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.4,
“position”: [
1472,
176
],
“id”: “def8fba8-fde5-4e7e-bfa8-d2d3b9774567”,
“name”: “SendToPriorityQueue”,
“credentials”: {
“httpHeaderAuth”: {
“id”: “kc4VQ2bsonFUn27C”,
“name”: “n8n Academy API Key2”
}
}
}
],
“connections”: {
“SendToPriorityQueue”: {
“main”: [

]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “00c266f31cb9dea6a2df6b877792a62a759dc7580e00f7d2f293af5086702288”
}
}

هل يمكنك مساعدتي في التحقق مما إذا كانت المشكلة في بيانات وقت التشغيل الخاصة بي أم في جانب نقطة نهاية الكورس؟

إعجاب واحد (1)

التصدير الجديد يظهر مشاكل سير العمل/الإعدادات المحلية قبل وجود دليل على مشكلة endpoint المسار.

أولاً، BatchPriorityOrders و SendToPriorityQueue لا يزالان مُصدَّرين كعقد منفصلة بدون اتصال بينهما. اربط المخرج الذي يصدر كل دفعة بعقدة HTTP Request، قم بالتشغيل من العقدة الأعلى، وتأكد من أن لوحة Input الخاصة بعقدة HTTP تحتوي على جميع القيم الأربع المصدرية في نفس العنصر.

ثانياً، اسم الرأس اليدوي هو X-Assessment-ID مع مسافة في البداية. يجب أن يكون بالضبط X-Assessment-ID. اخترت أيضاً بيانات اعتماد Header Auth، لذا استخدم مصدر رأس واحد: إما احتفظ ببيانات الاعتماد بهذا الاسم الدقيق وأزل النسخة اليدوية، أو أرسل رأساً يدويّاً واحداً دقيقاً. لا تترك نسختين متنافستين.

ثالثاً، مفتاح المتن هو \nsubscription، وليس subscription، والتعبير order_id مُصدَّر باسم = {{ $json.order_id }} بينما الآخرون يستخدمون نموذج ={{ ... }} العادي. أعد تسمية مفتاح المتن ليكون بالضبط subscription وطبّع order_id إلى ={{ $json.order_id }}.

بعد هذه الإصلاحات، يجب أن يحتوي متن الطلب المُحلّ بالضبط على order_id، و customer_id، و company_name، و subscription، مع قيم غير فارغة. إذا كان هذا الطلب الدقيق يعود بـ 422، فأرسل قسم Request المحرّر من عقدة HTTP ومتن الاستجابة. في الوقت الحالي التصدير كافٍ لتشخيص الجانب العميل أولاً.

مراجع n8n الرسمية:

تفاصيل الخطأ:

{
“errorMessage”: “طلبك غير صحيح أو لم تتمكن الخدمة من معالجته [item 0]”,
“errorDescription”: “معرّف الطلب غير صحيح. يرجى التأكد من أنك تُرسل معرّف الطلب الصحيح”,
“errorDetails”: {
“rawErrorMessage”: [
“422 - “{\“error\”:\“معرّف الطلب غير صحيح. يرجى التأكد من أنك تُرسل معرّف الطلب الصحيح\”}””
],
“httpCode”: “422”
},
“n8nDetails”: {
“nodeName”: “SendToPriorityQueue”,
“nodeType”: “n8n-nodes-base.httpRequest”,
“nodeVersion”: 4.4,
“itemIndex”: 0,
“time”: “31/08/2026, 4:27:45 pm”,
“n8nVersion”: “2.30.4 (Self Hosted)”,
“binaryDataMode”: “filesystem”,
“stackTrace”: [
“NodeApiError: طلبك غير صحيح أو لم تتمكن الخدمة من معالجته”,
" at ExecuteContext.execute (C:\Users\mdkhu\AppData\Roaming\npm\node_modules\n8n\node_modules\n8n-nodes-base\nodes\HttpRequest\V3\HttpRequestV3.node.ts:869:16)“,
" at WorkflowExecute.executeNode (C:\Users\mdkhu\AppData\Roaming\npm\node_modules\n8n\node_modules\n8n-core\src\execution-engine\workflow-execute.ts:1080:8)”,
" at WorkflowExecute.runNode (C:\Users\mdkhu\AppData\Roaming\npm\node_modules\n8n\node_modules\n8n-core\src\execution-engine\workflow-execute.ts:1380:11)“,
" at C:\Users\mdkhu\AppData\Roaming\npm\node_modules\n8n\node_modules\n8n-core\src\execution-engine\workflow-execute.ts:1842:27”,
" at C:\Users\mdkhu\AppData\Roaming\npm\node_modules\n8n\node_modules\n8n-core\src\execution-engine\workflow-execute.ts:2534:11"
]
}
}

تفحصها

إعجابَين (2)

اشرح لي من أجل معرفتي أنا مبتدئ الآن :melting_face:

إعجاب واحد (1)

أنا أيضاً أواجه هذه المشكلة