Erste Schritte mit der schnellen Integration von Risk Assess
Erfahren Sie mehr über die schnellen Integrationsimporte von Risk Assess, Authentifizierung, Inhaltstypen sowie Ausnahmebehandlung und Fehlercodes.
Übersicht
Der schnelle Integrationsimport ermöglicht es CRA-Benutzern, Tabellenkalkulationen direkt über das HTTPS-Protokoll hochzuladen. Auf diese Weise können Kunden eingehende Importe automatisiert durchführen, ohne dass eine Schnittstelle erforderlich ist. Im Folgenden finden Sie verschiedene Code-Snippets, die Beispiele dafür liefern, wie dies mit verschiedenen gängigen Programmiersprachen durchgeführt wird.
Authentifizierung
Um erfolgreich zu sein, müssen gültige Anmeldeinformationen für jede ausgestellte Anfrage zur Risikobeurteilung-Schnellintegration bereitgestellt werden.
Der angegebene Benutzer der Risikobewertung muss entweder Mitglied der Gruppe "QuickIntegration" oder der Gruppe "QuickIntegration-Engagements" sein. Die QuickIntegration -Gruppe ermöglicht einem Konto den Zugriff auf alle Quick Integration -Ressourcen. Die Gruppe QuickIntegration-Engagements beschränkt den Zugriff nur auf die Ressource Quick Integration Engagements. Wenn diese Gruppen derzeit in Ihrer Risikobewertungsinstanz nicht vorhanden sind, wenden Sie sich bitte an Ihren lokalen Risikobewertungsadministrator oder Ihren Coupa-Kundendienstmitarbeiter, um sie erstellen zu lassen.
HTTP-Header | Beschreibung |
---|---|
benutzername | Gültiger Risk Assess-Benutzername |
kennwort | Gültiges Risk Assess-Passwort |
Inhalt-Typ
Die Kopfzeile des Inhaltstyps muss einen der folgenden Typen enthalten, die unten aufgeführt sind. Dies wird verwendet, um das Dateiformat zu identifizieren, das hochgeladen wird.
Wenn Daten als Oktett-Stream gesendet werden, ist der Dateiname im Content-Disposition-Header erforderlich.
Inhaltstyp-Kopfzeile | Dateityp |
---|---|
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Excel 2007 oder neuere Versionen (xlsx) |
application/vnd.ms-excel | Excel 2003 oder frühere Versionen (xls) |
text/csv | Kommagetrennte Werte (CSV) |
application/octet-stream | Dateiformat bestimmt durch Dateinamenwert in Content-Disposition z.B. Content-Disposition: form-data; name="file"; filename="user_import.xlsx" |
Codemuster
Java
paket httpPostExample;import java.io.File;import org.apache.http.HttpEntity;
org.apache.http.HttpResponse importieren;
org.apache.http.client.HttpClient importieren;
org.apache.http.client.methods.HttpPost importieren;
org.apache.http.entity.mime.HttpMultipartMode importieren;
org.apache.http.entity.mime.MultipartEntityBuilder importieren;
org.apache.http.entity.mime.content.FileBody importieren;
org.apache.http.impl.client.HttpClientBuilder importieren;
org.apache.http.protocol.BasicHttpContext importieren;
org.apache.http.protocol.HttpContext importieren;
import org.apache.http.util.EntityUtils;public class uploadFile
{
public static void main(String[] args)
{
versuchen
{
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(Entität); HttpResponse postResponse = httpClient.execute(httpPost, httpContext); HttpEntity responseEntity = postResponse.getEntity();
System.out.println(EntityUtils.toString(responseEntity));
}
catch(Ausnahme ex)
{
ex.printStackTrace();
}
}
}
C#
unter Verwendung des Systems;
verwenden von System.Net;Namespace QuickIntegration_Sample
{
klassenprogramm
{
statischer Leerraum Main()
{
const string uriString = "https://rportal.hiperos.com/QuickIntegration/Suppliers";
const string fileName = @"c:\\ hiperos\\ outbox\\ Suppliers_import.xlsx"; // Neue WebClient-Instanz erstellen.
WebClient-Client = neuer WebClient(); // Fügen Sie der Anforderung Authentifizierungsheader hinzu.
client.Headers.Add("username", "Ihr_15:00_Benutzername_hier");
client.Headers.Add("password", "Your_3PM_Password_Here"); // Laden Sie die Datei in den URI hoch.
// Die Methode 'UploadFile(uriString,fileName)' verwendet implizit die HTTP-POST-Methode.
byte[] responseArray = client.UploadFile(uriString, fileName); string response = System.Text.Encoding.ASCII.GetString(responseArray); // Decodieren und Anzeigen der Antwort.
Console.WriteLine("\nAntwort erhalten. Der Inhalt der hochgeladenen Datei lautet:\n{0}", Antwort);
}
}
}
Ausnahmebehandlung und Fehlercodes
Die folgenden HTTP-Antwortstatuscodes werden durch schnelle Integration verwendet, um den Importstatus an den Anrufer zurückzusenden.
Statuscode | Ergebnis | Beschreibung |
---|---|---|
201 | Erstellt | Neue Objekte erfolgreich erstellt. |
202 | Akzeptiert | Die Daten befinden sich in der Warteschlange für den Import (die vom System generierte E-Mail-Bestätigung folgt). |
204 | Kein Inhalt | Keine neuen oder aktualisierten Daten zum Importieren wurden gefunden oder die Datei hatte nicht das richtige Format. |
400 | Fehlerhafte Anfrage | Problemzeilen und/oder Spalten wurden gefunden. Überprüfen Sie die als Antwort zurückgegebene Validierungsnachricht. |
401 | Nicht autorisiert | Benutzername & Passwort http-Header wurden in der Anfrage nicht gefunden. |
403 | Verboten | Anmeldung fehlgeschlagen, nicht gefunden oder nicht autorisiert. |
500 | Server-Fehler | Importdaten konnten nicht in Datenbank gespeichert werden |