dart_proffix_rest 0.0.3 copy "dart_proffix_rest: ^0.0.3" to clipboard
dart_proffix_rest: ^0.0.3 copied to clipboard

outdated

A Dart wrapper for Proffix Rest API

pub package codecov License

Dart Wrapper für PROFFIX REST-API #

alt text

Übersicht #

Installation #

dart pub add dart_proffix_rest

Konfiguration #

Die Konfiguration wird dem Client mitgegeben:

Konfiguration Beispiel Type Bemerkung
restURL https://myserver.ch:12299 string URL der REST-API ohne pxapi/v4/
database DEMO string Name der Datenbank
username USR string Names des Benutzers
password b62cce2fe18f7a156a9c... string SHA256-Hash des Benutzerpasswortes
modules ["ADR", "FIB"] List<String>? Benötigte Module (mit Komma getrennt)
options &px.Options{Timeout: 30} ProffixRestOptions Optionen (Details unter Optionen)

Beispiel:

import 'package:dart_proffix_rest/dart_proffix_rest.dart';


var pxClient = ProffixClient(
        database: 'DEMODBPX5',
        restURL: 'https://myserver.ch:12299',
        username: 'USR',
        password: 'b62cce2fe18f7a156a9c719c57bebf0478a3d50f0d7bd18d9e8a40be2e663017',
        modules: ["VOL"],
        options: null);;

    var request =
        await pxClient.get(endpoint: "ADR/Adresse", params: {"Limit": "1"});


Optionen #

Optionen sind fakultativ und werden in der Regel nicht benötigt:

Option Beispiel Bemerkung
key 112a5a90fe28b...242b10141254b4de59028 API-Key als SHA256 - Hash (kann auch direkt mitgegeben werden)
version v3 API-Version; Standard = v3
loginEndpoint /pxapi/ Prefix für die API; Standard = /pxapi/
LoginEndpoint PRO/Login Endpunkt für Login; Standard = PRO/Login
userAgent DartWrapper User Agent; Standard = DartWrapper
timeout 30 Timeout in Sekunden
verifySSL true SSL prüfen
batchsize 200 Batchgrösse für Batchrequests; Standard = 200
log true Aktiviert den Log für Debugging; Standard = false
volumeLicence false Nutzt PROFFIX Volumenlizenzierung

Methoden

Parameter Typ Bemerkung
endpoint string Endpunkt der PROFFIX REST-API; z.B. ADR/Adresse,STU/Rapporte...
data string Daten (werden automatisch in JSON konvertiert)
parameters Map<String, dynamic>? Parameter gemäss PROFFIX REST API Docs

Folgende unterschiedlichen Methoden sind mit dem Wrapper möglich:

Get / Query

    var request =
        await pxClient.get(endpoint: "ADR/Adresse/1", params: {"Fields": "AdressNr"});

Put / Update
    var request =
        await pxClient.put(endpoint: "ADR/Adresse/1", jsonEncode({
  "Name":   "Muster GmbH",
  "Ort":    "Zürich",
  "Zürich": "8000",
 }));

Patch / Update
 var request =
        await pxClient.patch(endpoint: "ADR/Adresse/1", jsonEncode({
  "Name":   "Muster GmbH",
  "Ort":    "Zürich",
  "Zürich": "8000",
 }));

Post / Create
 var request =
        await pxClient.post(endpoint: "ADR/Adresse/1", jsonEncode({
  "Name":   "Muster GmbH",
  "Ort":    "Zürich",
  "Zürich": "8000",
 }));
Delete / Delete
  var request =
        await pxClient.delete(endpoint: "ADR/Adresse/1");