Webhook
En webhook är ett automatiskt HTTP-anrop som skickar data till ett annat system i samma ögonblick som en viss händelse inträffar.

Vad är en webhook?
En webhook är ett automatiskt HTTP-anrop – vanligtvis ett POST – som ett system skickar till en överenskommen URL i det ögonblick som en viss händelse inträffar. Mottagaren behöver därför inte be om uppgifter löpande; källan skjuter själva informationen när det är något nytt. Det är den största skillnaden mellan en webhook och REST API: ett API kräver att du upprepade gånger hämtar data (polling), medan en webhook levererar data av sig själv så snart händelsen inträffar.
Varför är en webhook viktig?
I en webshop händer det hela tiden saker som andra system måste reagera på direkt: en order skapas, en betalning går igenom, en lagerförändring. Med webhooks behöver du inte polla Shopify varje minut för att upptäcka det – händelsen utlöser handlingen i realtid. Det ger snabbare och mer pålitliga integrationer för t.ex. ERP, lagerhantering, redovisning eller transaktionella e-postmeddelanden, och det minskar onödiga API-anrop och förseningar.
Typiska användningssituationer
- Beställningshantering: skicka nya beställningar till ett affärssystem eller fraktsystem via
orders/create. - Inventering och produkter: synkronisera ändringar med
products/updateellerinventory_levels/update. - Apprensning: rensa upp kunddata när en app avinstalleras via
app/uninstalled. - Meddelanden: utlöser ett e-postmeddelande, ett Slack-meddelande eller en faktura när en betalning är genomförd.
Shopify-perspektiv
I Shopify kan du skapa webhooks i admin under Inställningar → Aviseringar eller via Admin API från en app. Leverans sker som en POST till din HTTPS-slutpunkt – JSON som standard, men XML och kanaler som EventBridge och Pub/Sub stöds också. Verifiera alltid rubriken X-Shopify-Hmac-Sha256 med din apphemlighet så att du vet att samtalet faktiskt kommer från Shopify. Din slutpunkt bör svara snabbt med en 2xx-status (vanligtvis 200); Annars kommer Shopify att försöka igen i upp till 48 timmar och sedan ta bort prenumerationen.