2017 © Pedro PelĂĄez
 

library rest-api-wrapper-proffix-php

PHP Wrapper for PROFFIX REST API

image

pitwch/rest-api-wrapper-proffix-php

PHP Wrapper for PROFFIX REST API

  • Wednesday, June 27, 2018
  • by pitw
  • Repository
  • 1 Watchers
  • 1 Stars
  • 22 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 5 Versions
  • 5 % Grown

The README.md

:warning: :construction:, (*1)

Archiviert

Dieses Repo wurde archiviert und wird nicht mehr weitergefĂŒhrt :file_folder:. FĂŒr produktive Projekte mit der Proffix Rest-API empfehlen sich mittlerweile andere Sprachen oder Technologien. Als erpropte, ausgereifte und aktiv unterhaltene Alternativen empfehlen wird die von uns unterhaltenen Wrappers fĂŒr die Proffix Rest-API auszuprobieren:, (*2)

PHP Wrapper fĂŒr PROFFIX REST-API

Ein effizienter PHP Wrapper fĂŒr die PROFFIX REST-API, (*3)

alt text, (*4)

Installation

Der Wrapper kann entweder geklont oder via Composer installiert werden., (*5)

composer require pitwch/rest-api-wrapper-proffix-php

Variante 1: Verwendung mit Composer (empfohlen)

Autoload RestAPIWrapperProffix class:, (*6)

require __DIR__ . '/vendor/autoload.php';

use Pitwch\RestAPIWrapperProffix\Client;

Konfiguration

Die Konfiguration wird dem Client mitgegeben:, (*7)

Konfiguration Beispiel Bemerkung
url https://myserver.ch:999 URL der REST-API ohne pxapi/v2/
apiDatabase DEMO Name der Datenbank
apiUser USR Names des Benutzers
apiPassword b62cce2fe18f7a156a9c...0f0d7bd18d9e8a40be2e663017 SHA256-Hash des Benutzerpasswortes
apiModule ADR,STU Benötigte Module (mit Komma getrennt)
options array('key'=>'112a5a90...59028') Optionen (Details unter Optionen)

Beispiel:, (*8)


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

Optionen

Optionen sind fakultativ und werden in der Regel nicht benötigt:, (*9)

Option Beispiel Bemerkung
key 112a5a90fe28b...242b10141254b4de59028 API-Key als SHA256 - Hash (kann auch direkt mitgegeben werden)
version v2 API-Version; Standard = v2
api_prefix /pxapi/ Prefix fĂŒr die API; Standard = /pxapi/
login_endpoint PRO/Login Endpunkt fĂŒr Login; Standard = PRO/Login
user_agent php-wrapper-proffix-restapi User Agent; Standard = php-wrapper-proffix-restapi
timeout 15 Timeout fĂŒr Curl in Sekunden; Standard = 15
follow_redirects true Weiterleitungen der API folgen; Standard = false

Methoden

Parameter Typ Bemerkung
endpoint string Endpunkt der PROFFIX REST-API; z.B. ADR/Adresse,STU/Rapporte...
data array Daten (werden automatisch in JSON konvertiert); z.B: array("Name"=>"Demo AG",...)
parameters array Parameter gemÀss PROFFIX REST API Docs

Sonderzeichen in den Parametern mĂŒssen gegebenfalls mit Escape-Zeichen verwendet werden, z.B:, (*10)

//Escape ' with \'
array('filter'=>'GeaendertAm>d\'2018-05-17 14:54:56\'','depth'=>1,'fields'=>'AdressNr,Name,GeaendertAm')

Folgende unterschiedlichen Methoden sind mit dem Wrapper möglich:, (*11)

Get / Query
//Einfache Abfrage
$pxrest =  new  Client(...)
$adresse = $pxrest->get("ADR/Adresse/1")  //Legt Response als Objects in $adresse ab
$adresse->Name //DEMO AG

/Abfrage mit Parametern
$pxrest =  new  Client(...)
$adresse = $pxrest->get("ADR/Adresse",array('filter'=>'GeaendertAm>d\'2018-05-17 14:54:56\'','depth'=>1,'fields'=>'AdressNr,Name,GeaendertAm','limit'=>5))

Put / Update
$pxrest =  new  Client(...)
$data = array("AdressNr"=>1,"Ort"=>"ZĂŒrich","PLZ"=>8000,"EMail"=>"test@test.com");
$adresse = $pxrest->put("ADR/Adresse",$data)  //Sendet $data an Endpunkt ADR/Adresse
Post / Create
$pxrest =  new  Client(...)
$data = array("AdressNr"=>1,"Ort"=>"ZĂŒrich","PLZ"=>8000,"EMail"=>"test@test.com");
$adresse = $pxrest->post("ADR/Adresse",$data)  //Sendet $data an Endpunkt ADR/Adresse
Response / Antwort

Alle Methoden geben die Response als Array bzw. NULL (z.B. bei DELETE) Bei Fehlern wird HttpClientException mit RĂŒckmeldung der PROFFIX REST-API ausgegeben., (*12)

Zudem lassen sich Zusatzinformationen zur Response wie folgt ausgeben:, (*13)

$pxrest =  new  Client(...)
$adresse = $pxrest->get("ADR/Adresse")

//Zusatzinformationen zum letzten 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).


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

Spezielle Endpunkte

Info

Ruft Infos vom Endpunkt PRO/Info ab., (*14)

Hinweis: Dieser Endpunkt / Abfrage blockiert keine Lizenz, (*15)

$pxrest =  new  Client(...)

//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 Endpunkt PRO/Datenbank ab., (*16)

Hinweis: Dieser Endpunkt / Abfrage blockiert keine Lizenz, (*17)

```php $pxrest = new Client(...);, (*18)

//Variante 1: API - Key direkt mitgeben $datenbank1 = $pxrest->database('112a5a90fe28b23ed2c776562a7d1043957b5b79fad242b10141254b4de59028');, (*19)

//Variante 2: API - Key aus Options verwenden (sofern dort hinterlegt) $datenbank2 = $pxrest->database(); ```, (*20)

Ausnahmen / SpezialfÀlle

  • Endpunkte welche LeerschlĂ€ge enthalten können (z.B. LAG/Artikel/PC 7/Bestand) mĂŒssen mit rawurlencode() genutzt werden

Weitere Beispiele

Im Ordner /examples finden sich weitere, auskommentierte Beispiele., (*21)

The Versions

27/06 2018

dev-master

9999999-dev https://www.pitw.ch

PHP Wrapper for PROFFIX REST API

  Sources   Download

MIT

The Requires

  • php >= 5.6.0
  • ext-curl *
  • ext-json *

 

The Development Requires

by Simon Pedrett

api curl php rest wrapper restful proffix proffix rest api

29/05 2018

v1.3

1.3.0.0 https://www.pitw.ch

PHP Wrapper for PROFFIX REST API

  Sources   Download

MIT

The Requires

  • php >= 5.6.0
  • ext-curl *
  • ext-json *

 

The Development Requires

by Simon Pedrett

api curl php rest wrapper restful proffix proffix rest api

29/05 2018

dev-dev

dev-dev https://www.pitw.ch

PHP Wrapper for PROFFIX REST API

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *
  • php >= 5.6.0

 

The Development Requires

by Simon Pedrett

api curl php rest wrapper restful proffix proffix rest api

24/04 2018

1.0.1

1.0.1.0 https://www.pitw.ch

PHP Wrapper for PROFFIX REST API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Simon Pedrett

api curl php rest wrapper restful proffix proffix rest api

23/04 2018

1.0

1.0.0.0 https://www.pitw.ch

PHP Wrapper for PROFFIX REST API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Simon Pedrett

api curl php rest wrapper restful proffix proffix rest api