NiblahVerified
ResourcesE-commerceShopify API

Zo krijg je een permanente Shopify Admin API key (lang‑levende access token)

In deze guide laat ik je zien hoe je snel een lang‑levende (offline) Shopify Admin API access token krijgt voor je store. Dit wordt vaak een “permanente Shopify API key” genoemd, maar technisch gezien is het een access token (meestal beginnend met shpat_).

Wat je krijgt

  • Een lang‑levende Admin API access token (offline token)
  • Exact de scopes die je hebt goedgekeurd (least privilege)

Belangrijk: “Permanent” betekent dat er geen verloopdatum is. De token kan wel worden ingetrokken (app verwijderen, credentials roteren of scopes wijzigen). Behandel dit als een wachtwoord.

Benodigdheden

  • Een Shopify Partners account (om een app te maken)
  • Een store om de app op te installeren (dev store is ideaal)
  • Postman (of een andere HTTP client)
  • Een webhook.site URL (als snelle redirect URI om de code te vangen)

Stap-voor-stap (handmatige OAuth)

1) App maken + scopes kiezen

Maak in je Shopify Partners dashboard een app aan en kies alleen de scopes die je echt nodig hebt (bijvoorbeeld read_products, write_products).

2) Redirect URI instellen (webhook.site)

Open webhook.site, kopieer je unieke URL en zet die bij de Redirect URLs van je app.

De redirect URI moet exact matchen met de authorize URL die je straks bouwt.

3) Release en installeer de app

Release de app zodat je hem kunt installeren. Installeer hem daarna op je store. Kopieer daarna uit de app instellingen:

  • Client ID
  • Client secret

4) Authorize URL maken

Gebruik je store domein (het deel vóór .myshopify.com) en bouw deze URL:

Authorize URL template
https://{shop}.myshopify.com/admin/oauth/authorize?client_id={client_id}&scope={scopes}&redirect_uri={redirect_uri}&state={random_string}
  • {shop}: bijvoorbeeld jouw-store
  • {scopes}: komma-gescheiden, bijvoorbeeld read_products,write_products
  • {redirect_uri}: je webhook.site URL (URL-encode indien nodig)
  • state: willekeurige waarde (aanrader; echte apps moeten dit valideren)

Tip: Voor een lang‑levende offline token: vraag geen per‑user token aan. In praktijk: voeg geen grant_options[]=per-user toe.

5) Toegang goedkeuren en code kopiëren

Open de authorize URL in je browser en keur de scopes goed. Shopify redirect naar webhook.site. Kopieer in de query string de waarde van code.

6) Code omwisselen voor access token (Postman)

Maak een POST request in Postman:

Access token endpoint
https://{shop}.myshopify.com/admin/oauth/access_token

Body → x-www-form-urlencoded:

Form velden (x-www-form-urlencoded)
client_id:     {client_id}
client_secret: {client_secret}
code:          {code_van_webhook_site}

Verstuur het request. In de response staan access_token en scope. Bewaar de access_token veilig.

Token testen

Gebruik je token in REST of GraphQL (vervang {api_version} door de versie die je gebruikt):

REST

REST request
GET https://{shop}.myshopify.com/admin/api/{api_version}/products.json
X-Shopify-Access-Token: {access_token}

GraphQL

GraphQL request
POST https://{shop}.myshopify.com/admin/api/{api_version}/graphql.json
Content-Type: application/json
X-Shopify-Access-Token: {access_token}

{"query":"{ shop { name } }"}

Problemen oplossen

  • redirect_uri mismatch: zorg dat de redirect URI identiek is (en URL-encoded indien nodig).
  • invalid_scope: scopes moeten valide zijn en komma-gescheiden; na scope-wijziging opnieuw autoriseren.
  • invalid code: een code kun je maar 1x omwisselen; start opnieuw vanaf de authorize URL.
  • 401/403 bij API calls: token ingetrokken, app gedeïnstalleerd of scopes missen.

Security checklist

  • Commit nooit je token of client secret naar git.
  • Gebruik zo min mogelijk scopes.
  • Als je scopes wijzigt: opnieuw autoriseren en een nieuwe token maken.
  • Voor productie: valideer de state parameter en gebruik een redirect URI die je zelf beheert (webhook.site is voor snelle tests).

Gerelateerd

Albin Hot

Wil je hulp met implementatie?

Als je Shopify API’s wil koppelen aan je tools of workflows, kan ik je helpen met setup en automatisering.

Klaar om te starten?

Vul het formulier in en we nemen zo snel mogelijk contact met je op

Zo krijg je een permanente Shopify Admin API key (lang‑levende access token) | Resources | Niblah