Modul Bestellungen exportieren mit REST API

Thema wurde von Anonymous, 13. Februar 2021 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Hast du denn im Kopf des Scripts die beiden Zeilen angepasst? $domain und $gtoken ? Vielleicht irgendwo versehentlich noch ein Leerzeichen mit reingerutscht, im Kopf der Datei oder in der Adressleiste? https/http richtig, und mit und ohne www?

    Edit: Token löschen wäre wirklich eine sehr wichtige Funktion die fehlt, z.B. für den Fall von Missbrauch oder einer Sicherheitslücke oder so
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    $domain = '(Link nur für registrierte Nutzer sichtbar.) // Domain mit endendem / z.B. (Link nur für registrierte Nutzer sichtbar.)
    $gtoken = 'HIER_STEHT_DER_TOKEN_OHNE_LEERZEICHEN'

    etwas anderes habe ich auch nicht verändert an der Datei.
    Ich habe einen neuen Benutzer für den Api-zugriff erstellt. Zugrifsrolle für vollen Api-zugriff. Token erstellt.
    Ich habe es auch mit und ohne www probiert. Funktioniert nicht.

    Bestellungsexport
    Zugriff verweigert! Token falsch!

    Mehr sehe ich nicht, wenn ich auf Bestellungen exportieren klicke.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Scheint nicht an deinem Script zu liegen.
    Mit Basic Auth habe ich zugriff auf rest api v2. Mit dem Token funktioniert es nicht. Habe ich auf dem Program Insomnia ausprobiert. Soetwas wie Postman.
    Ich habe ein neues Token generiert. Leider ohne Erfolg. Habe ja auch keinen zugriff auf v3. Vielleicht stimmt da etwas mit dem Shop nicht. (Ticket erstellt)
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Du rufst aber den Bestellexport schon mit dem token auf oder? Also
    ..php?sec=hierdeintoken
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    #105 Anonymous, 21. November 2021
    Zuletzt bearbeitet: 21. November 2021
    Nein!. Genau das habe ich falsch gemacht.
    Jetzt steht aber folgendes

    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "(Link nur für registrierte Nutzer sichtbar.)", "path": "/api.php/v2/orders/", "uri": { "root": "(Link nur für registrierte Nutzer sichtbar.)", "resource": "/api.php/v2/orders/" } } }
    Bestellnr. wurde exportiert...
    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 100
    e Bestellnr


    csv wird erstellt aber mit folgendem Inhalt

    Bestellnummer,Bestellstatus,Kaufdatum,currencyCode,Kommentar,Gesamtgewicht,Zahlart,Versandmodul,Email,Telefon,Vorname,Nachname,Firma,Strasse,Hausnummer,Adresszeile2,PLZ,Ort,Land,Rechnung_Vorname,Rechnung_Nachname,Rechnung_Firma,Rechnung_Strasse,Rechnung_Hausnummer,Rechnung_Adresszeile2,Rechnung_PLZ,Rechnung_Ort,Rechnung_Land,Liefer_Vorname,Liefer_Nachname,Liefer_Firma,Liefer_Strasse,Liefer_Hausnummer,Liefer_Adresszeile2,Liefer_PLZ,Liefer_Ort,Liefer_Land,Brutto_Rechnungsbetrag,Netto_Rechnungsbetrag,Steuersatz,Trackinglink
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. April 2019
    Beiträge:
    82
    Danke erhalten:
    15
    Danke vergeben:
    14
    Was steht denn in Zeile 100 von Deinem script?
    Laut Fehlermeldung übergibst Du die Variable im falschen Format?
    also als string? must Du mal schauen was da verlangt wird!
    Irgendwo vorher wirst Du wohl "id" falsch befüllen schätze ich.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Was hast du denn als Filter genommen? Vielleicht gab's keine Treffer für Deine Eingabe oder vielleicht ein Datum falsch formatiert oder so.
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich habe es mit verschiedenen Filtern ausprobiert. Ich bekomme nur das:

    Bestellungsexport
    Bestellnr

    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "(Link nur für registrierte Nutzer sichtbar.)", "path": "/api.php/v2/orders/", "uri": { "root": "(Link nur für registrierte Nutzer sichtbar.)", "resource": "/api.php/v2/orders/" } } }
    Bestellnr. wurde exportiert...
    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 100
    e Bestellnr

    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 104

    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "(Link nur für registrierte Nutzer sichtbar.)", "path": "/api.php/v2/orders/e", "uri": { "root": "(Link nur für registrierte Nutzer sichtbar.)", "resource": "/api.php/v2/orders/e" } } }
    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 136

    Bestellnr. e wurde exportiert...
    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 100
    U Bestellnr

    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 104

    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "(Link nur für registrierte Nutzer sichtbar.)", "path": "/api.php/v2/orders/U", "uri": { "root": "(Link nur für registrierte Nutzer sichtbar.)", "resource": "/api.php/v2/orders/U" } } }
    Warning: Illegal string offset 'id' in /www/htdocs/w0183409/kidcars.de/shop/orders_export.php on line 136

    Bestellnr. U wurde exportiert... Bestellnr

    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "(Link nur für registrierte Nutzer sichtbar.)", "path": "/api.php/v2/orders/", "uri": { "root": "(Link nur für registrierte Nutzer sichtbar.)", "resource": "/api.php/v2/orders/" } } }
    Bestellnr. wurde exportiert...
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich habe das script nicht geändert. Wollte es ausprobieren. Nur am anfang token eingefügt und domainnamen geändert
     
  10. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. April 2019
    Beiträge:
    82
    Danke erhalten:
    15
    Danke vergeben:
    14
    Welche PHP Version nutzt Du?
    Hatte das bei uns immer unter PHP 7 (7.3.31?) laufen ! Nie unter 8 !!!
    Wenn Du nichts geändert hast, könnte es evtl. daran liegen!
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Erstmal seltsam: Unauthorized. Warum bist du unauthorized? Der illegal offset könnte dann ein Folgefehler sein. Du hast ja auch seltsame Bestellnummern: "e", "e", "U", "U" ??

    Kannst du nochmal die Originaldatei aus dem Download nehmen? Vielleicht hast du durch die Umstellung des Authorisierungsverfahrens was verhunzt. Die Rückmeldung die du bekommst ist so als hättest du gar keine Zugangsdaten verwendet, also als wenn du

    (Link nur für registrierte Nutzer sichtbar.)

    aufrufst und keine authentifizierung machst:

    Code:
      
    code    401
    status    "error"
    message    "Unauthorized"
    request  
    method    "GET"
    url    "www.kidcars.de"
    path    "/api.php/v2/"
    uri  
    root    "https://www.kidcars.de/api.php/v2/"
    resource    "/api.php/v2/"
    Vielleicht kommen daher auch deine Bestellnummern "e" von error und "U" von Unauthorized.
     
  12. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich habe es mit falschem Token versucht. Dann komme ich ja garnicht ins menü wo die Buttons sind um die Rechnungen zu erzeugen.
     
  13. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    #113 Anonymous, 22. November 2021
    Zuletzt bearbeitet: 22. November 2021
    Ich habe PHP 7.2
    Ich habe es auf 7.4 erhöht. Leider ohne Erfolg

    Da ich auch Probleme habe in die API v3 zu kommen, scheint irgendwas im Shop kaputt zu sein

    (Link nur für registrierte Nutzer sichtbar.)
    (Link nur für registrierte Nutzer sichtbar.)

    Bei v2 fragt er Logindaten ab. Bei v3 gibt es Fehler.
    So sieht man doch normalerweise die Endpunkte, oder habe ich da etwas falsch verstanden?

    OK mit v3 hat es doch nichts zu tun
     
  14. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Habe den Shop auch geupdatet von 4.4.0.1 auf 4.4.0.3.
    Die Fehler werden immernoch angezeigt wenn ich rechnungen exportieren will

    Code:
    Bestellungsexport
    Bestellnr
    
    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "www.kidcars.de", "path": "/api.php/v2/orders/", "uri": { "root": "https://www.kidcars.de/api.php/v2/", "resource": "/api.php/v2/orders/" } } }
    Bestellnr. wurde exportiert...e Bestellnr
    
    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "www.kidcars.de", "path": "/api.php/v2/orders/e", "uri": { "root": "https://www.kidcars.de/api.php/v2/", "resource": "/api.php/v2/orders/e" } } }
    Bestellnr. e wurde exportiert...U Bestellnr
    
    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "www.kidcars.de", "path": "/api.php/v2/orders/U", "uri": { "root": "https://www.kidcars.de/api.php/v2/", "resource": "/api.php/v2/orders/U" } } }
    Bestellnr. U wurde exportiert... Bestellnr
    
    { "code": 401, "status": "error", "message": "Unauthorized", "request": { "method": "GET", "url": "www.kidcars.de", "path": "/api.php/v2/orders/", "uri": { "root": "https://www.kidcars.de/api.php/v2/", "resource": "/api.php/v2/orders/" } } }
    Bestellnr. wurde exportiert...
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Wird wohl was mit deinem Token zu tun haben. Unauthorized = du hast keine Zugriffsberechtigung.
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Hat der Benutzer für den du den Token erstellt hast, in den Zugriffsrollen auch API-Zugriff aktiviert? Und ist der Token noch gültig? Und bist du sicher dass du die ursprüngliche Authentifizierung verwendest und nicht deine eigene mit der Basis-Authentifizierung?
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Werden Bestellungen oder Rechnungen exportiert?
    Ich erzeuge keine Rechnungen bei Gambio. Das mache ich mit dem Warenwirtschaftsprogramm PlentyMarkets.
    Kommt der Fehler weil ich keine Rechnungen habe?
    Ja für den neuen Nutzer habe ich alles aktiviert
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Vielleicht mache ich was falsch. Ich habe einen neuen Testshop installiert. Das gleiche Problem.
    Erfolgt der Aufruf nicht so?
    Shopdomain.de/orders_export.php?sec=TOKEN
     

    Anhänge:

    • 01.jpg
      01.jpg
      Dateigröße:
      262,5 KB
      Aufrufe:
      16
    • 02.jpg
      02.jpg
      Dateigröße:
      337,2 KB
      Aufrufe:
      16
    • 03.jpg
      03.jpg
      Dateigröße:
      302,8 KB
      Aufrufe:
      16
    • 04.jpg
      04.jpg
      Dateigröße:
      540,6 KB
      Aufrufe:
      16
  19. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Nur domain korrigiert und Token eingefügt
     

    Anhänge:

    • 05.jpg
      05.jpg
      Dateigröße:
      615,4 KB
      Aufrufe:
      19
  20. TobiasBerben

    TobiasBerben Erfahrener Benutzer

    Registriert seit:
    4. April 2017
    Beiträge:
    66
    Danke erhalten:
    19
    Danke vergeben:
    45
    Kann mir jemand sagen, wie ich per REST API hier bei diesem Skript pro Bestellung einen Link einbaue, um die bestellten Produkte der jeweiligen Bestellung nachzuladen? Ggf. auch, wie ich gleich für jede Bestellung die Liste der bestellten Produkte mit lade - aber das könnte unnötige Last verursachen, oder?

    Viele Grüße, Tobias Berben