MovingChecked against the product on
Connect your systems to Moving POS with API keys and webhooks
Create an API key that reads your restaurant's orders, branches and menu with the permissions you choose, add a webhook endpoint that receives the restaurant's events signed, and follow every delivery and retry it.
On this page
Before you start
- The Moving team has switched on API access for your account.
- You hold the Manage API keys & webhooks permission, given to the Admin role by default.
The Integrations screen in the back office holds the API keys for outside systems, the endpoints the restaurant's events go to, and the log of deliveries. A key can never do more than the person who minted it. The same screen has an Online store tab for linking Moving Stores; see Link your restaurant's store to Moving POS.
Create an API key
Step 1: From the sidebar, open System › Integrations.
The API keys tab opens.
Screenshot being updatedA capture from Moving POS in the new Moving look appears here as soon as it ships.Fig. 1 —The list shows each key's fingerprint only, never the key itself. Step 2: Click New key and enter the Name.
Say who the key is for. The name shows in the list and in the audit trail.
Step 3: Tick the Scopes.
Tick at least one. Only the permissions you hold yourself are listed.
Step 4: Pin the key to a branch and set its expiry, if you like.
Pick a branch under Pin to one branch, or leave Every branch the owner can see. The key stops at the end of the Expires day; leave it empty for No expiry.
Step 5: Copy the key from Copy this key now.
Click Copy, then I have stored it. This is the only time it is shown, and nobody, support included, can recover it.
A key is Live, Expired or Revoked, with its Last used date. Revoke, with Why (optional), stops the key from its very next request. The key is checked on every request against its owner's current permissions, so taking a permission away from the owner narrows the key at once.
What a key reads
| Data | Permission needed |
|---|---|
| Orders and each order's details, filtered by period, branch and status | View reports |
| Branches | View reports |
| Menu and catalogue | Manage menu & catalog |
- Send the key in the
Authorization: Bearerheader. The limit is 600 requests a minute per key. - Creating and cancelling orders is open only to the linked Moving Stores store, so no other system can send orders to the till.
- There is no published API reference page. Message us for the technical details.
Add a webhook endpoint
Step 1: Open the Webhooks tab and click New endpoint.
Step 2: Enter the Name and URL, and tick the Events.
The URL is where events are sent, starting with
https://orhttp://. Tick at least one event, leave Active ticked, then save.Step 3: Copy the signing secret from Copy this signing secret now.
It is shown once, and your receiver uses it to check that each delivery came from your restaurant.
| Event | When it is sent |
|---|---|
Order created order.created | A new order from the till or the ordering site, without guest details. |
Order completed order.completed | When the order is served or delivered. |
Online order status changed order.status_changed | Online orders only, once per status. |
Cash day closed day.closed | When a business day is closed, with the closing report's totals. |
Ingredient running low stock.low | Once each time an ingredient drops below its threshold. |
Events carry no names and no customer contact details; they are built on identifiers and quantities. Each delivery is signed with HMAC-SHA256 over the message body with the signing secret, and carries an event id that stays the same on every attempt so your receiver can ignore repeats. New signing secret replaces the secret, and your receiver rejects every delivery until it is given the new one. Deleting an endpoint deletes its delivery history; switch it off instead to keep the history.
Follow deliveries
- The Deliveries tab shows the Event, Destination, Attempts, Last result and Next attempt, with the status Waiting, Delivered or Gave up.
- A failed delivery is retried by itself up to 6 attempts: after 30 seconds, then 1 minute, then 2, 4 and 8 minutes, with a 10-second timeout per attempt. It is retried on a network error, a timeout and
5xx,408and429replies; any other4xxreply stops it on the first attempt. - A delivery that has given up isn't retried by itself. Choose Show only the ones that gave up, fix the receiver, then click Retry.
Can I send orders to the till from my system?
No. Keys here are for reading and events; creating orders is open only to the linked Moving Stores store.
I lost the key. Can I see it again?
No. Create a new key and revoke the old one.
Are these the same keys as Moving Stores'?
No. Moving Stores has its own keys and webhooks; see Connect your systems with API keys and webhooks.