# Shopify Integration Developers UK

Source: https://dijituldevelopments.co.uk/shopify-integration/
Updated: 2026-10-10

> dijitul developments builds Shopify integrations for UK businesses, connecting stores to ERP, warehouse, accounts, CRM and in-house systems through the Shopify Admin GraphQL API and webhooks. Orders, stock, products, prices and customers move automatically and reliably. We build custom apps you own, and every project is a fixed-price quote after a free chat.

## Problems this solves

- Shopify orders are copied into your ERP or accounts by hand
- Stock on Shopify drifts from the warehouse and you oversell
- Your old private app still uses the REST API and you're worried about deprecations
- Several apps each do half the job and fight over the same product fields
- B2B customers need prices and terms Shopify doesn't hold on its own
- Monthly app fees keep rising with order volume

## Key facts

- Shopify made the REST Admin API legacy on 1 October 2024; from 1 April 2025 new public apps must use the GraphQL Admin API (Shopify developer changelog)
- We build integrations on the GraphQL Admin API, using bulk operations for large exports and imports
- GraphQL calls are rate limited by calculated query cost, so queries are designed to request only the fields needed
- Webhooks are verified with the X-Shopify-Hmac-Sha256 header before anything is processed
- Custom apps are installed on your store only, with the narrowest access scopes that do the job
- Existing REST-based integrations can be migrated to GraphQL
- You own the app code and can move it to another developer at any time

## When Shopify needs to talk to everything else

Shopify is excellent at selling. It's not your stock system, your accounts package or your CRM, and the real work of running the business happens there. If staff are exporting orders as CSVs, adjusting stock by hand, or running three apps that each half-solve the problem, a proper integration usually pays for itself in time saved and mistakes avoided.

We build a custom app for your store that listens for events, transforms data into the shape your other systems expect, and writes back what Shopify needs to know. It runs on your hosting or ours, and you own the code. If you're building or rebuilding the store itself, that's [Shopify development](https://dijituldevelopments.co.uk/shopify-development/).

## Built on the GraphQL Admin API

Shopify's developer changelog records that the REST Admin API became legacy on 1 October 2024, and that from 1 April 2025 new public apps submitted to the App Store must use GraphQL only. Existing custom apps on REST still work for now, but new features arrive in GraphQL first, and some only exist there. We build new integrations on the GraphQL Admin API and can migrate older REST integrations.

- **Query cost:** GraphQL rate limiting is based on calculated query cost, with a bucket that refills at a rate depending on your plan. We request only the fields we need and read the `throttleStatus` returned with each response to pace calls.
- **Bulk operations:** for exporting every order or importing thousands of products, we use bulk queries and bulk mutations that run asynchronously, rather than paging through tens of thousands of requests.
- **Versioning:** Shopify releases a new API version quarterly. We pin a version and plan upgrades before the old one is retired.

## Webhooks done properly

Shopify pushes events such as `orders/create`, `orders/paid`, `refunds/create` and `inventory_levels/update` as webhooks. Each one is signed: we compute an HMAC-SHA256 of the raw body with your app's secret and compare it to the `X-Shopify-Hmac-Sha256` header before trusting it. Then we acknowledge quickly and process on a queue, because Shopify expects a fast response and will retry failed deliveries. Webhooks can arrive more than once or out of order, so processing is idempotent and we reconcile periodically to catch anything missed. More on this in [webhook development](https://dijituldevelopments.co.uk/webhook-development/).

## Common Shopify integrations we build

- **Shopify to ERP or WMS:** paid orders exported with SKUs, VAT, shipping and payment data; fulfilments and tracking sent back.
- **Stock by location:** inventory levels set per Shopify location from your warehouse figures, with buffers for fast sellers.
- **Shopify to accounts:** orders, refunds and payouts posted to Xero, QuickBooks or Sage so the books reconcile. We've done this since our KashFlow and OpenCart integration, which created invoices on payment and credit notes for cancellations.
- **Product data:** descriptions, attributes and images loaded from a PIM or supplier feed into products, variants and metafields.
- **B2B and trade:** customer-specific prices, company accounts and payment terms pulled from your ERP.

For wider back-office patterns see [ecommerce and ERP integration](https://dijituldevelopments.co.uk/ecommerce-erp-integration/).

## Moving an older integration off REST

If your store relies on a private app or script written against the REST Admin API, it probably still works today, but it's on borrowed time. Migration is mostly methodical:

- List every REST endpoint the code calls and every webhook it subscribes to.
- Map each one to its GraphQL query or mutation. Some map one-to-one; products and variants changed more, and Shopify's newer product model is managed through GraphQL mutations such as `productSet`.
- Switch IDs to GraphQL global IDs (for example `gid://shopify/Product/123`) and store both forms during the transition if other systems hold the old numeric IDs.
- Replace paginated bulk reads with bulk operations.
- Test against a development store with a copy of your catalogue, then run old and new in parallel before switching over.

We quote the migration as its own fixed-price piece of work, separate from any new features.

## Scoping and handover

We start by listing every flow, which system owns each field and what should happen on failure. You get a fixed-price quote for that scope. At handover you receive the code, deployment notes, the list of access scopes and why each is needed, and a dashboard showing processed and failed messages. [Get in touch](https://dijituldevelopments.co.uk/contact/) for a free chat.

## What we deliver

- Custom Shopify app with OAuth or store-specific credentials and minimal scopes
- Order, refund and fulfilment sync with your ERP, WMS or accounts package
- Inventory sync by location, using inventory item and location IDs
- Product and variant import using bulk mutations and metafields
- Webhook receiver with HMAC verification, queueing and retries
- Migration of REST Admin API integrations to GraphQL
- Error dashboard and alerts your team can check

Technologies: Shopify Admin GraphQL API, Shopify webhooks, Shopify bulk operations, Node.js, TypeScript, Laravel, Redis

## FAQs

### Is Shopify's REST API being switched off?

Shopify made the REST Admin API legacy in October 2024 and requires new public apps to use GraphQL from April 2025. Existing custom apps can still call REST, but new features land in GraphQL. dijitul builds new integrations on GraphQL and migrates older ones.

### Do we need a public Shopify App Store app?

Usually not. For a single business, dijitul builds a custom app installed only on your store. It doesn't go through App Store review and only you can use it. Public apps make sense if you plan to sell the integration to other merchants.

### Can you sync Shopify stock with our warehouse in real time?

Close to it. If your warehouse system can send change events, stock can update within seconds. Otherwise we run frequent delta syncs. Either way we write to the correct Shopify location and can hold back a buffer on fast-moving lines.

### How do you handle Shopify API rate limits?

We design queries to request only the fields we need, read the cost and throttle status Shopify returns, and slow down before hitting the limit. Large jobs use bulk operations, which run asynchronously and avoid the per-request limits altogether.

### Can you replace several paid Shopify apps with one integration?

Sometimes. If you're paying for multiple apps that each move part of the same data, a single custom integration can be simpler and cheaper to run. dijitul will compare the options honestly before quoting.

### Who owns the custom app?

You do. dijitul hands over the source code, credentials and deployment notes, so you can host it where you like, keep it running on your own infrastructure, and use another developer in future if you choose.

## Pricing and contact

Every project gets a fixed-price quote after a free initial chat and a short scoping stage. You own the code and the data. Book a free chat: https://dijituldevelopments.co.uk/contact/ · 01623 650333 · info@dijitul.uk
