Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PHP Wrapper für die PROFFIX REST API

License

NotificationsYou must be signed in to change notification settings

pitwch/php-wrapper-proffix-restapi

Repository files navigation

Ein effizienter PHP Wrapper für die PROFFIX REST-API.

alt text

Installation

Der Wrapper kann viaComposer installiert werden.

composerrequire pitwch/rest-api-wrapper-proffix-php

Konfiguration

Initialisierung

Autoload derRestAPIWrapperProffix Klasse:

require__DIR__ .'/vendor/autoload.php';usePitwch\RestAPIWrapperProffix\Client;

Die Konfiguration wird dem Client mitgegeben:

KonfigurationBeispielBemerkung
urlhttps://myserver.ch:999URL der REST-APIohne pxapi/v2/
apiDatabaseDEMOName der Datenbank
apiUserUSRName des Benutzers
apiPasswordb62cce2fe18f7a156a9c...SHA256-Hash des Benutzerpasswortes
apiModuleADR,STUBenötigte Module (mit Komma getrennt)
optionsarray('key'=>'112a5a90...')Optionen (Details unter Optionen)

Beispiel für die Initialisierung

require__DIR__ .'/vendor/autoload.php';usePitwch\RestAPIWrapperProffix\Client;$pxrest =newClient('https://myserver.ch:999','DEMO','USR','b62cce2fe18f7a156a9c719c57bebf0478a3d50f0d7bd18d9e8a40be2e663017','ADR,STU',    ['key'=>'112a5a90fe28b23ed2c776562a7d1043957b5b79fad242b10141254b4de59028','limit'=>2]);$adressen =$pxrest->get('ADR/Adresse', ['filter'=>'GeaendertAm>d\'2018-05-17 14:54:56\'','depth'=>1,'fields'=>'AdressNr,Name,GeaendertAm']);print_r($adressen);

Optionen

Optionen sindfakultativ und werden in der Regel nicht benötigt:

OptionBeispielBemerkung
key112a5a90fe28b...API-Key als SHA256 - Hash (kann auch direkt mitgegeben werden)
versionv2API-Version; Standard = v2
api_prefix/pxapi/Prefix für die API; Standard = /pxapi/
login_endpointPRO/LoginEndpunkt für Login; Standard = PRO/Login
user_agentphp-wrapper-proffix-restapiUser Agent; Standard = php-wrapper-proffix-restapi
timeout15Timeout für Curl in Sekunden; Standard = 15
follow_redirectstrueWeiterleitungen der API folgen; Standard = false

Methoden

Allgemeine Methoden (get,put,post,delete)

ParameterTypBemerkung
endpointstringEndpunkt der PROFFIX REST-API; z.B.ADR/Adresse,STU/Rapporte...
dataarrayDaten (werden automatisch in JSON konvertiert); z.B:["Name"=>"Demo AG",...]
parametersarrayParameter gemässPROFFIX REST API Docs

Sonderzeichen in den Parametern müssen gegebenfalls mit Escape-Zeichen verwendet werden, z.B:

// Escape ' with \'$params = ['filter' =>'GeaendertAm>d\'2018-05-17 14:54:56\'','depth' =>1,'fields' =>'AdressNr,Name,GeaendertAm'];$pxrest->get('ADR/Adresse',$params);

Get / Query

// Einfache Abfrage$adresse =$pxrest->get("ADR/Adresse/1");echo$adresse->Name;// DEMO AG// Abfrage mit Parametern$params = ['filter'=>'GeaendertAm>d\'2018-05-17 14:54:56\'','depth'=>1,'fields'=>'AdressNr,Name,GeaendertAm','limit'=>5];$adressen =$pxrest->get("ADR/Adresse",$params);

Put / Update

$data = ["AdressNr"=>1,"Ort"=>"Zürich","PLZ"=>8000,"EMail"=>"test@test.com"];$adresse =$pxrest->put("ADR/Adresse",$data);

Post / Create

$data = ["Ort"=>"Zürich","PLZ"=>8000,"EMail"=>"test@test.com"];$neueAdresse =$pxrest->post("ADR/Adresse",$data);

Delete

$response =$pxrest->delete("ADR/Adresse/42");

Spezifische Methoden

getList(int $listenr, array $body = [])

Generiert eine PROFFIX-Liste (z.B. ein PDF) und gibt das Ergebnis alsResponse-Objekt zurück, welches den rohen Dateiinhalt enthält.

ParameterTypBemerkung
$listenrintDieListeNr der Liste, die generiert werden soll.
$bodyarray(Optional) Ein assoziatives Array mit Parametern für die Listengenerierung.Wichtig: Es muss mindestens ein leeres JSON-Objekt ({}) gesendet werden.

Beispiel:

$listeNr =1029;// Beispiel-ID für ADR_Adressliste.repx$pdfResponse =$pxrest->getList($listeNr);if ($pdfResponse->getCode() ===200) {file_put_contents('Adressliste.pdf',$pdfResponse->getBody());echo"Liste erfolgreich als Adressliste.pdf gespeichert.";}

Spezielle Endpunkte

Info

Ruft Infos vom EndpunktPRO/Info ab.

Hinweis: Dieser Endpunkt / Abfrage blockiert keine Lizenz.

// Variante 1: API-Key direkt mitgeben$info1 =$pxrest->info('112a5a90fe28b23ed2c776562a7d1043957b5b79fad242b10141254b4de59028');// Variante 2: API-Key aus Options verwenden (sofern dort hinterlegt)$info2 =$pxrest->info();

Datenbank

Ruft Infos vom EndpunktPRO/Datenbank ab.

$dbInfo =$pxrest->database();

Response / Antwort

Alle Methoden geben die Response als Array bzw.NULL (z.B. beiDELETE) zurück. Bei Fehlern wird eineHttpClientException mit der Rückmeldung der PROFFIX REST-API geworfen.

Zudem lassen sich Zusatzinformationen zur letzten Response wie folgt ausgeben:

Letzter Request

$lastRequest =$pxrest->http->getRequest();$lastRequest->getUrl();// Get requested URL (string).$lastRequest->getMethod();// Get request method (string).$lastRequest->getParameters();// Get request parameters (array).$lastRequest->getHeaders();// Get request headers (array).$lastRequest->getBody();// Get request body (JSON).

Letzte Response

$lastResponse =$pxrest->http->getResponse();$lastResponse->getCode();// Response code (int).$lastResponse->getHeaders();// Response headers (array).$lastResponse->getBody();// Response body (JSON).

Ausnahmen / Spezialfälle

  • Endpunkte, welche Leerschläge enthalten (z.B.LAG/Artikel/PC 7/Bestand), müssen mitrawurlencode() genutzt werden.

Weitere Beispiele

Im Ordner/examples finden sich weitere auskommentierte Beispiele.

Weitere Wrapper für die Proffix Rest-API

About

PHP Wrapper für die PROFFIX REST API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp