Admin API och webhooks i praktiken
Integrationer mot Shopify är mestadels två mekanismer: Admin API, som du anropar för att läsa och skriva, och webhooks, som anropar dig när något händer.
Båda är enkla. Det som skiljer en pålitlig integration från en opålitlig är hur du hanterar fallen där de beter sig illa — och det kommer de göra.
De två mekanismerna#
| Admin API | Webhooks | |
|---|---|---|
| Riktning | Du anropar Shopify | Shopify anropar dig |
| Bra för | Läsa tillstånd, skriva ändringar, återfyllningar | Reagera på händelser snabbt |
| Felläge | Hastighetsbegränsningar, versionsändringar | Dubbletter, leverans i oordning, missade händelser |
| Måste hantera | Återförsök och paginering | Idempotens och verifiering |
Regler som gör integrationer pålitliga#
- Verifiera varje webhook-signatur innan du litar på nyttolasten. Overifierade endpoints är en öppen dörr.
- Gör varje hanterare idempotent — samma händelse kommer anlända två gånger så småningom.
- Anta inte ordning. En avbokning kan anlända innan skapandet du väntade på.
- Returnera snabbt och bearbeta asynkront; långsamma endpoints får återförsök och inaktiveras sedan.
- Stäm av dagligen mot API:et. Webhooks missar händelser; en nattlig svepning fångar vad som slank igenom.
Hastighetsbegränsningar är en designinput#
Shopify mäter API-åtkomst. Det är inte ett hinder att kringgå med återförsök; det är en begränsning att designa för. Batchläs, begär endast de fält du behöver, och använd bulkoperationer för återfyllningar istället för att gå igenom varje produkt ett anrop i taget.
Om din integration bara fungerar när inget annat körs, fungerar den inte. Testa den medan en import pågår.
Versionshantering#
API-versioner är daterade och går ut. Lägg uppgraderingen i kalendern snarare än att upptäcka den genom ett fel. En liten integration tar en timme att flytta framåt; en som har hoppat över fyra versioner tar en vecka.
Vanliga frågor
Webhooks eller polling?
Webhooks för snabbhet, en periodisk avstämning för korrekthet. De flesta pålitliga integrationer använder båda.
Hur stoppar jag dubblettbearbetning?
Lagra händelseidentifieraren och ignorera upprepningar. Idempotens är den enskilt mest värdefulla vanan här.
Vad går sönder först vid skala?
Hastighetsbegränsningar, vanligtvis under en återfyllning som går igenom poster en i taget istället för att använda bulkoperationer.
shopify admin apishopify webhooksshopify integrationshopify api hastighetsbegränsningarshopify graphql api