Layanan ini menawarkan antarmuka umum untuk deklarasi kustom, di mana deklarasi tersebut direpresentasikan menggunakan skema deklarasi WCO. Selain menyerahkan deklarasi, layanan Deklarasi Pabean memungkinkan Anda untuk mengubah dan membatalkannya. Ini juga menyediakan kemampuan untuk mengunggah dokumen pendukung dan membuat pemberitahuan kedatangan.
Tujuan dari API Layanan Deklarasi Pabean adalah:
Karena proses notifikasi tidak sinkron, satu-satunya respons terhadap pemberi pernyataan dari API ini adalah menunjukkan keberhasilan (atau sebaliknya) validasi dan penyerahan ke backend CDS.
sbt run
yang berjalan pada port 9820
secara defaultsbt 'run -Dapplication.router=testOnlyDoNotUseInAppConf.Routes'
Layanan Deklarasi Bea Cukai dapat dijalankan secara lokal dari Manajer Layanan, menggunakan profil berikut:
Detail Profil | Memerintah | Keterangan |
---|---|---|
CUSTOMS_DECLARATION_ALL | sm2 --mulai CUSTOMS_DECLARATION_ALL | Untuk menjalankan semua aplikasi CDS. |
CUSTOMS_INVENTORY_LINKING_EXPORTS_ALL | sm2 --mulai CUSTOMS_INVENTORY_LINKING_EXPORTS_ALL | Untuk menjalankan semua aplikasi terkait Ekspor Penautan Inventaris CDS. |
CUSTOMS_INVENTORY_LINKING_IMPORTS_ALL | sm2 --mulai CUSTOMS_INVENTORY_LINKING_IMPORTS_ALL | Untuk menjalankan semua aplikasi terkait Penautan Inventaris CDS. |
sbt test
sbt IntegrationTest/test
sbt test IntegrationTest/test
./run_all_tests.sh
clean scalastyle coverage test it:test coverageReport dependencyUpdates"
Untuk menjalankan tes penerimaan CDS, lihat di sini.
Untuk menjalankan tes kinerja, lihat di sini.
Untuk dokumentasi Customs Declarations API, lihat di sini.
Jalur - rute internal yang diawali dengan /customs-declarations | Metode yang Didukung | Keterangan |
---|---|---|
/customs-declarations/ | POS | Titik akhir untuk mengirimkan deklarasi. |
/customs-declarations/cancellation-requests | POS | Titik akhir untuk membatalkan deklarasi. |
/customs-declarations/amend | POS | Titik akhir untuk mengubah deklarasi. |
/customs-declarations/file-upload | POS | Titik akhir untuk mengirimkan unggahan file. |
/customs-declarations/uploaded-file-upscan-notifications/clientSubscriptionId/:clientSubscriptionId | POS | Titik akhir untuk mengelola pemberitahuan upscan unggahan file. |
/customs-declarations/file-transmission-notify/clientSubscriptionId/:clientSubscriptionId | POS | Endpoint untuk mengirimkan notifikasi unggah file ke notifikasi bea cukai. |
/customs-declarations/arrival-notification | POS | Titik akhir untuk mengirimkan deklarasi pemberitahuan kedatangan. |
Jalur | Metode yang Didukung | Keterangan |
---|---|---|
/file-upload/test-only/all | MENGHAPUS | Titik akhir untuk menghapus semua metadata unggahan file. |
Permintaan ke titik akhir /file-upload dapat berisi URL suksesRedirect dan errorRedirect. Ini tidak wajib. Jika pengalihan sukses dan kesalahan disertakan maka upscan v2 akan dipanggil, jika tidak, v1.
tautan ke perintah curl
Ada tugas SBT zipWcoXsds
yang menghasilkan file ZIP yang berisi skema dan contoh pesan untuk setiap versi di bawah /public/api/conf
selama fase pengemasan (sehingga tidak dihasilkan selama pengembangan normal). File ZIP ini direferensikan oleh YAML. Referensi ini dirender sebagai tautan HTML ke ZIP yang dihasilkan dalam layanan yang diterapkan.
Untuk menghasilkan file zip secara lokal, jalankan perintah berikut di baris perintah dari direktori root proyek:
sbt package
fieldsId
dari layanan api-subscription-fields
Header X-Client-ID
, bersama dengan konteks dan versi aplikasi digunakan untuk memanggil layanan api-subscription-fields
guna mendapatkan UUID fieldsId
unik untuk diteruskan ke permintaan backend.
Perhatikan bahwa layanan untuk mendapatkan fieldsId
saat ini tidak dimatikan.
api-subscription-fields
untuk pengujian end-to-end lokal Pastikan layanan api-subscription-fields
berjalan pada port 9650
. Kemudian jalankan perintah curl di bawah ini.
Harap dicatat bahwa versi 2.0
digunakan sebagai contoh dalam perintah yang diberikan, dan Anda harus memasukkan nomor versi api deklarasi bea cukai yang akan Anda hubungi selanjutnya.
Harap dicatat bahwa nilai d65f2252-9fcf-4f04-9445-5971021226bb
digunakan sebagai contoh dalam perintah yang diberikan, dan Anda harus memasukkan nilai UUID yang sesuai dengan kebutuhan Anda.
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" } }'
Kami kemudian harus menyetel ulang kolom fieldId
secara manual agar sesuai dengan id yang diharapkan oleh layanan hilir. Di jendela perintah mongo tempelkan yang berikut ini, satu demi satu.
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"}
}
)
Saat Anda mengirim permintaan ke customs-declarations
pastikan Anda memiliki header HTTP X-Client-ID
dengan nilai d65f2252-9fcf-4f04-9445-5971021226bb
Tiga versi layanan ini tersedia di Developer Hub.
Masing-masing memiliki bagian konfigurasi terpisah untuk titik akhir deklarasi wco MDG sehingga versinya dapat diarahkan ke layanan backend yang berbeda.
Menyediakan header ACCEPT yang diperlukan dalam permintaan akan membedakan konfigurasi layanan mana yang akan digunakan:
Terima Tajuk | Versi |
---|---|
application/vnd.hmrc.1.0+xml | v1 |
application/vnd.hmrc.2.0+xml | v2 |
application/vnd.hmrc.3.0+xml | v3 |
Harap perhatikan bahwa permintaan dengan nilai header Accept
lainnya ditolak dengan status respons 406 Not Acceptable
.
Peralihan dinamis titik akhir layanan telah diterapkan untuk konektor deklarasi wco. Untuk mengonfigurasi peralihan dinamis titik akhir harus ada bagian yang sesuai di file konfigurasi aplikasi (lihat contoh di bawah). Ini harus berisi detail konfigurasi titik akhir.
customs-declarations
layanan memiliki konfigurasi default
dan konfigurasi stub
. Perhatikan bahwa konfigurasi default
dideklarasikan langsung di dalam bagian 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"
}
Kode ini adalah perangkat lunak sumber terbuka yang dilisensikan di bawah Lisensi Apache 2.0.