توفر هذه الخدمة واجهة عامة للإقرارات المخصصة، حيث يتم تمثيل تلك الإقرارات باستخدام مخطط إقرارات منظمة الجمارك العالمية. بالإضافة إلى تقديم البيانات، تتيح لك خدمة البيانات الجمركية تعديلها وإلغائها. كما يوفر أيضًا القدرة على تحميل المستندات الداعمة وإجراء إشعارات الوصول.
الهدف من واجهة برمجة تطبيقات خدمة الإقرارات الجمركية هو:
نظرًا لأن عملية الإعلام غير متزامنة، فإن الاستجابة الوحيدة للمُعلن من واجهة برمجة التطبيقات (API) هذه هي الإشارة إلى نجاح (أو غير ذلك) التحقق من الصحة وتقديمه إلى الواجهة الخلفية لـ CDS.
sbt run
الذي يعمل على المنفذ 9820
افتراضيًاsbt 'run -Dapplication.router=testOnlyDoNotUseInAppConf.Routes'
يمكن تشغيل خدمة الإقرارات الجمركية محليًا من مدير الخدمة، باستخدام ملفات التعريف التالية:
تفاصيل الملف الشخصي | يأمر | وصف |
---|---|---|
CUSTOMS_DECLARATION_ALL | sm2 --بدء CUSTOMS_DECLARATION_ALL | لتشغيل كافة تطبيقات CDS. |
CUSTOMS_INVENTORY_LINKING_EXPORTS_ALL | sm2 --بدء CUSTOMS_INVENTORY_LINKING_EXPORTS_ALL | لتشغيل جميع التطبيقات ذات الصلة بصادرات CDS Inventory Linking. |
CUSTOMS_INVENTORY_LINKING_IMPORTS_ALL | sm2 --بدء CUSTOMS_INVENTORY_LINKING_IMPORTS_ALL | لتشغيل جميع التطبيقات ذات الصلة باستيراد وربط مخزون CDS. |
sbt test
sbt IntegrationTest/test
sbt test IntegrationTest/test
./run_all_tests.sh
clean scalastyle coverage test it:test coverageReport dependencyUpdates"
لتشغيل اختبارات قبول CDS، انظر هنا.
لإجراء اختبارات الأداء، انظر هنا.
للحصول على وثائق API للتصريحات الجمركية، انظر هنا.
المسار - المسارات الداخلية المسبوقة بـ /customs-declarations | الطرق المدعومة | وصف |
---|---|---|
/customs-declarations/ | بريد | نقطة النهاية لتقديم إعلان. |
/customs-declarations/cancellation-requests | بريد | نقطة النهاية لإلغاء الإعلان. |
/customs-declarations/amend | بريد | نقطة النهاية لتعديل الإعلان. |
/customs-declarations/file-upload | بريد | نقطة النهاية لتقديم تحميل الملف. |
/customs-declarations/uploaded-file-upscan-notifications/clientSubscriptionId/:clientSubscriptionId | بريد | نقطة النهاية لإدارة إشعارات Upscan لتحميل الملفات. |
/customs-declarations/file-transmission-notify/clientSubscriptionId/:clientSubscriptionId | بريد | نقطة النهاية لتقديم إشعارات تحميل الملفات إلى إشعار الجمارك. |
/customs-declarations/arrival-notification | بريد | نقطة النهاية لتقديم إعلان إشعار الوصول. |
طريق | الطرق المدعومة | وصف |
---|---|---|
/file-upload/test-only/all | يمسح | نقطة النهاية لحذف جميع البيانات الوصفية لتحميل الملفات. |
يمكن أن يحتوي الطلب الموجه إلى نقطة نهاية تحميل الملف/ على عناوين URL الخاصة بـ SuccessRedirect وerrorRedirect. هذه غير إلزامية. إذا تم تضمين كل من إعادة توجيه النجاح والخطأ، فسيتم استدعاء upscan v2، وإلا فسيتم استدعاء v1.
رابط لأوامر الضفيرة
توجد مهمة SBT zipWcoXsds
التي تنشئ ملف ZIP يحتوي على مخططات ورسائل نموذجية لكل إصدار ضمن /public/api/conf
أثناء مرحلة التعبئة (لذلك لا يتم إنشاؤها أثناء التطوير العادي). تتم الإشارة إلى ملفات ZIP هذه بواسطة YAML. يتم تقديم هذه المراجع كروابط HTML إلى ملف ZIP الذي تم إنشاؤه في الخدمة المنشورة.
لإنشاء ملف مضغوط محليًا، قم بتشغيل الأمر التالي في سطر الأوامر من الدليل الجذر للمشروع:
sbt package
fieldsId
من خدمة api-subscription-fields
يتم استخدام رأس X-Client-ID
، جنبًا إلى جنب مع سياق التطبيق وإصداره، لاستدعاء خدمة api-subscription-fields
للحصول على fieldsId
الفريد UUID لتمريره إلى طلب الواجهة الخلفية.
لاحظ أن خدمة الحصول على fieldsId
غير متوقفة حاليًا.
api-subscription-fields
للاختبار المحلي الشامل تأكد من تشغيل خدمة api-subscription-fields
على المنفذ 9650
. ثم قم بتشغيل الأمر الضفيرة أدناه.
يرجى ملاحظة أنه يتم استخدام الإصدار 2.0
كمثال في الأوامر المقدمة، ويجب عليك إدخال رقم إصدار API للإقرارات الجمركية الذي ستتصل به لاحقًا.
يرجى ملاحظة أن القيمة d65f2252-9fcf-4f04-9445-5971021226bb
تُستخدم كمثال في الأوامر المقدمة، ويجب عليك إدخال قيمة UUID التي تناسب احتياجاتك.
curl -v -X PUT "http://localhost:9650/field/application/d65f2252-9fcf-4f04-9445-5971021226bb/context/customs%2Fdeclarations/version/2.0" -H "Cache-Control: no-cache" -H "Content-Type: application/json" -d '{ "fields" : { "callbackUrl" : "https://postman-echo.com/post", "securityToken" : "securityToken", "authenticatedEori": "ABC123" } }'
يتعين علينا بعد ذلك إعادة تعيين حقل fieldId
يدويًا لمطابقة المعرف المتوقع بواسطة الخدمات النهائية. في نافذة أوامر mongo، قم بلصق ما يلي، واحدًا تلو الآخر.
use api-subscription-fields
db.subscriptionFields.update(
{ "clientId" : "d65f2252-9fcf-4f04-9445-5971021226bb", "apiContext" : "customs/declarations", "apiVersion" : "2.0" },
{ $set:
{"fieldsId" : "d65f2252-9fcf-4f04-9445-5971021226bb"}
}
)
عند إرسال طلب إلى customs-declarations
تأكد من أن لديك رأس HTTP X-Client-ID
بالقيمة d65f2252-9fcf-4f04-9445-5971021226bb
تتوفر ثلاثة إصدارات من هذه الخدمة على مركز المطورين.
يحتوي كل منها على أقسام تكوين منفصلة لنقطة نهاية إعلان MDG wco بحيث يمكن توجيه الإصدارات إلى خدمات خلفية مختلفة.
يؤدي توفير رأس ACCEPT المطلوب في الطلب إلى تمييز تكوين الخدمة المطلوب استخدامه:
قبول الرأس | إصدار |
---|---|
application/vnd.hmrc.1.0+xml | الإصدار 1 |
application/vnd.hmrc.2.0+xml | الإصدار 2 |
application/vnd.hmrc.3.0+xml | v3 |
يرجى ملاحظة أنه يتم رفض الطلبات التي تحتوي على أي قيمة أخرى لرأس Accept
مع حالة الاستجابة 406 Not Acceptable
.
تم تنفيذ التبديل الديناميكي لنقاط نهاية الخدمة لموصل إعلان WCO. لتكوين التبديل الديناميكي لنقطة النهاية، يجب أن يكون هناك قسم مناظر في ملف تكوين التطبيق (انظر المثال أدناه). يجب أن يحتوي هذا على تفاصيل تكوين نقطة النهاية.
تحتوي customs-declarations
للخدمة على تكوين default
وتكوين stub
. لاحظ أنه يتم الإعلان عن التكوين default
مباشرةً داخل قسم customs-declarations
.
Prod {
...
services {
...
wco-declaration {
host = some.host
port = 80
bearer-token = "some_token"
context = /services/declarationmanagement/1.0.0
stub {
host = localhost
port = 9479
bearer-token = "some_stub_token"
context = "/registrations/registerwithid/1.0.0"
}
}
v2 {
wco-declaration {
host = some.host
port = 80
bearer-token = "some_token"
context = /services/declarationmanagement/1.0.0
stub {
host = localhost
port = 9479
bearer-token = "some_stub_token"
context = "/registrations/registerwithid/1.0.0"
}
}
}
}
}
default version (application/vnd.hmrc.1.0+xml):
curl -X "POST" http://customs-declarations-host/test-only/service/wco-declaration/configuration -H 'content-type: application/json' -d '{ "environment": "stub" }'
version 2 (application/vnd.hmrc.2.0+xml):
curl -X "POST" http://customs-declarations-host/test-only/service/v2.wco-declaration/configuration -H 'content-type: application/json' -d '{ "environment": "stub" }'
The service customs-declarations is now configured to use the stub environment
curl -X "POST" http://customs-declarations-host/test-only/service/wco-declaration/configuration -H 'content-type: application/json' -d '{ "environment": "default" }'
The service customs-declarations is now configured to use the default environment
curl -X "GET" http://customs-declarations-host/test-only/service/wco-declaration/configuration
{
"service": "wco-declaration",
"environment": "stub",
"url": "http://currenturl/customs-declarations"
"bearerToken": "current token"
}
هذا الرمز هو برنامج مفتوح المصدر مرخص بموجب ترخيص Apache 2.0.