POST /members howto

Hiho,

ich möchte automatisiert Mitglieder via API anlegen. Z.B.

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'DOLAPIKEY: xxxxxxxxx' -d '{"firstname":"Erika","lastname": "Musternann","statut":1}' 'https://test.home64.de/api/index.php/members'

bekomme aber stets den Result:

{
  "error": {
    "code": 400,
    "message": "Bad Request: Invalid value specified for `request_data`"
  },
  "debug": {
    "source": "Validator.php:718 at validate stage",
    "stages": {
      "success": [
        "get",
        "route",
        "negotiate",
        "authenticate"
      ],
      "failure": [
        "validate",
        "message"
      ]
    }
  }
}

Ich habe es statt mit statut auch mit status oder mit beiden Attributen versucht auch „entity“: 1 hat nichts gebracht. In den Logs findet sich kein Hinweis auf die fehlgeschlagene Vailidierung. Doku gibt’s auch nicht.
Mit PUT hat es ja geklappt. Aber was fehlt hier bei POST?
Hat da jemand eine Idee?

Leider kann ich viel zu wenig PHP. Aber wenn ich in die Datei ./includes/restler/framework/Luracast/Restler/Data/Validator.php hineinschaue, finde ich den Hinweis, dass er den Request der Klasse array<string,string> nicht validieren bzw. instanziieren kann. Das bringt mich jetzt auch nicht viel weiter. Der Request muss halt geheimnisvoll anders aufgebaut sein. Aber wie?

Hi @tilo,

welche Dolibarr Version verwendest du? Welche Felder musst du ausfüllen wenn du ein Mitglied über die Oberfläche erstellst? In den von mir verwendeten Versionen wird mindestens Mitgliedschaftstyp und Art des Mitglieds benötigt. Und je nach aktualistät der Version noch Benutzername und Passwort. D.h. in der API sind das meistens auch Pflichtfelder und sollten gesetzt werden.

Gruß Sven

Moin Sven,
ich benutze die Dockerversion 21.0.1.
Ich konnte das Problem inzwischen auch lösen, nachdem ich im englischsprachigen Forum mal nachgefragt hatte.
https://www.dolibarr.org/forum/t/post-members-howto/30450
Ich habe mir eine gepatchte Docker-Version erstellt und verwende diese, solange der Bug noch nicht offiziell behoben ist.

(… oha - ihr macht ja richtig Profisupport für Dolibarr)