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.

Hinweis

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

 

  • Inhalt