REST Endpoints

Environment Diagram

 

Authentification

The authentification is similar to the Shop API (https://i-ag.atlassian.net/wiki/spaces/TD/pages/15597635). The only difference is the user, for the delivery API there is a Delivery User.

 

Endpoints

DeliveryPath = api/v1.0/Core/VinX/Delivery

Driver

GET on {DeliveryPath}/Driver

Global Filters

Filter

Query

Notes

Filter

Query

Notes

Only drivers which were already assigned to a delivery

 

 

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

Id

number

Mit_ID

 

FirstName

string

Mit_Vorname

 

LastName

string

Mit_Name

 

Shortname

string

Mit_URef

 

[ {     "Id": "1880",     "FirstName": "Otto",     "LastName": "von Bismarck",     "Shortname": "OVB"   } ]

Vehicle

GET on {DeliveryPath}/Vehicle

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

Id

number

FZ_Id

 

Description

string

FZ_Bezeichnung

 

Plate

string

FZ_Nummernschild

 

MinWeightInTons

number

FZ_TonnenMinimal

 

MaxWeightInTons

number

FZ_TonnenMaximal

 

[   {     "Id" : 2,     "Description" : "MAN TGL", “Plate”: “FR 10001”, “MinWeightInTons”: 10, “MaxWeightInTons”: 19.9,   },   {     "Id" : 3,     "Description" : "MAN TGL", “Plate”: “FR 10002”, “MinWeightInTons”: 10, “MaxWeightInTons”: 19.9,   } ]

 

Tour

GET on {DeliveryPath}/Tour

Enum DeliveryDays

Name

Value

Name

Value

NoDelivery

0

Morning

10

Afternoon

20

WholeDay

30

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

Id

number

Tour_Id

 

Description

string

Tour_Bezeichnung

 

Designation

string

Tour_Beschreibung

 

Number

number

Tour_Nummer

 

VehicleId

number

Tour_FahrzeugID

 

Monday

enum DeliveryDays

Tour_Montag

 

Tuesday

enum DeliveryDays

Tour_Dienstag

 

Wednesday

enum DeliveryDays

Tour_Mittwoch

 

Thursday

enum DeliveryDays

Tour_Donnerstag

 

Friday

enum DeliveryDays

Tour_Freitag

 

Saturday

enum DeliveryDays

Tour_Samstag

 

[   {     "Id" : 1,     "Description" : "Lausanne Est: Vevey, Montreux et Valais",     "Designation" : "Lausanne Est", "Number”: 12, “VehicleId”: 1, “Monday”: 10, “Tuesday”: 0, “Wednesday”: 10, “Thursday”: 0, “Friday”: 30, “Saturday”: 0   } ]

Package

GET on {DeliveryPath}/Package

Global Filters

Filter

Query

Notes

Filter

Query

Notes

ArticleType

Artikeltyp = 1

 

Return

Retourenanzeige = true

 

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

Id

number

Art_ID

 

Number

number

Art_Artikelnummer

 

Description

string

Art_Bezeichnung

 

[   {     "Id": 8823,     "Number": 1088,     "Description": "Vini 24-er (24x.-30), Fr. 7.20"   } ]

Deliveries Read

GET on {DeliveryPath}

Global Filters

Filter

Query

Notes

Filter

Query

Notes

dateFrom

Auslieferung_Datum > ??

 

dateTo

Auslieferung_Datum < ??

 

includeDelivered (optional, default false)

if false Auslieferung_Status< Delivered, if true every status is returning

 

Enum State

Name

Value

Name

Value

Open

10

Fixed

20

Printed

30

InDelivery

50

Delivered

60

Archived

100

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

Id

number

Auslieferung_ID

 

TourId

number

Auslieferung_TourID

 

VehicleId

number

Auslieferung_FahrzeugID

 

DriverId

number

Auslieferung_ChauffeurID

 

State

enum State

Auslieferung_Status

 

Date

Date

Auslieferung_Datum

 

Timing

enum DeliveryDays

Auslieferung_Zeitpunkt

Morning, afternoon, whole day

 

 

 

 

Stations

array

 

 

.. Position

number

Station_Position

delivery sequence

 

 

 

 

.. Address

object

 

 

../.. Id

number

Adr_ID

 

../.. Number

number

Adr_Adressnummer

 

../.. Name

string

Adr_Name

 

../.. Street

string

Adr_Strasse

 

../.. City

string

Adr_Ort

 

../.. Zip

number

Adr_PLZ

 

../.. Email

string

Adr_EMail

 

../.. NotifyByTelephone

boolean

Adr_AvisierungsKanal + Adr_LieferAvisierung

is calculated: notify is set and type is telephone

 

 

 

 

.. Receipt

object

 

 

../.. Id

number

Bel_ID

 

../.. number

number

Bel_BelegNr

 

../.. Remarks

string

Bel_Hinweis

 

../.. Type

string

Bel_Belegtyp

description from document type

../.. Weight

number

calculated

aggregated from Artikelposition.Artikel.Gewichtsanteil

../.. ValueOfGoods

number

Bel_ArtikelTotal

 

../.. TotalWithDiscount

number

Bel_GesamtMitSkonto

 

 

 

 

 

../.. Contact

object

 

 

../../.. FirstName

string

KP_Vorname

 

../../.. LastName

string

KP_Name

 

../../.. Telephone

string

KP_Tel

 

../../.. Mobile

string

KP_Natel

 

../../.. Email

string

KP_EMail

 

 

 

 

 

../.. Positions

array

 

 

../../.. Id

number

BelPos_Id

 

../../.. PositionOnReceipt

number

BelPos_Position

sequence of positions

../../.. ArticleId

number

BelPos_ArtikelID

 

../../.. ArticleNumber

number

Art_Artikelnummer

 

../../.. Description

string

Art_Bezeichnung

 

../../.. Quantity

number

BelPos_MengeGG

 

../../.. QuantityPackage

number

Gross_EinhProGG

 

../../.. Filling

string

Abf_Suchbegriff

 

../../.. Package

string

Gross_Suchbegriff

 

 

 

 

 

../.. Packages

array

 

 

../../.. Id

number

GebPos_ArtikelID

 

../../.. Number

number

Art_Artikelnummer

 

../../.. QuantityDelivered

number

GebPos_Geliefert

 

../../.. QuantityReturned

number

GebPos_Retour

 

[  {    "Id": 1,    "TourId": 5,    "VehicleId": 1,    "DriverId": 12,    "State": "Fixed", "Date": "2024-10-13T00:00:00", "Timing": "Morning",    "Stations": [      {        "Position": 1,        "Address": {          "Id": 6656, "Number": 123455,          "Name": "Hotel & Taverne zum alten Löwen",          "Street": "Zugstrasse 9",          "City": "Zürich",          "Zip": 8006,          "Email": "hotel@alten-loewen.ch",          "NotifyByTelephone": true,        },        "Receipt": {          "Id": 1324,          "Number": 1245235,          "Remarks": "Lieferung über den Hinterausgang",          "Type": "Lieferschein",          "Contact": {            "FirstName": "Franz",            "LastName": "Ferdinand",            "Telephone": "+417800000000",            "Mobile": "+417900000000",            "Email": "franz.ferdinand@kuk.at"          },          "Positions": [            {              "Id": 124154,              "PositionOnReceipt": 1,              "ArticleId": 32513245,              "ArticleNumber": 1241242,              "Description": "Moët & Chandon ICE Impérial netto",              "Quantity": 12,              "QuantityPackage": 2,              "Filling": "150cl EW (150cl EW)",              "Package": "6er Kart"            }          ],          "Packages": [            {              "Id": 1234561,              "Number": 1234561,              "QuantityDelivered": 1,              "QuantityReturned": 4            }          ]        }      }    ]  } ]

Deliveries Write

Post on {DeliveryPath}

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

Id

number

Auslieferung_ID

If Id is null a new delivery gets created.

TourId

number

Auslieferung_TourID

 

VehicleId

number

Auslieferung_FahrzeugID

 

DriverId

number

Auslieferung_ChauffeurID

 

State

enum State

Auslieferung_Status

If Status changes to delivered, the receipt get the Delivery state “Delivered”

Date

Date

 Auslieferung_Datum

 

Timing

enum DeliveryDays

 Auslieferung_Zeitpunkt

Morning, afternoon, whole day

 

 

 

 

Stations

array

 

If stations array is empty the delivery gets deleted.

.. Position

number

Station_Position

delivery sequence

 

 

 

 

.. Receipt

object

 

 

../.. Id

number

Bel_ID

 

 

 

 

 

../.. Packages

array

 

incremental

Is used for return of packages.

If Any Packages changes, the receipt get the Delivery state “Delivered - Returns”

If Receipt is posted then it will return an error

../../.. Id

number

GebPos_ArtikelID

 

../../.. QuantityReturned

number

GebPos_Retour

if already exists value gets replaced

[  {    "Id": 1,    "TourId": 5,    "VehicleId": 1,    "DriverId": 12,    "State": "Fixed", "Date": "2024-10-13T00:00:00", "Timing": "Morning",    "Stations": [      {        "Position": 1,        "Receipt": {          "Id": 1324,          "Packages": [            {              "Id": 1234561,              "QuantityReturned": 4            }          ]        }      }    ]  } ]
[  {    "Id": 1,    "TourId": 5,    "VehicleId": 1,    "DriverId": 12,    "State": "Fixed", "Date": "2024-10-13T00:00:00", "Timing": "Morning",    "Stations": [      {        "Position": 1,        "Address": {          "Id": 6656, "Number": 123455,          "Name": "Hotel & Taverne zum alten Löwen",          "Street": "Zugstrasse 9",          "City": "Zürich",          "Zip": 8006,          "Email": "hotel@alten-loewen.ch",          "NotifyByTelephone": true,        },        "Receipt": {          "Id": 1324,          "Number": 1245235,          "Remarks": "Lieferung über den Hinterausgang",          "Type": "Lieferschein",          "Contact": {            "FirstName": "Franz",            "LastName": "Ferdinand",            "Telephone": "+417800000000",            "Mobile": "+417900000000",            "Email": "franz.ferdinand@kuk.at"          },          "Positions": [            {              "Id": 124154,              "PositionOnReceipt": 1,              "ArticleId": 32513245,              "ArticleNumber": 1241242,              "Description": "Moët & Chandon ICE Impérial netto",              "Quantity": 12,              "QuantityPackage": 2,              "Filling": "150cl EW (150cl EW)",              "Package": "6er Kart"            }          ],          "Packages": [            {              "Id": 1234561,              "Number": 1234561,              "QuantityDelivered": 1,              "QuantityReturned": 4            }          ]        }      }    ]  } ]

 

Media

Post on {DeliveryPath}/receipt/{id}/media

Field name

Data type

Field VinX

Notes

Field name

Data type

Field VinX

Notes

data

array string

 

list of pdf or photo encoded as base64

[ "Base64Pdf", "Base64Photo1", "Base64Photo2" ]