1

API-Fachmann für bezahlten Auftrag gesucht

Hallo,

ich suche einen API-Fachmann für einen bezahlten Auftrag.

 

Problem: 
- Anbindung von Ninox an DHL, Erstellung und Import von Versandetiketten

 

Aktueller Stand:

- Wir sind Geschäftskunde bei DHL für den normalen Paketversand im Inland und in der EU, d.h. für den zollfreien Versand von Paketen, wir versenden Bücher. 
- Wir erstellen seit mehreren Jahren problemlos die Etiketten via Shippinglabel als Dienstleister zwischen Ninox und DHL
- Ninox übergibt die Adressdaten via API an Shippinglabel, Shippinglabel kommuniziert mit DHL und gibt das Etikett und die Sendungsnummer zurück
- Das hat mehrere Jahre exzellent funktioniert, nun hat Shippinglabel die bisherige API eingestellt und eine neue API aufgesetzt, daher muss neu programmiert werden

 

Mögliche Varianten: 

1) Anpassung der bisherigen API-Programmierung von Shippinglabel API 1 auf Shippinglabel API 2. Geht vermutlich schneller, verursacht aber Kosten pro Label

2) Direkte Kommunikation von Ninox mit DHL, direkte Erstellung des Labels und Import nach Ninox. Vermutlich aufwendiger, aber keine zusätzlichen Kosten pro Label.

Beide Varianten sind denkbar.

 

Gesucht wird:

Ich suche nun einen API-Fachmann, der sich mit dem Thema auskennt und am besten auch schon einmal die DHL-Rest-API angebunden hat.  

Die Adressdaten liegen in Ninox vor, die Etiketten wurden bislang problemlos erstellt, d.h. die Daten sind DHL-kompatibel. Die bisherige Programmierung steht zur Verfügung und kann angepasst werden.

Der Auftrag wird selbstverständlich bezahlt.   

Bitte Mail an os@schwarzkopf-schwarzkopf.de

 

Freundlichen Gruß, 

Oliver Schwarzkopf

 

----

Oliver Schwarzkopf
Verleger 

Schwarzkopf & Schwarzkopf Verlag GmbH
Kastanienallee 32 – 10435 Berlin
os@schwarzkopf-schwarzkopf.de
www.schwarzkopf-schwarzkopf.de

Geschäftsführer: Oliver Schwarzkopf 
Amtsgericht Berlin-Charlottenburg
HRB 53141 – UID DE176649479
 

10 Antworten

null
    • OLIVER
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Ein Update hierzu: Axel, der Copytexter hat es doch tatsächlich geschafft! Ninox spricht jetzt via API mit Shippinglabel.de, von dort aus wird mit DHL kommuniziert und die Sendung erstellt, die wiederum wird von Ninox bei Shippinglabel abgeholt und in ein PDF konvertiert sowie in einem Ninox-Bildfeld abgelegt, die Sendungsnummer in einem Textfeld.

    Das klingt kompliziert und ist es auch, weil es nicht direkt von Ninox zu DHL und zurück geht, sondern Shippinglabel der Mittelsmann ist. Aber es scheint die mit den derzeitigen Ninox-Mitteln beste Lösung zu sein. Shippinglabel hat eine API, die nicht ganz so unübersichtlich ist wie die von DHL, und pflegt seinerseits genau diesen komplexen Weg der Kommunikation mit DHL.

    Daher schien es am besten zu sein, dass Ninox via Shippinglabel an DHL angebunden wird. Jetzt ist es geschafft und ich verneige mich in Respekt vor Axel. Vielen Dank, Axel!!!

    Achtung, Werbung: Wer Ninox-Aufträge zu vergeben hat, wendet sich an Axel, www.planox.pro. 

     

     

      • Ninox-Professional
      • planoxpro
      • vor 6 Monaten
      • Gemeldet - anzeigen

      Oh, vielen Dank für die freundliche Rückmeldung!

      Ehrlicherweise muss ich aber sagen, dass ich es alleine wohl auch nicht hinbekommen hätte. Der Shippinglabel-Support war schon bei der ersten Anbindung vor drei, vier Jahren wirklich sehr engagiert, und jetzt bei der Umstellung auf die neue API auch wieder (immer noch derselbe Ansprechpartner!). Die Ninox-Community hat ebenfalls ihren Beitrag geleistet, besonders mit seinem entscheidenden Tipp zur Lösung des Base64-Problems.

      Zu Shippinglabel selbst könnte man noch erwähnen, dass es neben DHL noch weitere Versanddienstleister wie DPD, Hermes u. a. unterstützt. Man benötigt also nur eine einzige Schnittstelle, was nicht nur bei paralleler Nutzung verschiedener Anbieter von Vorteil ist, sondern auch einen möglichen Wechsel des Paketdienstes erleichtern würde. Denn deren Schnittstellen sind m. W. alle recht komplex. Und das Preismodell von Shippinglabel ist m. E. ebenfalls fair und vor allem transparent (man bezahlt nur für tatsächlich erstellte Sendungen).

      Da ich wie gesagt auch viel Unterstützung bekommen habe, werde ich die Datenbank demnächst mal standardisieren, dokumentieren und der Community zur Verfügung stellen (das kann allerdings ein bisschen dauern).

    • T_Bartzsch
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Glückwunsch.... schön dass es funktioniert.

    Ich habe allerdings vor etwa 2 Monaten eine ähnliche Anforderung direkt mit der DHL API ohne Umweg über Shippinglabel umgesetzt. Der Kunde hat einen DHL Business Account und ich gehe direkt an die DHL-API. Sendungsnummer geht in ein Textfeld (zur späteren Verfolgung über die Tracking-API), das Versandlabel wird erzeugt und landet in einem Bildfeld bzw. lieber in einem iFrame, damit es direkt daraus gedruckt werden kann...

    Zum Glück führen viele Wege nach Rom ;) 

    • Arwin_Dustdar.1
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Habe erst vor wenigen Tagen die Labelerstellung von Ninox direkt auf die DHL API (DE Versand) und via make bei mir realisiert. Ist nicht so besonders schwer. Es kommt ein bisschen darauf an, was du alles damit umsetzen willst. 

    In meinem Fall reicht mir einfach die Labelerstellung, und das Zusammenführen mehrerer inhaltsgleicher Sendungen in eine PDF, das beherrscht DHL nämlich nicht via API.

    Aber die Möglichkeiten sind vielfältig. Man kann ja auch Retourenlabel mit Erstellen und einige andere Dinge noch.

    Je mehr Bedarf besteht, desto größer sicher der Aufwand.

    Ich schreibe das, nicht weil ich mich als Diensleister anbieten möchte, sondern für den Fall, dass jemand fragen dazu hat, kann er mich gerne ansprechen, weil ich mich erst vor kurzem dadurch gewühlt habe.

    So sieht das bei mir aus.

    • OLIVER
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Hallo Tobias, Arwin und Axel,

    ja, viele Wege führen am Ende zum Ziel. 

    DHL direkt anzusprechen werde ich irgendwann auch wieder angehen. Im Moment bin ich erstmal ganz froh, dass es via Shippinglabel läuft. Shippinglabel hat genau den Vorteil, dass man sich nicht selbst um die Pflege der Schnittstellen zu den Paketdiensten kümmern muss und auch die Wahl zwischen den Anbietern hat.

    Ich bin seit vielen Jahren bei DHL, aber die Preissteigerungen lassen mir zumindest theoretisch die Wahl, einen anderen Paketdienst zu wählen. Im Moment verhandele ich für die schweren B2B-Pakete mit DPD. 

    Aber jetzt erstmal das Weihnachtsgeschäft abwickeln. 

    Gruß, Oliver 

    • Seba.1
    • vor 1 Monat
    • Gemeldet - anzeigen

    Hallo alle

    Da ich Shippinglabel interessant fand, wollte ich das auch mal ausprobieren. Aber es läuft nicht ganz so leicht, wie mit Shopware (Wenn jemand Interess hat, kann ich meinen erfolgreichen Weg mal rüberbeamen). 

    Mit Postman funktioniert die API

    Request Headers
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic MjQT...hmMjk5NQ==
    User-Agent: PostmanRuntime/7.37.0
    Accept: */*
    Cache-Control: no-cache
    Postman-Token: 0...ec
    Host: api.shippinglabel.de
    Accept-Encoding: gzip, deflate, br
    Connection: keep-alive
    Content-Length: 29
    Request Body
    grant_type: "client_credentials"
    

    Aber bei Ninox beisse ich mir die Zähne aus

    let headers := {
            'Content-Type': "application/x-www-form-urlencoded",
            Authorization: "Basic Mj...5NQ==",
            Host: "api.shippinglabel.de"
        };
    let body := {
            grant_type: "client_credentials"
        };
    "
    Abfrage eines neuen Access Token
    ";
    let response := do as server
            http("POST", "https://api.shippinglabel.de/v2/oauth2/token", headers, body)
        end;
    

    Antwort: "Der Server reagiert nicht. Überprüfen Sie die Internetverbindung"

    Egal, ob mit der Webversion oder App - Webversion hängt sich auf und die App schickt die obige Nachricht.

    Hat irgendjemand einen Hinweis, was ich falsch mache?

      • Ninox-Professional
      • planoxpro
      • vor 1 Monat
      • Gemeldet - anzeigen

       

      Hallo. leider kann ich aktuell nicht in den Quellcode schauen, aber meinen fragmentarischen Notizen ließ sich entnehmen, dass ich nach anfänglichen Problemen den „grant_type“ in der URL übermittelt habe. Dafür entfiel dann im Header „content-type“. Wenn ich es richtig rekonstruiere, dann sah der Code am Ende so aus:

      let tokenResponse := do as server
      http("POST", "https://api.shippinglabel.de/v2/oauth2/token?grant_type=client_credentials", {
      Authorization: "Basic " + authToken"
      }, "")
      end;

      Ansonsten einfach mal den Support anschreiben (gerne mit einem schönen Gruß von mir). Wahrscheinlich antwortet ein Daniel Biela. Er ist Haupt-Entwickler von Shippinglabel, sehr hilfsbereit und in der Regel auch sehr schnell.

      • Ninox-Professional
      • planoxpro
      • vor 1 Monat
      • Gemeldet - anzeigen

      PS: Wobei - fällt mir jetzt erst auf: Die Meldung „Der Server reagiert nicht“ irritiert mich schon sehr. Das klingt nach einer ganz anderen, technischen Ursache. Vielleicht sogar ninox-seitig? 

      Denn einen Response sollte man eigentlich immer bekommen, ggf. halt mit Error-Code.

    • Seba.1
    • vor 1 Monat
    • Gemeldet - anzeigen
     said:
    ?grant_type=client_credentials

     Da lag der Hase im Pfeffer - da sieht man mal, dass ich kein Programmierer bin. In der Doku wird alles mit im Body oder Header beschrieben. Du hattest recht!

    GANZ HERZLICHEN DANK!

    nochmal für andere, die darüber stolpern: Die credentials in Base64 Format umwandeln (Encoder im Internet mit Trennung der beiden C's durch einen ":") und dann ist die Schlüsselabfrage recht schlank:

    Abfrage für Access Token definieren";
    let headers := {
            Authorization: "Basic " + basic64()
        };
    "

    Abfrage eines neuen Access Token
    ";
    let response := do as server
            http("POST", 'AccessToken URL' + "?grant_type=client_credentials", headers, "")
        end;

    • Seba.1
    • vor 1 Monat
    • Gemeldet - anzeigen

    Noch zur Ergänzung: Danach hatte ich dann die Schwierigkeit, die Labels aus der API zu bekommen. Wer auch wissen möchte, wie man aus der API PDF oder Bilder in Ninox abspeichern kann:

    https://forum.ninox.de/t/p8y8jl0/response-von-api-in-pdf-speichern

Content aside

  • 1 „Gefällt mir“ Klicks
  • vor 1 MonatZuletzt aktiv
  • 10Antworten
  • 222Ansichten
  • 5 Folge bereits