• Dernière modification le: 25 March 2021

API des champs

Utilisez l'API Fields pour créer, mettre à jour ou interroger les champs et les données associées (lignes).

Les champsde fait sont les colonnes de la feuille de fait et, comme tout autre champ de l'événement, ils ont un nom, un nom de formule et un type de données pour spécifier les valeurs à conserver.

Les champs de fait définissent les données à conserver, tout comme les champs d'article ou les colonnes dans une feuille de travail Excel. Chaque ligne d'informations ne doit contenir qu'une seule valeur pour chaque champ d'informations afin de pouvoir utiliser les données efficacement. 

Utilisez les API de champs pour créer, mettre à jour ou interroger les données de champs. Cela inclut les points de terminaison spécifiques pour effectuer une action (créer/mettre à jour/supprimer) ainsi que les données associées aux lignes.

L'URL pour accéder aux API est : https://<instance>.cso.coupahost.com/api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields

Consultez la rubrique Bonnes pratiques d'intégration pour plus d'informations.

Actions

Verbe Chemin d'accès Action Description
OBTENIR /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields index Exécute l'action Obtenir pour récupérer tous les champs qui appartiennent à une feuille de fait.
POSTE /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields créer Crée un ou plusieurs champs pour une feuille de fait.
METTRE /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields mettre à jour Met à jour un ou plusieurs champs d'une feuille de fait . Peut effectuer des mises à jour en masse.
EFFACER /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields effacer Supprime un ou plusieurs champs d'une feuille de fait. Peut effectuer des suppressions en masse.
OBTENIR /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields/{field-id} montrer Afficher les données des champs individuels pour l'ID de la feuille de fait. 
METTRE /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields/{field-id} mettre à jour Mettre à jour un champ individuel pour un ID de feuille de fait en utilisant l'ID de champ.
EFFACER /api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields/{field-id} effacer Supprimer un champ individuel pour un ID de feuille de fait en utilisant l'ID de champ.

Éléments

Il s'agit des éléments disponibles pour l'API Fields

Nom de champ Description du champ Demande d'achat Unique ? Valeurs autorisées Dans Sortie * Type
id

ID du champ

  Oui     oui entier
ordinal La valeur ordinale du champ.         oui entier
type Type du champ. oui       oui chaîne
Nom Nom du champ. oui     oui oui chaîne
nom_formule Nom de formule du champ.       oui oui chaîne
description Brève description du champ.       oui oui chaîne
obligatoire Indicateur obligatoire du champ.       oui oui chaîne
décimales Le nombre de décimales pour le champ numérique       oui oui chaîne
données fournies par le soumissionnaire Cela indique si ce champ doit être rempli par un enchérisseur.       oui oui chaîne
options Les options du champ si c'est un champ à choix multiple.       oui oui chaîne
distingué Si ce champ doit être inclus dans la ligne de distinction.       oui oui chaîne
formule la formule du champ de type de formule       oui oui chaîne
valeur minimale La valeur minimale des champs numériques       oui oui numéro
valeur maximale La valeur maximale des champs numériques et la longueur autorisée des champs de texte.       oui oui numéro
exclure-limites Que les limites maximale et minimale soient incluses ou non.       oui oui chaîne
Remarque

 La charge utile de réponse n'affiche pas de valeurs NULL.

Exemples

Dans cet exemple, nous avons recherché une API Fields.

https://<instance>.cso.coupacloud.com/api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields 

https://<instance>.cso.coupacloud.com/api/events/{event-id}/fact-sheets?name[contains]=factsheetname

Nous avons effectué un GET vers l'URL ci-dessous pour obtenir un exemple d'ID d'événement = et d'ID de fiche9219593444837772101de renseignements = 9220538753431210838

https://<instance>.cso.coupacloud.com/api/events/9220538753252871154/fact-sheets/9220538753431210838/fields

Champs GET Réponse

{
		"total": 6,
		"fields": [
				{
						"id": "9220538753431213703",
						"ordinal": 1,
						"type": "Text",
						"name": "name-fld",
						"formula-name": "name_fld",
						"description": "name field for api",
						"distinguishing": true
				},
				{
						"id": "9220538753431215951",
						"ordinal": 2,
						"type": "Numeric",
						"name": "num-fld",
						"formula-name": "num_fld",
						"description": "number field",
						"decimals": 2,
						"distinguishing": false,
						"exclude-limits": false
				},
				{
						"id": "9220538753431226586",
						"ordinal": 3,
						"type": "Binary",
						"name": "checkbox-demo",
						"formula-name": "checkbox_demo",
						"description": "checkbox demo field",
						"distinguishing": true
				},
				{
						"id": "9220538753431234950",
						"ordinal": 4,
						"type": "Option",
						"name": "demo-multi-fld",
						"formula-name": "demo_multi_fld",
						"description": "demo multi fields",
						"options": {
								"default": 0,
								"values": [
										{
												"name": "first",
												"value": 1.0
										},
										{
												"name": "second",
												"value": 2.0
										},
										{
												"name": "other",
												"value": 0.0
										}
								]
						},
						"distinguishing": true
				},
				{
						"id": "9220538753431237952",
						"ordinal": 5,
						"type": "Formula",
						"name": "demo-formula",
						"formula-name": "demo_formula",
						"description": "demo formula",
						"required": false,
						"distinguishing": false,
						"formula": "demo_factsheet.num_fld"
				},
				{
						"id": "9220538753431240094",
						"ordinal": 6,
						"type": "StringFormula",
						"name": "demo-txt-formula",
						"formula-name": "demo_txt_formula",
						"description": "demo text formula field",
						"distinguishing": false,
						"formula": "demo_factsheet.name_fld"
				}
		]
}

Créer/Mettre à jour/Supprimer

La section suivante décrit comment utiliser l'API Coupa pour effectuer des actions sur les champs

Créer

/api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields

La charge utile ci-dessous crée de nouveaux champs sur un événement(9219593444837772101et ID de fiche d'informations = 9220538753431210838

Payload
{
		"fields": [
				{
						"type": "Text",
						"name": "name-fld-api",
						"formula-name": "name_fld-api",
						"description": "name field for api",
						"distinguishing": true
				}
				{
						"type": "StringFormula",
						"name": "demo-txt-formula-api",
						"formula-name": "demo_txt_formula_api",
						"description": "demo text formula field",
						"distinguishing": false,
						"formula": "demo_factsheet.name_fld_api"
				}
		]
}

Response: 201
{
		"result": [
				{
						"type": "api.post.added",
						"description": "2 objects created."
				}
		],
		"added": 2,
		"fields": [
				{
						"id": "9220538753532394472"
				}
				{
						"id": "9220538753530117686"
				}
		]
}	 

Note: Formula field only takes "_". 

Mettre à jour

/api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields

La charge utile ci-dessous met à jour un ou plusieurs champs.  

To update one or more Fields at a time: 
Payload:
{
		"fields": [
				{
						"id": "9220538753530117686",
						"type": "Text",
						"name": "name-fld-api-upd",
						"formula-name": "name_fld_api-upd",
						"description": "name field for api",
						"distinguishing": false
				},
				{
						"id": "9220538753532394472",
						"type": "StringFormula",
						"name": "demo-txt-formula-api-upd",
						"formula-name": "demo_txt_formula_api_upd",
						"description": "demo text formula field update",
						"distinguishing": true,
						"formula": "demo_factsheet.name_fld_api_upd"
				}
		]
}

Response: 200 OK
{
		"result": [
				{
						"type": "api.put.updated",
						"description": "2 objects updated."
				}
		],
		"updated": 2
}

Effacer

/api/events/{event-id}/fact-sheets/{fact-sheet-id}/fields

L'API ci-dessus peut être utilisée pour supprimer plusieurs champs à la fois. 

Payload:
{
		"fields": [
				{
						"id": "9220538753530117686"
				},
				{
						"id": "9220538753532394472"
				}
		]
}
Response: 200 OK
{
		"result": [
				{
						"type": "fieldDeletionCompleted",
						"description": "The following fields were deleted: demo-txt-formula-api-upd, name-fld-api-upd. 
						In total, 0 values were removed for these fields."
				}
		],
		"deleted": 2
}
Remarque

 Les mises à jour sont effectuées de manière souple, c'est-à-dire que si la mise à jour d'une ressource échoue, les autres peuvent réussir. La charge utile a supprimé deux champs. Pour la suppression ou les mises à jour, l'ID d'événement est obligatoire.

Les demandes réussies seront renvoyées HTTP 200 Response. Le corps de la réponse inclura la demande créée. Les demandes infructueuses seront renvoyées HTTP 400 Bad Request. Le corps de la réponse inclut les erreurs de validation au format XML.

Une partie ou la totalité de cette page peut avoir été traduite par machine. Toutes nos excuses pour les inexactitudes.

Articles associés


API Coupa Core

Notre API RESTful fournit un accès fiable pour lire, modifier ou intégrer vos données à la plateforme Coupa.

Démarrez avec l'API

Informations générales sur l'utilisation de l'API Coupa et quand vous devez envisager d'utiliser CSV.

Transition vers OAuth 2.0 et OIDC

Coupa désapprouve les API Keys héritées et nécessite l'utilisation d'OAuth 2.0 / OIDC. À partir de R34, aucune nouvelle clé API ne sera émise et les clés API ne seront plus prises en charge avec R35.

Ressources

Nous avons organisé nos points de terminaison API par type d'objet : données de référence, données transactionnelles et ressources partagées.