Shopify er det nemmeste sted at starte. Det er også det sted, hvor integrationen har flest gotchas du ikke stoeder på, foer du er i produktion. Custom shipping-metoder, leveringsmetode-mapping, HMAC-validering, fulfillment-flow, det er detaljer, der sender dit system i groeften, hvis du ikke kender dem.

Her er det du rent faktisk skal vide, inklusive de fejl der koster mest når de opdages i produktion.

Hvad er Shopify-integration med WMS?

Shopify-WMS-integration er en tovejsforbindelse:

  • Shopify til WMS: Ordrer, kundeoplysninger, valgt fragtmetode, betalingsstatus
  • WMS til Shopify: Fulfillment-bekraeftelse med tracking-nummer, lagertals-opdatering, evt. ordreannullering

Integrationen bruger to mekanismer: Webhooks (push, Shopify sender ordre-events til WMS i realtid) og REST API (pull, WMS henter periodisk ordrer og opdaterer lager).

Opsætning trin for trin

👉 SmartPack har praekonfigureret Shopify-integration klar til opsætning på minutter. Book demo

Trin 1: Opret Custom App i Shopify

I Shopify Admin, Apps, App and sales channel settings, Develop apps: Opret ny custom app og tildel scopes: read_orders, write_fulfillments, read_inventory, write_inventory. Generer API-nogler: Admin API access token bruges som AccessToken.

Trin 2: Konfigurer webhooks

Registrer webhooks for relevante events: orders/create, orders/cancelled, orders/updated, app/uninstalled. Endpoint skal være HTTPS. Test webhook-levering via Shopify Admin: Send test notification.

Trin 3: HMAC-validering i WMS

Shopify webhook-secret genereres i app-konfigurationen. WMS skal validere hvert indkommende webhook: computed = Base64(HMAC-SHA256(raw_body, webhook_secret)). Hvis computed ikke matcher request-headeren X-Shopify-Hmac-Sha256, returner 401. Aldrig skip denne validering i produktion.

Trin 4: Leveringsmetode-mapping

Dette er den mest oversete gotcha i Shopify-integration. Shopify bruger interne nogler til at identificere leveringsmetoder. Custom shipping rates refereres med praefikset shopify_custom_dk som leveringsmetode-identifikator.

Fejl i denne mapping resulterer i: forkert fragtprodukt bestilles, fulfillment kan ikke oprettes (fragtprofil matcher ikke), og ordren strander i WMS. Verificer præcist, hvilken nogle Shopify sender i shipping_lines[0].code i webhook-payloaden.

Trin 5: Fulfillment-endpoint

WMS sender fulfillment til Shopify ved afsendelse via POST /admin/api/2024-01/orders/{id}/fulfillments.json med location_id, tracking_number, tracking_company og notify_customer: true. location_id skal matche Shopify-lagerlokationen.

Trin 6: Lageropdatering

Lagertal sendes til Shopify via inventory levels API: POST /admin/api/2024-01/inventory_levels/set.json med location_id, inventory_item_id og available. inventory_item_id er Shopifys interne ID for varen, ikke dit varenummer.

Hvad koster forkert Shopify-mapping?

FejltypeTotal årlig
Leveringsmetode-mapping fejl2.281.250 kr./aar
location_id mangler (total stop)10.000 kr. per episode
HMAC-validering skippet96.000 kr./aar
Webhook-tab uden retry12.605.625 kr./aar

Det opdager de fleste for sent

  • At shopify_custom_dk IKKE er en fejl: Det er Shopifys interne reference for custom shipping rates. Mange tror det er en bug. Resultatet: mapping fejler, ordrer strander.
  • At location_id ændrer sig når du flytter fra staging til produktion: Du hardkoder location_id fra test-shop. Går live. Alle fulfillments fejler med "location not found".
  • At Shopify API-versioner udfases efter 12 maaneder: Integrationen bryder når Shopify udfaser versionen. Det opdages når ordrer ikke længere importeres.

Typiske fejl

  • Custom shipping-metode matcher ikke i WMS: Shopify custom shipping-metoder bruger interne identifikatorer der skal konfigureres eksplicit og testes.
  • location_id mangler eller er forkert ved fulfillment: Hent altid location_id dynamisk eller konfigurer det eksplicit pr. installation.
  • API-version ikke specificeret: Shopify APIer versioneres. Bruger du ikke versioneret endpoint, kan breaking changes ramme din integration uden varsel.

Sådan gør du det rigtigt

  1. Brug Shopifys sandbox: Test altid ny opsætning i en development store inden produktion.
  2. Abonner på Shopify changelog: Shopify udfaser API-versioner hvert år. Hold styr på deprecation-datoer.
  3. Implementer order reconciliation: Koer daglig sammenligning: har alle Shopify-ordrer fra i går en tilsvarende WMS-ordre?

SmartPack

SmartPack har praekonfigureret Shopify-integration med webhook-modtagelse, HMAC-validering, automatisk fulfillment og lageropdatering. Leveringsmetode-mapping konfigureres i SmartPack admin panel, inklusive håndtering af custom shipping-metoder (shopify_custom_dk til Pickup er praekonfigureret). Alle Shopify API-kald bruger versionerede endpoints og opdateres automatisk ved Shopify API-udfasninger.