API Spendint - POST /sn_spend_intg/spendint/shipment
Utilisez ce point de terminaison pour accepter les mises à jour des achats effectués auprès de tiers.
Tables d'états
Pour connaitre l'état de la demande d'expédition, effectuez un appel REST dans la base de données ServiceNow à l'aide de l'API REST Table. La réponse de l'API répertorie les enregistrements dans lesquels la mise à jour de l'expédition a échoué. Pour obtenir une réponse d'expédition, interrogez la table d'erreurs d'expédition à l'aide du paramètre suivant :
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Les informations sur l'ID client, l'ID du fournisseur, le type d'erreur, l'ID de jeu d'importation unique et l'état se trouvent dans la table État sortant, qui est la table d'erreurs parente.
Format d'URL
/api/sn_spend_intg/spendint/shipment
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| mode | Prise en charge des modes asynchrones et synchrones pour les intégrations tierces. Type de données : chaîne Valeurs valides :
Valeur par défaut : async |
| Nom | Description |
|---|---|
| customer_id | Identificateur du client. Type de données : chaîne Longueur maximale : 100 |
| order_number | Requis. Numéro de bon de commande fourni par le client pour cette commande. Type de données : chaîne Longueur maximale : 40 |
| sales_order_number | Requis. Numéro ou valeur généré(e) par le fournisseur pour cette commande. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines | Liste des lignes d'expédition qui peuvent contenir le numéro de série, le numéro IMDI et les détails des balises d'actifs. Type de données : tableau |
| shipment_lines.actual_shipment_date | Date à laquelle l'expédition quitte l'emplacement du fournisseur. Type de données : chaîne Longueur maximale : 40 Format : AAAA-MM-JJ |
| shipment_lines.estimated_arrival_date | Date à laquelle l'expédition doit arriver à l'emplacement spécifié. Type de données : chaîne Longueur maximale : 40 Format : AAAA-MM-JJ |
| shipment_lines.line_number | Requis. Numéro de ligne de bon de commande généré par le client pour un achat particulier. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.planned_shipment_date | Date à laquelle l'expédition doit quitter l'emplacement du fournisseur. Type de données : chaîne Longueur maximale : 40 Format : AAAA-MM-JJ |
| shipment_lines.product_details | Liste d'objets qui définissent les détails sur les produits expédiés. Les options incluent le numéro de série, le numéro IMEI et les détails des balises d'actifs. Type de données : tableau |
| shipment_lines.product_details.asset_tag | Balise d'actif du produit expédié. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.product_details.imei | Numéro IMEI du produit expédié. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.product_details.serial_number | Requis. Numéro de série du produit expédié. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.sales_order_line_number | Numéro de ligne de commande client généré par le fournisseur. Ce numéro n'est requis que pour les révisions apportées à cet achat. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.shipping_address | Adresse à laquelle les produits sont expédiés. Type de données : objet |
| shipment_lines.shipping_address.city | Nom de la ville où les produits sont expédiés. Type de données : chaîne Longueur maximale : 1 000 |
| shipment_lines.shipping_address.country | Pays où les produits sont expédiés. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.shipping_address.name | Nom du client à qui les produits sont expédiés. Type de données : chaîne Longueur maximale : 1 000 |
| shipment_lines.shipping_address.state | État où les produits sont expédiés. Type de données : chaîne Longueur maximale : 1 000 |
| shipment_lines.shipping_address.street | Nom de la rue où les produits sont expédiés. Type de données : chaîne Longueur maximale : 1 000 |
| shipment_lines.shipping_address.zip_code | Code postal ou PIN où les produits sont expédiés. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.shipment_quantity | Requis. Nombre de produits expédiés en tant que biens physiques. Ce nombre doit contenir la quantité des produits qui figurent dans l'expédition. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.shipping_carrier | Transporteur qui livre le produit à l'emplacement spécifié (par exemple, FedEx, UPS, USPS, etc.). Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.ship_to | Nom du destinataire à qui les produits sont expédiés. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.tracking_number | Numéro de suivi fourni par le transporteur pour la totalité ou une partie de l'achat. Type de données : chaîne Longueur maximale : 100 |
| supplier_id | Requis. Identificateur du revendeur ou du fournisseur auprès duquel le client peut passer des commandes. Type de données : chaîne Longueur maximale : 100 |
| supplier_shipment_number | Requis. Numéro d'identification généré pour cette expédition. En règle générale, ce numéro est généré par un système de planification des ressources d'entreprise (ERP) ou de suivi des commandes. Type de données : chaîne Longueur maximale : 100 |
| third_party_import_id | Identificateur permettant à un tiers de transmettre une valeur de chaîne pour identifier de manière unique un ensemble de données importées. Type de données : chaîne Longueur maximale : 100 |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP.
| Code d'état | Description |
|---|---|
| réussite | Réussi. La demande a été correctement traitée. |
| échec | En échec. La demande présente des erreurs de traitement. |
Paramètres de corps de réponse (JSON)
Les paramètres de corps de réponse suivants sont reçus lors d'une interrogation en mode synchrone.| Nom | Description |
|---|---|
| error_response_body | Description des erreurs, répertoriées par numéro de ligne de commande client, numéro de commande client, numéro d'expédition du fournisseur et message d'erreur. Type de données : tableau |
| error_response_body.error_message | Message d'erreur détaillé. Type de données : chaîne |
| status_code | État de la réponse, tel que Réussite ou Échec. Type de données : chaîne |
Demande cURL
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/shipment" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id" : "ACME CORP",
"supplier_id" : "SUP-123456",
"third_party_import_id": "DEL2134324",
"supplier_shipment_number" : "TN-YU67898723",
"order_number": "PO0001002",
"sales_order_number": "SO00223002",
"shipment_lines": [
{
"line_number": "POL0001005",
"sales_order_line_number": "SOL0231325",
"shipment_quantity": "4",
"shipping_carrier": "FedEx",
"tracking_number": "E-901290092",
"shipping_address":
{
"name" : "1640 Camino Del Rio North #202, San Diego,CA",
"street" : "1640 Camino Del Rio North",
"city" : "San Diego",
"state" : "CA",
"zip_code" : "92108-1512",
"country" : "US"
},
"ship_to": "John doe",
"planned_shipment_date": "YYYY-MM-DD",
"actual_shipment_date": "YYYY-MM-DD",
"estimated_arrival_date": "YYYY-MM-DD",
"product_details": [
{
"serial_number": "FL1234-23242319001",
"imei": "2134890294",
"asset_tag": ""
},{
"serial_number": "FL1234-23242319110",
"imei": "245499003",
"asset_tag": ""
}
]
}
]
}
]}
Réponses possibles :
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL2134324",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL0231325",
"sales_order_number": "SO00223002",
"supplier_shipment_number": "TN-YU67898723",
"error_message": "The purchase order for this shipment does not exist\nThe purchase order line for this shipment does not exist\n"
}
]
}
]
}
}