GIP¶
POST Upload de GIP-prijslijst vanuit de groothandel naar ZAGIS.
Voor gebruikers van ZAGIS is het mogelijk om via een API vanuit een eigen systeem de GIP-prijslijst vanuit de groothandel te uploaden. Dit is de API-variant van de "GIP toevoegen"-functie in ZAGIS. Een GIP-prijslijst bevat per artikel (Z-Index nummer) één prijs per verpakking, exclusief btw. Een upload kan de bestaande lijst vervangen of er per artikel mee samenvoegen. Dit is een REST-API met één endpoint en één mogelijke actie.
Toegang
Alleen beschikbaar voor gebruikers van ZAGIS.
Endpoint¶
Request body¶
Requests zijn POST-requests met de CSV-inhoud rechtstreeks als body (dus geen
multipart-bestand of JSON). Het CSV-bestand bevat twee kolommen zonder kopregel:
het Z-Index nummer (8 cijfers) en de prijs per verpakking exclusief btw. Zowel
, als ; wordt als scheidingsteken herkend. Voorbeeld:
Authenticatie¶
Deze API maakt gebruik van:
- IP-whitelisting voor beveiliging
- Een API-key voor authenticatie & rate-limiting
- HMAC voor integriteitscontrole
De API-key, IP-whitelisting en HMAC werken identiek aan de ZAGIS Verbruik API.
| Header | Toelichting |
|---|---|
x-zagis-key |
De aan uw organisatie uitgereikte API-key. |
x-zagis-hmac |
Hexadecimaal geëncodeerde SHA-512 HMAC van het request body (de ruwe CSV). |
x-zagis-on-exist |
replace of merge (standaard replace). Bij replace worden eerst alle bestaande GIP-prijzen van uw organisatie verwijderd en daarna de aangeleverde lijst weggeschreven. Bij merge wordt per ZI# de prijs bijgewerkt of toegevoegd; ZI# die al in ZAGIS staan en niet in de upload zitten worden niet gewist. |
content-type |
text/csv |
Request¶
curl -X POST https://demo.zagis.nl/api/zagis/gip \
-H "x-zagis-key: <uw-api-key>" \
-H "x-zagis-hmac: <hmac>" \
-H "x-zagis-on-exist: replace" \
-H "content-type: text/csv" \
--data-binary @gip.csv
Response¶
| Code | Betekenis |
|---|---|
200 |
Correct request. |
Voorbeeld van een response bij een succesvol & correct request:
{
"result": "success", // 'success' of 'error'
"errorMessage": "", // Error message bij fout
"errorCode": 0, // Error code bij fout
"numRowsTotal": 4, // Aantal rijen verwerkt
"numRowsError": 1, // Aantal rijen met een fout, worden niet geïmporteerd
"numRowsWarning": 1, // Aantal rijen met een waarschuwing, worden wel geïmporteerd
"warnings": [ // Array met opgetreden waarschuwingen
{
"line": 2,
"0": [
"Artikel is vervallen."
]
}
],
"errors": [ // Array met opgetreden errors
{
"line": 4,
"0": [
"Onbekend Z-Index nummer: 14321976"
]
}
]
}
Voorbeeld van een response bij een inhoudelijk foutief request:
{
"result": "error",
"errorMessage": "Invalid value for onExist. Allowed [replace, merge]",
"errorCode": 1
}
Aandachtspunten
De HMAC dient over de exacte CSV-bytes van het request body berekend te worden.
Wilt u uw integratie testen? Neem tijdig contact op via info@zagis.nl voor testdata en een API-key.