Prise en main de l’intégration rapide de Risk Assess

Découvrez les importations intégratrices rapides de Risk Assess, comment vous authentifier, les types de contenu, la gestion des exceptions et les codes d'erreur.

Aperçu

L'importation rapide permet aux utilisateurs CRA de 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 différents extraits de code ci-dessous qui fournissent des exemples concrets de la façon dont cela est effectué à l'aide d'une variété de langages de programmation populaires.

Authentification

Des identifiants valides doivent être fournis pour chaque demande d'intégration rapide Risk Assess émise pour réussir.

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

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

Type de contenu

L'en-tête du type de contenu doit contenir l'un des types suivants répertoriés ci-dessous. Permet d'identifier le format de fichier en cours de téléchargement.

Remarque

Si vous envoyez des données en tant que flux d'octet, nomfichier 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)
texte/csv Valeurs séparées par des virgules (csv)
application/flux-octet Format de fichier déterminé par la valeur du nom de fichier dans Content-Disposition
e.g. Content-Disposition : form-data ; name="file" ; filename="user_import.xlsx"

Exemples de code

Java

package httpPostExample;import java.io.File;import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;public class uploadFile
{
		public static void main(String[] args)
		{
				try
				{
						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("username", "Your_3PM_Username_Here");
						httpPost.setHeader("password", "Your_3PM_Password_Here");						httpPost.setHeader("Connection", "close");						MultipartEntityBuilder builder = MultipartEntityBuilder.create();
						builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);						final File file = new File(filePath);
						FileBody fb = new FileBody(file, "text/csv");						builder.addPart("file", fb);						final HttpEntity entity = builder.build();
						httpPost.setEntity(entity);						HttpResponse postResponse = httpClient.execute(httpPost, httpContext);						HttpEntity responseEntity = postResponse.getEntity();
						System.out.println(EntityUtils.toString(responseEntity));
				}
				catch(Exception ex)
				{
						ex.printStackTrace();
				}
		}
}

N° C

using System;
using System.Net;namespace QuickIntegration_Sample
{
		class Program
		{
				static void Main()
				{
						const string uriString = "https://rportal.hiperos.com/QuickIntegration/Suppliers";
						const string fileName = @"c:\\hiperos\\outbox\\Suppliers_import.xlsx";						// Create a new WebClient instance.
						WebClient client = new WebClient();						// Add authentication headers to request.
						client.Headers.Add("username", "Your_3PM_Username_Here");
						client.Headers.Add("password", "Your_3PM_Password_Here");						// Upload the file to the URI.
						// The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method.
						byte[] responseArray = client.UploadFile(uriString, fileName);						string response = System.Text.Encoding.ASCII.GetString(responseArray);						// Decode and display the response.
						Console.WriteLine("\nResponse Received.	The contents of the file uploaded are:\n{0}", response);
				}
		}
}

Traitement des exceptions et codes d'erreur

Les codes d'état de réponse HTTP suivants sont utilisés par 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 file d'attente pour l'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 format correct.
400 Demande incorrecte Des lignes et/ou des colonnes problématiques ont été trouvées. Examiner le message de validation renvoyé en réponse.
401 Non Autorisé Les en-têtes http du nom d'utilisateur et du mot de passe sont introuvables dans la demande.
403 Interdit La connexion a échoué, est introuvable ou n'est pas autorisée.
500 Erreur de serveur Impossible d'enregistrer les données importées dans la base de données

 

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.