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.122
    Danke erhalten:
    88
    Danke vergeben:
    89
    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.761
    Danke erhalten:
    1.372
    Danke vergeben:
    305
    @sirtet Die Daten welche für einen Customer gesetzt werden können, ist alles in der Datei (Link nur für registrierte Nutzer sichtbar.) wenn man diese in Postman importiert, hat man gleich Beispiele die auch entsprechend Daten enthalten.

    (Link nur für registrierte Nutzer sichtbar.)

    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.