Fehlende RESTv2 Dokumentation zu Customers

Thema wurde von sirtet, 11. April 2024 erstellt.

  1. sirtet
    sirtet Erfahrener Benutzer
    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.133
    Danke erhalten:
    89
    Danke vergeben:
    90
    Ich wollte mehr wissen zu den Feldern bei Customers Update, aber die Dok.
    https://developers.gambio.de/docs/4.9.2.1/rest/gambio-gx3-api/reference/customers/update-customer/
    sagt nur lapidar "You will need to provide all the customer information with the request"...
    Die Info, welche "information" das wäre, fehlt.
    Auch bei Create, hier,
    https://developers.gambio.de/docs/4.9.2.1/rest/gambio-gx3-api/reference/customers/create-customers/
    gibt's im gegensatz zu anderen Dokumentations-Seiten keine Beschreibung des Request-Body...
    Der eingebettete Link
    https://developers.gambio.de/docs/4.9.2.1/rest/gambio-gx3-api/resources/gxcustomerarray/
    führt zu einer "leeren" Seite.
    @Gambio, gibt's da sonstwo etwas?

    Mein eigentliches Problem:
    Meine WaWi, VARIO, macht irgendwie aus gewissen Kunden Admin's !!!
    Ich sehe noch nicht genau wie/was passiert, der Kunde hat dann im Frontend die Admin-Sidebar und den Link zum Admin, kommt aber nur auf seine User-Seite wenn er eine Admin-URL aufruft.

    Der Datenaustausch sieht so aus:
    Code:
     PUT  https://www.redpig.ch/catalog/api.php/v2/customers/11111
    [HEADER]: Authorization=Basic dmFyaWxxxx
    [HEADER]: Content-Type=application/json
    
    CONTENT:
    {
        "id": 1111,
        "gender": "m",
        "firstname": "Dxxxx",
        "lastname": "Mxxxx",
        "vatNumber": "",
        "vatNumberStatus": false,
        "telephone": "07xxxx",
        "fax": "",
        "statusId": "EK",
        "isGuest": false,
        "address": {
            "additionalAddressInfo": "",
            "b2bStatus": false,
            "city": "Axxxx",
            "company": "",
            "countryId": "204",
            "houseNumber": "1",
            "postcode": "1111",
            "street": "Sxxxx",
            "suburb": ""
        }
    }
    
    11.04.2024 16:11:54 [TGambioAPI] STATUS:
        200 OK
    
    HEADER:
        Cache-Control: no-store, no-cache, must-revalidate
        Connection: Keep-Alive
        Date: Thu, 11 Apr 2024 14:11:54 GMT
        Keep-Alive: timeout=5, max=100
        Pragma: no-cache
        Content-Length: 546
        Content-Type: application/json; charset=utf-8
        Expires: Thu, 19 Nov 1981 08:52:00 GMT
        x-frame-options: SAMEORIGIN
        x-api-version: v2.6.0
        x-rate-limit-limit: 5000
        x-rate-limit-remaining: 4987
        x-rate-limit-reset: 1712845365
        x-shop-version: v4.8.0.2
        x-content-type-options: nosniff
    
    CONTENT:
    {
        "id": 1111,
        "number": "11111",
        "gender": "m",
        "firstname": "Dxxx",
        "lastname": "Mxxx",
        "dateOfBirth": "1000-01-01",
        "vatNumber": "",
        "vatNumberStatus": 0,
        "telephone": "07xxxxx",
        "fax": "",
        "email": "wxxxx.com",
        "statusId": 0,
        "isGuest": false,
        "addressId": 19999,
        "addonValues": null,
     }
    Falsch scheint mir dabei "statusId": "EK", das sollte doch bestimmt ein Integer sein, kein String.
    in der Antwort wird daraus "statusId": 0,
    (Da müsste doch in der API eine Integer-Prüfung einen Error auslösen...)

    Ich sehe bisher nicht, in welches DB-Feld statusId geht...
    Weiss das zufällig jemand?
     
  2. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.997
    Danke erhalten:
    1.650
    Danke vergeben:
    361
    @sirtet Die Daten welche für einen Customer gesetzt werden können, ist alles in der Datei https://developers.gambio.de/docs/4.8.0.0/rest/swagger.json wenn man diese in Postman importiert, hat man gleich Beispiele die auch entsprechend Daten enthalten.

    https://developers.gambio.de/docs/4.8.0.0/rest/gambio-gx3-api/guides/postman-usage/

    Die statusID muss ein int sein, richtig. Diese geht auf die Tabelle customers mit der Spalte customers_status

    Und ja die API v2 ist da leider nicht so streng weshalb gewissen Daten einfach umgewandelt werden und somit der String "EK" zu 0 wird und damit der Kunde zum Admin.