API Spendint - POST /sn_spend_intg/spendint/orderack
Met à jour les informations de commande lorsqu'un utilisateur achète un produit à partir d'un catalogue tiers. Lorsque l'utilisateur valide son achat, une ligne d'achat est créée pour lui permettre d'effectuer les approbations ou d'autres tâches pour l'achat.
- Commande sortante : contient l'en-tête de la commande.
- Ligne de commande sortante : contient les lignes de la commande.
Les fournisseurs doivent interroger ces tables et récupérer les commandes en attente qui leur sont adressées. Les fournisseurs doivent créer une application incluse dans le périmètre pour les actions Studio de workflow pour l'intégration à la base de données ServiceNow.
sysparm_query=supplier_id=<supplier_id>^purchase_order.status=20 for headersysparm_query=purchase_order.supplier_id=<supplier_id>^purchase_order.status=20 for header
- Le bon de commande et la ligne de bon de commande sont soumis à la planification des ressources de l'entreprise (ERP), le cas échéant.
- Le bon de commande et la ligne de bon de commande sont transférés via l'intégration au tiers avec l'ID client, l'ID du fournisseur, le numéro de bon de commande, la date de la commande, le montant du bon de commande, la devise du montant du bon de commande et les lignes de bon de commande.
- Le bon de commande et la ligne de bon de commande restent à l'état Soumission en attente jusqu'à ce que l'intégration du catalogue tiers et l'ERP reçoivent les messages de confirmation. Une fois la confirmation reçue, l'état est mis à jour sur Commandé. Si aucune intégration ERP n'est impliquée, un message de confirmation est requis uniquement par l'intégration tierce.
Tables d'états
Pour connaitre l'état de la confirmation de la commande, 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 demande de confirmation de la commande a échoué. Pour obtenir une réponse d'authentification de commande, interrogez la table d'erreurs de confirmation de commande à 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/orderack
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 | Requis. 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_lines | Liste d'objets qui définissent les lignes de commande client avec des mises à jour uniques pour les achats dans cette commande. Type de données : tableau |
| sales_order_lines.estimated_arrival_date | Date d'arrivée prévue de la commande. Type de données : chaîne Longueur maximale : 40 Format : AAAA-MM-JJ |
| sales_order_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 |
| sales_order_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 |
| sales_order_number | Numéro ou valeur généré(e) par le fournisseur pour cette commande. Type de données : chaîne Longueur maximale : 40 |
| status_code | Requis. État de la commande soumise qui confirme si la commande a été passée avec succès. Type de données : chaîne Valeurs valides :
|
| status_message | Message joint à un code d'état. Par exemple, le message peut indiquer que la commande a été passée avec succès et qu'elle est différée. Type de données : chaîne Longueur maximale : 1 000 |
| 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 |
| 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 commande client, numéro de ligne de commande client 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/orderack" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"order_number": "PO08903323",
"sales_order_number": "SO03323212",
"status_code": "CONFIRMED",
"status_message": "BACKORDERED",
"sales_order_lines":[
{
"line_number": "POL6789876",
"sales_order_line_number": "SOL5678909",
"estimated_arrival_date": "YYYY-MM-DD"
}
]
}
]}
Réponses possibles :
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_number": "SO03323212",
"sales_order_line_number": "SOL5678909",
"error_message": "Field Value empty/Formatting issue Purchase order number\nField Value empty/Formatting issue Purchase order line number\n"
}
]
}
]
}
}