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.
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.