Alle samlinger
API
Shipmondo Printklient
Fil-integration via Shipmondo Printklient
Fil-integration via Shipmondo Printklient

Kommuniker med Shipmondo API gennem fil-integration.

Mikkel Otte Pedersen avatar
Skrevet af Mikkel Otte Pedersen
Opdateret over en uge siden

Shipmondo Printklient har to funktioner:

  • Udskrivning af pakkelabels direkte til printeren gennem offentligt API eller fra Shipmondo-konto. Læs mere her.

  • Mulighed for integration til ældre regnskabs- og lagersystemer vha. af gammeldags fil-udveksling (JSON/XML format).

Denne vejledning omhandler, hvordan du benytter fil-integration via Shipmondo Printklient.

NB! Vi anbefaler som udgangspunkt, at man integrerer til vores offentligt API i stedet for at benytte fil-udveksling gennem Shipmondo Printklient, da man vil sikre en bredere understøttelse af funktioner.

Installer Printklienten – 5 simple trin

Følg de 5 simple trin for installation af Printklienten her.

Konfiguration af Shipmondo til fil-udveksling

Start programmet Shipmondo og vælg Fil-integration.

Først skal fil-integration aktiveres, hvilket gøres ved at klikke Aktiver i øverste venstre hjørne. Der skal konfigureres følgende felter:

  1. Mappe til indlæsning af filer (input): Stien til mappen hvor programmet skal lede efter nye filer

  2. Mappe til udførte filer (success): Hvis en label bliver oprettet korrekt udfra en fil, bliver filen flyttet til denne mappe

  3. Mappe til fejlede filer (error): Hvis en label ikke bliver oprettet korrekt, bliver den pågældende fil flyttet til denne mappe

  4. Mappe til svar fra API (response): Hvis en label bliver oprettet korrekt, oprettes der en ny fil i denne mappe med data om forsendelsen

NB! Input og success mapperne må ikke være samme mappe, da dette kan skabe problemer. 

Nu er konfigurationen færdig. Hvis der er fejl i opsætningen, vil den/disse blive rapporteret i programmet under Aktivitet.

Format af filer

Strukturen på både XML og JSON-filer er baseret på Shipmondo API v3, som er ydeligere beskrevet i vores specifikation

I begyndelsen af filerne er der et par ekstra felter, der beskriver endpoint og HTTP method.

NB! Character encoding for filerne skal være UTF8 for både JSON og XML.  

Fejlfinding

Skulle der være fejl i en fil, der gør at indlæsningen ikke kan gennemføres, vil filen vil blive returneret til den angivne Error mappe, samt under Aktivitet > Aktiviteter.

Format af JSON

Filen er strukturet med følgende felter:

  • method:  Beskriver HTTP metoden der skal bruges i dette kald

  • endpoint:  Beskriver hvilket endpoint der skal kaldes

  • data: Data'en der skal bruges til en POST / PUT metode

Parametre til GET kald, såsom pagination og id, er angivet i root.

GET eksempler 

Get shipments med id

{
  "method": "GET",
  "endpoint": "shipments",
  "id": "3520"
}

Get shipments uden pagination

{
  "method": "GET",
  "endpoint": "shipments"
}

Get shipments med parametre (pagination)

{
  "method": "GET",
  "endpoint": "shipments",
  "page": "6",
  "per_page": "1"
}


POST eksempler
Opret forsendelse

{
  "method": "POST",
  "endpoint": "shipments",
  "data": {
    "test_mode": true,
    "own_agreement": false,
    "label_format": null,
    "product_code": "GLSDK_SD",
    "service_codes": "EMAIL_NT,SMS_NT",
    "automatic_select_service_point": true,
    "sender": {
      "name": "Min Virksomhed ApS",
      "attention": "Lene Hansen",
      "address1": "Strandvejen 6",
      "address2": null,
      "zipcode": "5240",
      "city": "Odense NØ",
      "country_code": "DK",
      "email": "info@minvirksomhed.dk",
      "mobile": "70400407",
      "telephone": "70400407"
    },
    "receiver": {
      "name": "Lene Hansen",
      "attention": null,
      "address1": "Skibhusvej 52",
      "address2": null,
      "zipcode": "5000",
      "city": "Odense C",
      "country_code": "DK",
      "email": "lene@email.dk",
      "mobile": "12345678",
      "telephone": "12345678",
      "instruction": null
    },
    "parcels": [
      {
        "weight": 1000
      }
    ],
    "print": false,
    "print_at": {
      "host_name": "DESKTOP-Q9L1EEB",
      "printer_name": "Brother HL-L2340D series Printer",
      "label_format": "a5"
    },
    "replace_http_status_code": false,
    "reference": "Order 10001"
  }
}

Format af XML

XML-filer er strukturet på samme måde som JSON-filer, udover at de har et root element kaldet request. Parametre er angivet under request elementet.

Arrays er angivet således:

<parcels>
  <parcel>
    <weight>1000</weight>
  </parcel>
  <parcel>
    <weight>1000</weight>
  </parcel>
</parcels>


GET eksempler 

Get shipments med id

<?xml version="1.0" encoding="UTF-8"?>
<request>
   <endpoint>shipments</endpoint>
   <method>GET</method>
   <id>3250</id>
</request>

Get shipments uden pagination

<?xml version="1.0" encoding="UTF-8"?>
<request>
   <endpoint>shipments</endpoint>
   <method>GET</method>
</request>

Get shipments med parametre (pagination)

<?xml version="1.0" encoding="UTF-8"?>
<request>
   <endpoint>shipments</endpoint>
   <method>GET</method>
   <page>6</page>
   <per_page>1</per_page>
</request>


POST eksempler
Opret forsendelse

<?xml version="1.0" encoding="UTF-8"?>
<request>
<endpoint>shipments</endpoint>
<method>POST</method>
<data>
<test_mode>true</test_mode>
<own_agreement>false</own_agreement>
<label_format>zpl</label_format>
<product_code>GLSDK_SD</product_code>
<service_codes>EMAIL_NT,SMS_NT</service_codes>
<reference>Order 10001</reference>
<automatic_select_service_point>true</automatic_select_service_point>
<sender>
<name>Min Virksomhed ApS</name>
<attention>Lene Hansen</attention>
<address1>Hvilehøjvej 25</address1>
<address2></address2>
<zipcode>5220</zipcode>
<city>Odense SØ</city>
<country_code>DK</country_code>
<email>info@minvirksomhed.dk</email>
<mobile>70400407</mobile>
</sender>
<receiver>
<name>Lene Jensen</name>
<attention></attention>
<address1>Skibhusvej 52</address1>
<address2></address2>
<zipcode>5000</zipcode>
<city>Odense C</city>
<country_code>DK</country_code>
<email>lene@email.dk</email>
<mobile>12345678</mobile>
<instruction null="true" />
</receiver>
<parcels>
<parcel>
<quantity>1</quantity>
<weight>1000</weight>
</parcel>
</parcels>
<print>false</print>
<print_at>
<host_name>WAREHOUSE-PC</host_name>
<printer_name>Zebra Zdesigner GK420D</printer_name>
<label_format>zpl</label_format>
</print_at>
</data>
</request>

Besvarede dette dit spørgsmål?