Gelöst Bundesland setzen anhand der PLZ nach Auftragserstellung mittels web request

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.

ple

Sehr aktives Mitglied
20. August 2019
462
60
Hallo zusammen,
ich stehe da vor einen kleinen Problem und verstehe noch nicht so ganz den Webrequest von JTL.
JTL kennt anscheinend nicht das Bundesland, das muss wohl händisch nachgetragen werden, aber das macht nur ne menge Arbeit.
Nun dachte ich, ich frag mal ne API an, und wenn man diese URL aufruft mit der Postleitzahl von Neuss z.B., dann kommt da ein Json oder so zurück, wo das Bundesland drinsteht.
Das Bundesland würde ich gerne als Wert setzen wollen, nur weiß ich nicht, wie ich dieses aus dem Response extrahiere, damit ich den Wert überhaupt setzen kann.

Hier mal die URL
Code:
https://openplzapi.org/de/Localities?postalCode=41460

Antwort ist folgende
Code:
[{"postalCode":"41460","name":"Neuss","municipality":{"key":"05162024","name":"Neuss, Stadt","type":"Stadt"},"district":{"key":"05162","name":"Rhein-Kreis Neuss","type":"Kreis"},"federalState":{"key":"05","name":"Nordrhein-Westfalen"}}]

Hat da einer vielleicht eine Idee, wie ich es umsetzen könnte?

Gruß und besten Dank.
 

ple

Sehr aktives Mitglied
20. August 2019
462
60
So, ich habs dann doch noch geschafft das Bundesland auszuwerten anhand der PLZ.
Falls es einer braucht, hier mal meine Lösung
ich schreibe mir zunächst den Reponse in eine Globale Textvorlage
de Get sieht wie folgt aus
Code:
https://openplzapi.org/de/Localities?postalCode={{ Vorgang.Lieferung.Lieferadresse.PLZ }}
Screenshot 2023-08-02 094037.png

danach schreibe ich es ins Bundesland mittels Wert setzen.
Das script um an Namen des Bundeslandes zu kommen ist wie folgt.
Code:
{% assign jsonString = GlobaleTexte.JTL-Übersetzungen.WF_Bundesland_setzen.Deutsch -%}\
{% assign jsonArray = jsonString | Split: ','  %}\
{% for item in jsonArray -%}\
{% if item contains '}}]' -%}\
{% assign federalState = (item | Remove: '"}}]' | Remove: '"name":"' | Trim) -%}\
{% endif -%}\
{% endfor -%}\
{{federalState | StripNewlines }}

Ich glaube aber, dass ich nicht nur den Wert für Lieferung setzen muss, sonder auch bei Zahlungen und wo es noch überall steht.

Naja, vielleicht kann es ja einer gebrauchen.

Gruß
 
  • Gefällt mir
Reaktionen: wawi-dl