I PeakWMS har du mulighed for at lave en integration via vores OpenAPI.
Gennem OpenAPI bestemmer du selv, hvilke felter, der skal opdateres til og fra PeakWMS.
Generer API-Nøgle
For at skabe forbindelse til PeakWMS via OpenAPI, skal du generere en API nøgle gennem PeakWMS.
Det gør du under Indstillinger > Integrationer > Webshop integrationer.
Her vælger du OpenAPI
Det eneste krav der er for oprettelsen af en API-nøgle i PeakWMS er, at du skal angive et navn for integrationen. Navnet bruges internt i PeakWMS.
**billede**
Udover navnet er der en række andre konfigurationer, du kan lave, når du opretter din API nøgle.
Når du gemmer opsætningen, viser PeakWMS dig din API nøgle. Klik på nøglen, for at kopiere den.
Derefter kan du klikke på “Se API dokumentation” for at se den dokumentation, der danner grundlaget for en integration til PeakWMS.
Du finder Swagger-dokumentationen til vores åbne API her: https://api.peakwms.com/api/documentation/index.html
Swagger
Bruger du PeakWMS’ OpenAPI til oprettelse af integration til din webshop, så er det vigtigt, at PeakWMS kender til alle dine produkter og varianter.
Produkter
Produkter og varianter sendes til PeakWMS via dette endpoint i OpenAPI:
Det er ikke nødvendigt for PeakWMS at kende alle felterne på dine produkter. Nogle felter på produktet er optional, men I kan lægge data deri, hvis I ønsker det. I er master på alle felter.
Optional felter kan f.eks. indeholde vægt, farve, brand, mm.
Nye produkter og opdateringer på disse felter skal sendes til PeakWMS.
Mandatory felter
PeakWMS skal som minimum kende nedenstående felter, for at produkterne kan oprettes i PeakWMS.
POST /api/integration/v1/product
{
“ProductId”: “1234”,
“VariantId”: “5678”,
“ItemNumber”: “I-1234”,
“Description”: “Example product”,
“ImagePath”: https://mywebshop.com/images/1234.png,
“Ean”: “978020137962”
}
OBS! Kombinationen af ProductId og VariantId udgør nøglen på et produkt, og her kan jeres egne Id’er benyttes. Variantid kan være null for de produkter der ikke har varianter.
Description, ImagePath og EAN kan ligeledes være NULL, men vi anbefaler at de benyttes.
Sletning af produkter
Har du brug for at slette et produkt, skal dette ske fra jeres side via OpenAPI.
PeakWMS sletter produktet, hvis ikke der har været nogle bevægelser på produktet, efter det blev registreret i PeakWMS. Det vil sige, at ligger der varer på produktet, eller er der ordrer på produktet, så vil det ikke blive slettet i PeakWMS.
Salgsordrer
Salgsordrer sendes også til PeakWMS. Det gøres via dette endpoint:
Nye salgsordrer og opdateringer, skal sendes til PeakWMS. Salgsordrer kan opdateres frem til, at ordren er afsluttet i pakkeprocessen i PeakWMS. I er master på alle felter.
Når der sendes en ordre til PeakWMS via OpenAPI, er nedenstående felter påkrævet:
POST /api/integration/v1/salesOrder
{
“OrderId”: “1234567891000”,
“ForwarderProductId”: “123”,
“OrderNumber”: “9876543210”,
“BillingAddress”:
{
“CustomerName”: “Dr. John Watson”,
“Address1”: “221A Baker Street”,
“PostalCode”: “NW1 6XE”,
“City”: “London”,
“Country”: “GB”
},
“ShippingAddress”:
{
“CustomerName”: “Dr. John Watson”,
“Address1”: “221A Baker Street”,
“PostalCode”: “NW1 6XE”,
“City”: “London”,
“Country”: “GB”
},
“OrderLines”: [
{
“OrderLineId”: “12345678910001”,
“QuantityRequested”: 10,
“ProductId”: “9999”
}
]
}
Forklaring af felter
- Nøglen på en salgsordre er OrderId, og her kan jeres eget OrderId benyttes, og det kan være det samme som orderNumber.
- ForwarderProductId er fragtmetoden
Indkøbsordrer
Ønsker du at gøre brug af indkøbsordrer i PeakWMS, så bruges dette endpoint til at oprette indkøbsordrer:
Nøglen på en indkøbsordre er OrderId. Her kan jeres eget OrderId benyttes. Ligesom på produkter, er der også her nogle felter, der er optional. F.eks. feltet forventet levering mv.
I er master på alle felter, når indkøbsordrer sendes til PeakWMS via OpenAPI.
Nye indkøbsordrer og opdateringer på eksisterende indkøbsordrer, skal sendes til PeakWMS.
Når der sendes indkøbsordrer til PeakWMS via OpenAPI, så har PeakWMS behov for at kende følgende felter:
POST /api/integration/v1/purchaseOrder
{
“OrderId”: “1”,
“OrderNumber”: “PO-1234”,
“VendorName”: “Example Vendor”,
“PurchaseOrderLines”:
[
{
“ProductId”: “P1234”,
“VariantId”: “V1”,
“QuantityRequested”: 25
}
]
}
Sletning af indkøbsordrer
Sletning af indkøbsordrer kan gøres via OpenAPI. Det vil dog ikke være muligt at slette indkøbsordren, hvis varemodtagelse er påbegyndt på den pågældende indkøbsordre.
Webhooks
PeakWMS benytter webhooks til:
- Synkronisering af lagerjusteringer
- Info, om hvad der er varemodtaget på en indkøbsordre
- Hvad der er afsendt på en ordre
- Track&trace mv.
Disse webhooks kan der subscribes på via OpenAPI.
Disse er dokumenteret under WebhookDto i swagger dokumentationen af PeakWMS’ OpenAPI:
Webhooks forsøges afleveret op til 10 gange med et givent interval. Fejler en webhook efter 10 forsøg, så laves der en alarm på beskeden.
Disse webhooks kan betragtes som sikker kommunikation grundet de gentagende forsøg på aflevering. Der er ikke tale om fire-and-forget.