Commencez avec l'intégration rapide de Risk Assess

En savoir plus sur les importations d'intégration rapide de Risk Assess, comment s'authentifier, les types de contenu et la gestion des exceptions et les codes d'erreur.

Aperçu

L'importation d'intégration rapide permet aux utilisateurs de l'ARC de télécharger directement des feuilles de calcul via le protocole HTTPS. Cela permet aux clients d'effectuer des importations entrantes de manière automatisée sans avoir besoin d'une interface. Il existe divers extraits de code ci-dessous qui fournissent des exemples pratiques de la façon dont cela est effectué en utilisant une variété de langages de programmation populaires.

Authentification

Des informations d'identification valides doivent être fournies pour chaque demande d'intégration rapide d'évaluation des risques émise afin de réussir.

L'utilisateur de l'évaluation des risques fourni doit être membre du groupe « QuickIntegration » ou du groupe « QuickIntegration-Engagements ». Le groupe QuickIntegration permet à un compte d'accéder à toutes les ressources Quick Integration. Le groupe QuickIntegration-Engagements limite l'accès uniquement à la ressource Quick Integration Engagements. Si ces groupes n'existent pas actuellement dans votre instance d'évaluation des risques, veuillez contacter votre administrateur local d'évaluation des risques ou votre représentant du service à la clientèle Coupa pour les créer.

En-tête HTTP Description
nom d'utilisateur Nom d'utilisateur Valid Risk Assess
mot de passe Mot de passe Valid Risk Assess

Type de contenu

L'en-tête de type de contenu doit contenir l'un des types suivants énumérés ci-dessous. Ceci est utilisé pour identifier le format de fichier qui est téléchargé.

Remarque

Si vous envoyez des données en tant que flux d'octets, le nom de fichier est requis dans l'en-tête Content-Disposition.

En-tête du type de contenu Type de fichier
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Excel 2007 ou versions ultérieures (xlsx)
application/vnd.ms-excel Excel 2003 ou versions antérieures (xls)
text/csv Valeurs séparées par des virgules (csv)
application/octet-stream Format de fichier déterminé par la valeur du nom de fichier dans Content-Disposition,
par exemple Content-Disposition : form-data ; name="file" ; filename="user_import.xlsx"

Échantillons de code

Java

package httpPostExample ;importer java.io.File ;importer org.apache.http.HttpEntity ;

importer org.apache.http.HttpResponse ;

importer org.apache.http.client.HttpClient ;

importer org.apache.http.client.methods.HttpPost ;

importer org.apache.http.entity.mime.HttpMultipartMode ;

importer org.apache.http.entity.mime.MultipartEntityBuilder ;

importer org.apache.http.entity.mime.content.FileBody ;

importer org.apache.http.impl.client.HttpClientBuilder ;

importer org.apache.http.protocol.BasicHttpContext ;

importer org.apache.http.protocol.HttpContext ;

importer org.apache.http.util.EntityUtils ;public class uploadFile

{

		public static void principal(String[] args)

		{

				essayer

				{

						String url = "https://rportal.hiperos.com/QuickIntegration/Suppliers" ;

						String filePath = "c :\\hiperos\\outbox\\Suppliers_import.xlsx" ;						HttpClient httpClient = HttpClientBuilder.create().build() ;

						HttpContext httpContext = new BasicHttpContext() ;						HttpPost httpPost = new HttpPost(url) ;

						httpPost.setHeader("nom d'utilisateur", "Your_3PM_Username_Here") ;

						httpPost.setHeader("password", "Your_3PM_Password_Here") ;						httpPost.setHeader("Connection", "close") ;						MultipartEntityBuilder builder = MultipartEntityBuilder.create() ;

						builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE) ; fichier						 final = nouveau fichier(filePath) ;

						FileBody fb = new FileBody(file, "text/csv") ;						builder.addPart("file", fb) ;						final HttpEntity entity = builder.build() ;

						httpPost.setEntity(entité) ;						HttpResponse postResponse = httpClient.execute(httpPost, httpContext) ;						HttpEntity responseEntity = postResponse.getEntity() ;

						System.out.println(EntityUtils.toString(responseEntity)) ;

				}

				attraper(exception exceptée)

				{

						ex.printStackTrace() ;

				}

		}

}

C#

en utilisant le système ;

en utilisant System.Net ;namespace QuickIntegration_Sample

{

		programme de classe

		{

				static void Principal()

				{

						const string uriString = "https://rportal.hiperos.com/QuickIntegration/Suppliers" ;

						const string fileName = @"c :\\hiperos\\outbox\\Suppliers_import.xlsx" ;						// Créer une nouvelle instance WebClient.

						Client WebClient = new WebClient() ;						// Ajouter des en-têtes d'authentification à la demande.

						client.Headers.Add("nom d'utilisateur", "Your_3PM_Username_Here") ;

						client.Headers.Add("password", "Your_3PM_Password_Here") ;						// Télécharger le fichier dans l'URI.

						// La méthode 'UploadFile(uriString,fileName)' utilise implicitement la méthode HTTP POST.

						byte[] responseArray = client.UploadFile(uriString, fileName) ;						string response = System.Text.Encoding.ASCII.GetString(responseArray) ;						// Décodez et affichez la réponse.

						Console.WriteLine("\nRéponse reçue.	Le contenu du fichier téléchargé est :\n{0}", réponse) ;

				}

		}

}

Traitement des exceptions et codes d'erreur

Les codes d'état de réponse HTTP suivants sont utilisés par l'intégration rapide pour communiquer l'état d'importation à l'appelant.

Code du statut Résultat Description
201 Créé Nouveaux objets créés avec succès.
202 Accepté Les données ont été mises en attente pour importation (confirmation par e-mail générée par le système à suivre).
204 Aucun contenu Aucune donnée nouvelle ou mise à jour à importer n'a été trouvée ou le fichier n'était pas au bon format.
400 Demande incorrecte Des lignes et/ou des colonnes de problème ont été trouvées. Vérifiez le message de validation renvoyé dans la réponse.
401 Non autorisé Les en-têtes http du nom d'utilisateur et du mot de passe n'ont pas été trouvés dans la demande.
403 Interdit La connexion a échoué, n'a pas été trouvée ou n'a pas été autorisée.
500 Erreur du serveur Échec d'enregistrement des données d'importation dans la base de données

 

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.