PHP REST API Call Get & Post Aufruf

 

Mithilfe eines REST-API-Aufrufs können Sie die vom Benutzer bereitgestellten Daten aus dem Formular direkt an ein anderes Skript, einen Webservice oder ein CRM-System wie Salesforce, Hubspot, pipedrive usw. übergeben. Diese Seite enthält folgende Kapitel ...

  1. Datenübermittlung per REST API Call
  2. Bereitstellung bzw. Übergabe der Formulardaten an die REST API
  3. Optional notwendige Konvertierung der Datentypen
  4. GET - Methode ... ein Beispiel
  5. POST - Methode ... ein Beispiel
  6. Fehlerbehandlung

 


1. Datenübermittlung per REST API Call


 

Webformular - REST API Call 01

Wechseln Sie im Programm auf den Karteireiter Datenübermittlung.

Hier finden Sie die Optionen zur Übermittlung der Daten mittels REST API Call.

 

Die gebräuchlichsten HTTP-Methoden für die Datenübergabe sind hierbei GET und POST ...

 

Methode GET
Die vom Formular an den Server gesendeten Daten sind in der URL enthalten

// Codebeispiel für GET
https://www.adresse-des-services.tld/beispiel?name1=value1&name2=value2

 

 

Methode POST
Die vom Formular an den Server gesendeten Daten werden im Anfragetext der HTTP-Anfrage gespeichert. Die Daten sind nicht in der URL enthalten.

// Codebeispiel für POST
https://www.adresse-des-services.tld/beispiel

 

 


2. Bereitstellung bzw. Übergabe der Formulardaten an die REST API


 

Webformular - REST API Call 02


Dieser Abschnitt ist für die beiden Methoden GET und POST identisch.

Die Unterschiede zwischen den Methoden werden weiter unten auf dieser Seite detailiert erläutert.

Klicken Sie die gewünschte Methode an, um den Editor für den PHP - Code zu öffnen.

 

 

Webformular - REST API Call 03


Der Editor erstellt einen Basisentwurf für den Code, den Sie beliebig abändern und erweitern können.

Im rechten Bereich sind alle relevanten Elemente des Formulars und deren ID aufgelistet.

Mit diesen IDs kann das Array für die Übergabe an die API mit den gewünschten Elementen aus dem Formular befüllt werden.

 

Weisen Sie nun im ersten Schritt die Felder des Arrays nach dem Schema "Feld1" => $IDxx, "Feld2" => $IDxx, usw. den entsprechenden Elementen aus dem Formular zu.


// Codebeispiel für das Befüllen des Arrays
$data = array(
"Feld_1" => $IDxx,
"Feld_2" => $IDxx,
...
"Letztes_Feld" => $IDxx
);
Webformular - REST API Call 04






Auf diese Art können alle gewünschten Elemente aus dem Formular an die API übergeben werden.

Achten Sie auf das abschliessende Komma bei den einzelnen Datensätzen.

 

 


3. Optional notwendige Konvertierung der Datentypen


 

Webformular - REST API Call 05


Wichtig ... $IDxx enthält den Wert stets als String

Werden die Werte als Integer oder float benötigt, müssen diese entsprechend umgewandelt werden.

Für die automatische Konvertierung stehen mehrere Hilfsfunktionen zur Verfügung. Sie finden diese im unteren Bereich der rechten Spalte.

 

Im folgenden einige Codebeispiele für die Anwendung der Konvertierungsfunktionen ...


// Codebeispiel für Konvertierung string -> int
$data = array(
...
"Count" => (int) $IDxx,
...
);

// oder
// $data = array(
// ...
// "Count" => ToInt($IDxx),
// ...
// );

// Codebeispiel für Konvertierung string -> float
$data = array(
...
"Price" => (float) $IDxx,
...
);

// oder
// $data = array(
// ...
// "Price" => ToFloat($IDxx),
// ...
// );

 

Wenn Sie als Dezimaltrennzeichen für das Formularfeld ein Komma verwenden, müssen Sie dieses vor der Konvertierung durch einen Punkt ersetzen!


// Codebeispiel für Konvertierung string -> float inkl. Dezimalzeichen
$data = array(
...
"Price" => (float) str_replace(",",".",$IDxx),
...
);

// oder
// $data = array(
// ...
// "Price" => ToFloat($IDxx),
// ...
// );

 

 


4. GET - Methode ... ein Beispiel


 

Bitte beachten Sie, dass die folgenden Informationen für Entwickler bestimmt sind, es sich um allgemeine Erläuterungen handelt und wir keine Haftung für fehlerhaften Code oder dessen Auswirkungen übernehmen können.

 

Im Folgenden handelt es sich um Beispielcode. Die Feldnamen bzw. Variablen ($IDxx) mit den Feldinhalten müssen deshalb an Ihr Formular und auch an die verwendete REST-API-Schnittstelle angepasst werden. Passen Sie diese Werte wie auf dieser Seite in Kapitel 2 beschrieben an Ihr Formular an.

Weitere Informationen oder Beispielcode finden Sie in der Regel auf der Website des Anbieters oder Herstellers des Webservices.


Im folgenden Beispiel wird PHP „curl“ für den API-Aufruf verwendet. Hierbei handelt es sich um Beispielcode, den Sie nicht 1:1 übertragen können. Der Code dient lediglich der Darstellung der grundsätzlichen Vorgehensweise. Bitte verwenden Sie den vom jeweiligen Hersteller bereitgestellten Code.

 

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// REST API BEISPIEL (GET)
// Bei GET werden die Daten (Name/Wert Paare) in der URL an die REST API übergeben.
//
// Bitte beachten Sie, dass Sie die Parameter und den Code an die von Ihnen verwendete REST API anpassen müssen.
// Weitere Informationen oder Beispielcode finden Sie in der Regel auf der Website des Serviceanbieters.
//
///////////////////////////////////////////////////////////////////////////////////////////////////



///////////////////////////////////////////////////////////////////////////////////////////////////
// Legen Sie die Daten fest, welche an die REST API übergeben werden sollen.
//
// Hierzu wird das array $data verwendet.
// Links steht der Parameter für die REST API und rechts der entsprechende Wert aus dem Formular.
// Beispiel: "REST API Parameter" => "Wert aus dem Formular",
//
// Wichtig: $IDxx enthält die Werte als String!
// Wenn Sie die Werte als int oder float benötigen, müssen Sie diese entsprechend konvertieren.
// für int (z.B. "123"): "Beispiel" => ToInt($IDxx),
// für float (z.B. "1.23" or "1,23"): "Beispiel" => ToFloat($IDxx),
///////////////////////////////////////////////////////////////////////////////////////////////////


$data = array(
"Firma" => $ID21,
"Abteilung" => $ID26
);

///////////////////////////////////////////////////////////////////////////////////////////////////
// Legen Sie die URL für den REST API Aufruf ohne Parameter fest.
// Die Parameter werden aus dem array $data erzeugt und automatisch zur URL hinzugefügt.
// Im Normalfall stellt Ihnen diese Ihr Serviceanbieter zur Verfügung.
///////////////////////////////////////////////////////////////////////////////////////////////////


$url = "https://www.adresse-des-services.tld/beispiel";
$url = sprintf("%s?%s", $url, http_build_query($data));

///////////////////////////////////////////////////////////////////////////////////////////////////
// Beispielcode für den REST API Aufruf mit PHP curl
///////////////////////////////////////////////////////////////////////////////////////////////////


$curl = curl_init();
if ($curl === false) { ErrorCancel("PHP curl_init failed"); }

// optionale Authentifizierung:
// curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
// curl_setopt($curl, CURLOPT_USERPWD, "username:password");

// Optionale Deaktivierung der Host-/SSL-Überprüfung
// wenn der Hostname nicht mit dem Hostnamen im Zertifikat übereinstimmt
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);


curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");

// optional für JSON response
// curl_setopt($curl, CURLOPT_HTTPHEADER, array("Accept: application/json"));


// in manchen Fällen müssen Sie auch einen API-Schlüssel oder andere Werte im HTTP-Header senden:
// curl_setopt($curl, CURLOPT_HTTPHEADER, array(..., "X-API-Key: ..."));


$result = curl_exec($curl);
$curl_close($curl);
unset($curl);

if ($result === false) { ErrorCancel("PHP curl failed"); }

// für JSON response
// $decoded=json_decode($result);

// weitere Fehlerbehandlung
// if ( /* error condition */ ) ErrorCancel("Error Message");

 

 


5. POST - Methode ... ein Beispiel


 

Bitte beachten Sie, dass die folgenden Informationen für Entwickler bestimmt sind, es sich um allgemeine Erläuterungen handelt und wir keine Haftung für fehlerhaften Code oder dessen Auswirkungen übernehmen können.

 

Im Folgenden handelt es sich um Beispielcode. Die Feldnamen bzw. Variablen ($IDxx) mit den Feldinhalten müssen deshalb an Ihr Formular und auch an die verwendete REST-API-Schnittstelle angepasst werden. Passen Sie diese Werte wie auf dieser Seite in Kapitel 2 beschrieben an Ihr Formular an.

Weitere Informationen oder Beispielcode finden Sie in der Regel auf der Website des Anbieters oder Herstellers des Webservices.


Im folgenden Beispiel wird PHP „curl“ für den API-Aufruf verwendet. Hierbei handelt es sich um Beispielcode, den Sie nicht 1:1 übertragen können. Der Code dient lediglich der Darstellung der grundsätzlichen Vorgehensweise. Bitte verwenden Sie den vom jeweiligen Hersteller bereitgestellten Code.

 

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// REST API BEISPIEL (POST)
// Bei POST werden die Daten im Request Header an die REST API übergeben und sind nicht in der URL enthalten.
//
// Bitte beachten Sie, dass Sie die Parameter und den Code an die von Ihnen verwendete REST API anpassen müssen.
// Weitere Informationen oder Beispielcode finden Sie in der Regel auf der Website des Serviceanbieters.
//
///////////////////////////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////////////////////////
// Legen Sie die Daten fest, welche an die REST API übergeben werden sollen.
//
// Hierzu wird das array $data verwendet.
// Links steht der Parameter für die REST API und rechts der entsprechende Wert aus dem Formular.
// Beispiel: "REST API Parameter" => "Wert aus dem Formular",
//
// Wichtig: $IDxx enthält die Werte als String!
// Wenn Sie die Werte als int oder float benötigen, müssen Sie diese entsprechend konvertieren.
// für int (z.B. "123"): "Beispiel" => ToInt($IDxx),
// für float (z.B. "1.23" or "1,23"): "Beispiel" => ToFloat($IDxx),
///////////////////////////////////////////////////////////////////////////////////////////////////


$data = array(
"Beispielfeld 1" => $IDx1,
"Beispielfeld 2" => $IDx2
);


///////////////////////////////////////////////////////////////////////////////////////////////////
// Legen Sie die URL für den REST API Aufruf fest.
// Im Normalfall stellt Ihnen diese Ihr Serviceanbieter zur Verfügung.
///////////////////////////////////////////////////////////////////////////////////////////////////


$url = "https://www.adresse-des-services.tld/beispiel";


///////////////////////////////////////////////////////////////////////////////////////////////////
// Beispielcode für den REST API Aufruf mit PHP curl
///////////////////////////////////////////////////////////////////////////////////////////////////


$curl = curl_init();
if ($curl === false) { ErrorCancel("PHP curl_init failed"); }

// optionale Authentifizierung:
// curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
// curl_setopt($curl, CURLOPT_USERPWD, "username:password");

// Optionale Deaktivierung der Host-/SSL-Überprüfung
// wenn der Hostname nicht mit dem Hostnamen im Zertifikat übereinstimmt
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);


curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
// für JSON data:
// curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));

// optional für JSON data und response:
// curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Accept: application/json"));

// in manchen Fällen müssen Sie auch einen API-Schlüssel oder andere Werte im HTTP-Header senden:
// curl_setopt($curl, CURLOPT_HTTPHEADER, array(..., "X-API-Key: ..."));


$result = curl_exec($curl);
$curl_close($curl);
unset($curl);

if ($result === false) { ErrorCancel("PHP curl failed"); }

// für JSON response
// $decoded=json_decode($result);

// weitere Fehlerbehandlung
// if ( /* error condition */ ) ErrorCancel("Error Message");

 

 


7. Fehlerbehandlung


 

Nachdem die Aufgaben ausgeführt wurden, gibt das PHP-Skript entweder „OK“ oder einen Fehlercode (Text) an das Javascript-Formular zurück, das dann entweder die Erfolgs- oder die Fehlerseite anzeigt. Wenn Sie die Verarbeitung stoppen möchten, verwenden Sie „ErrorCancel($error)“, rufen Sie jedoch nicht direkt „return“ auf.


Benutzen Sie auf keinen Fall „return“, weder im Fehler- noch im Erfolgsfall!