Préremplir les déclarations douanières
Suivez les étapes ci-dessous pour activer le remplissage automatique des déclarations douanières en utilisant les ID de Déclaration de votre plateforme.
1. Activer le champ ID de Déclaration dans le flux de création d'étiquettes
Ajoutez un champ ID de Déclaration à votre interface de création d'étiquettes postales. Lorsque les utilisateurs saisissent un ID de Déclaration valide, votre plateforme peut préremplir la déclaration douanière, éliminant ainsi la saisie manuelle des données.
2. Interroger le statut de l'ID de Déclaration et les détails de la déclaration douanière
Utilisez la requête suivante pour récupérer les données complètes de la déclaration douanière en utilisant l'ID de Déclaration. Cela renvoie le statut de validation ainsi que les détails des articles, les valeurs, les codes SH et les informations sur le destinataire lorsque disponibles.
Requête
GraphQL
query DeclarationQuery($id: ID!) {
declaration(id: $id) {
id
status
paymentStatus
landedCost {
id
method
landedCostGuaranteeCode
amountSubtotals {
duties
taxes
fees
landedCostTotal
}
}
items {
id
sku
productId
amount
currencyCode
name
hsCode
description
hsCodeSource
countryOfOrigin
quantity
measurements {
type
value
unitOfMeasure
}
}
parties {
id
type
person {
firstName
lastName
email
phone
}
location {
id
line1
line2
countryCode
postalCode
}
}
}
}
Variables
GraphQL
"id": "0mm1993s0mdcn"
}
3. Gérer la réponse et auto-remplir la déclaration en douane
La réponse de l'API inclut le statut de validation et les données douanières. Utilisez les informations de status pour déterminer si l'ID de déclaration est valide, puis auto-remplissez les données douanières disponibles ou demandez une saisie manuelle.
Exemples de réponses
ID de déclaration valide avec des données douanières complètes :
Réponse
JSON
{
"data": {
"declaration": {
"id": "0mm1993s0mdcn",
"status": "OPEN",
"paymentStatus": "OPEN",
"landedCost": {
"id": "landed_cost_eabb13ab-df23-45df-9ce8-96dd29d396d1",
"method": "DAP",
"landedCostGuaranteeCode": "NOT_APPLICABLE",
"amountSubtotals": {
"duties": 0.0,
"taxes": 0.0,
"fees": 2.62,
"landedCostTotal": 2.62
}
},
"items": [
{
"id": "item_0mm199388v57g",
"sku": "item_1",
"productId": "item_1",
"amount": 70.0,
"currencyCode": "USD",
"name": "Item 1",
"hsCode": "9504.90.4000",
"description": "This is the description for Item 1",
"hsCodeSource": "TARIFF_COMPLETED",
"countryOfOrigin": "CN",
"quantity": 2,
"measurements": [
{
"type": "WEIGHT",
"value": 1,
"unitOfMeasure": "POUND"
}
]
}
],
"parties": [
{
"id": "party_0kesb32rw5hfa",
"type": "DESTINATION",
"person": {
"firstName": "test",
"lastName": "origin",
"email": null,
"phone": "1234567890"
},
"location": {
"id": "location_c7882546-652e-49cb-81a4-98962a54c49f",
"line1": "123 Test Street",
"line2": "",
"countryCode": "US",
"postalCode": "84790"
}
},
{
"id": "party_0mjfz59bgg175",
"type": "ORIGIN",
"person": {
"firstName": "test",
"lastName": "destination",
"email": null,
"phone": "1234567890"
},
"location": {
"id": "location_0mdzb9vk8bp7c",
"line1": "998 Ridgehaven",
"line2": null,
"countryCode": "CA",
"postalCode": "N0N 0N0"
}
}
]
}
}
}
4. Créer l'expédition
Traitez la création de l'étiquette en utilisant soit des données auto-remplies à partir d'un ID de déclaration, soit des informations de déclaration saisies manuellement.
5. Lier le numéro de suivi à l'ID de déclaration
Après la création de l'étiquette, utilisez la mutation declarationShipmentCreate pour lier le numéro de suivi à l'ID de déclaration, garantissant ainsi une validation appropriée du paiement des droits et le suivi de l'expédition.
Créer l'expédition
GraphQL
mutation DeclarationShipmentCreate($input: DeclarationShipmentCreateInput!) {
declarationShipmentCreate(input: $input)
}
Vous pouvez créer un envoi lié à un ID de déclaration en passant un tableau de trackingNumbers et l'declarationID utilisé pour l'envoi.
Variables sans détails de carton
GraphQL
{
"input": {
"declarationId": "0mm32wfyrn5es",
"trackingNumbers": ["test_tracking_1", "test_tracking_2"]
}
}
Vous pouvez créer un envoi en passant le declarationID utilisé pour l'envoi. Si vous avez des détails sur les cartons et les articles à l'intérieur des cartons, vous pouvez les passer dans le shipmentCarton avec le trackingNumber pour ce carton.
Variables avec les détails du carton
GraphQL
{
"input": {
"declarationId": "0mm32wfyrn5es",
"shipmentCartons": [
{
"dimensionalUnit": "INCH",
"length": 8,
"width": 4,
"height": 2,
"trackingNumber": "1234567890",
"weight": 5,
"weightUnit": "POUND",
"items": [
{
"itemReference": "item_1",
"quantity": 3,
"hsCode": "1234.56.7890"
}
]
}
]
}
}
Étiquettes d'expédition | Valider un ID de Déclaration
Récupérer le statut d'un ID de Déclaration et préremplir la documentation douanière
Si vous créez des étiquettes postales, vous pouvez appeler Zonos pour récupérer les détails complets de la déclaration douanière lorsqu'un utilisateur fournit un ID de Déclaration. Cela élimine le besoin pour les utilisateurs de remplir manuellement la documentation douanière, créant une expérience d'expédition fluide où les droits sont prépayés et les formulaires douaniers sont automatiquement remplis.