API Spendint : POST /sn_spend_intg/spendint/availability
Met à jour la disponibilité des enregistrements de produits du fournisseur.
Lorsque des enregistrements de produit de fournisseur sont disponibles, l’API utilise l’UGS du produit pour trouver un produit de fournisseur existant. Si un produit fournisseur correspondant existe, le champ available_units correspondant est mis à jour. Si aucun produit fournisseur correspondant n’est trouvé, un message d’erreur est généré indiquant que le produit pour lequel vous essayez de mettre à jour la disponibilité n’existe pas.
Tables d’état
Pour connaître l’état de la demande de disponibilité de la mise à jour, effectuez un appel REST dans la base de données à l’aide ServiceNow de l’API REST de la table . La réponse de l’API répertorie les enregistrements pour lesquels la demande de disponibilité de mise à jour a échoué. Pour mettre à jour la réponse de disponibilité, interrogez la table d’erreurs de disponibilité avec le paramètre suivant :
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Les détails sur l’ID client, l’ID du fournisseur, le type d’erreur, l’ID unique de l’ensemble de données à importer 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/availability
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Aucune |
| Nom | Description |
|---|---|
| Mode | Prise en charge des modes asynchrone et synchrone pour l’intégration tierce. Type de données : chaîne Valeurs valides :
Valeur par défaut : asynchrone |
| Nom | Description |
|---|---|
| catalog_id | Requis. Identificateur du contenu de catalogue qui peut être acheté par un client. Type de données : chaîne Longueur maximale : 100 |
| customer_id | Requis. Identificateur du client. Type de données : chaîne Longueur maximale : 100 |
| produits | Liste des objets qui définissent les produits à mettre à jour. Chaque transaction a une limite de 1000 produits. Type de données : tableau |
| products.available_units | Requis pour les produits qui sont en stock. Nombre d’unités disponibles pour ce produit. Type de données : chaîne Longueur maximale : 40 |
| produits.sku | Requis. Numéro généré par un fournisseur qui identifie de manière unique un produit vendu par ce fournisseur. Type de données : chaîne Longueur maximale : 100 |
| produits.unité | Requis. Unité ou taux auquel le produit est vendu par le fournisseur. Par exemple, les pièces, les heures, etc. Type de données : chaîne Longueur maximale : 100 |
| supplier_id | 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 | Permet à 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 uniquement à cette action HTTP ou s’appliquent à cette action d’une manière distincte.
| En-tête | Description |
|---|---|
| Accepter | Format des données du corps de la réponse. Types pris en charge : application/json ou application/xml. Par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucune |
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é traitée avec succès. |
| échec | En échec. La demande a été traitée avec des erreurs. |
Paramètres du corps de réponse (JSON)
Ces paramètres de corps de réponse sont reçus lorsqu’ils sont interrogés en mode synchrone.| Nom | Description |
|---|---|
| error_response_body | Description des erreurs, répertoriées par numéro de référence et message d’erreur. Type de données : tableau |
| error_response_body.message_erreur | 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.servicenow.com/api/sn_spend_intg/spendint/availability" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "AB-1234323",
"catalog_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"products": [
{
"sku": "5578874",
"unit": "Each",
"available_units": "20"
}
]
}
]}
Réponses possibles :
// Success response:
{
"result": {
"response": "success"
}
}
Error response:
{
"result": {
"response": [
{
"customer_id": "AB-1234323",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"status_code": "failure",
"error_response_body": [
{
"sku": "5578874",
"error_message": "The product for which you are trying to update availability does not exist\nField Value empty/Formatting issue Unit\n"
}
]
}
]
}
}