What is a Webhook?
A webhook is a way to get real-time updates from the SalesPlay POS system. It helps your system or app stay updated automatically when something changes in SalesPlay , like when stock levels are updated or a new product is added.
Instead of checking (polling) for updates again and again, webhooks send data to you instantly when something happens.
Benefits of Using Webhooks
Get instant updates when changes happen in SalesPlay
Easy to connect SalesPlay POS with other systems (inventory, ERP, accounting, etc.)
Saves time and improves efficiency
Helps automate your workflow
SalesPlay POS supports webhooks. Developers can use this feature to integrate with external systems and receive real-time event notifications.
What Can Webhooks Do?
SalesPlay webhooks provide real-time notifications for key events in the POS system. You will receive updates when a receipt is created or updated, ensuring all sales records are promptly captured. Notifications are also sent when the stock or inventory of a product is updated, helping you manage inventory levels efficiently. Additionally, you’ll be alerted when a customer is created, edited, or deleted, keeping your customer database accurate. Finally, the system notifies you when a credit note or cash refund is created or updated, allowing you to track returns and refunds with ease.
You can receive notifications when the following events happen:
Event | Description |
inventory_levels.update | Triggered when stock of a product is updated |
products.update | Triggered when a product is created, edited, or deleted |
customers.update | Triggered when a customer is created, edited, or deleted |
receipts.update | Triggered when a receipt is created or updated |
credit_note.update | Triggered when a credit note or cash refund is created or updated |
How to Add a Webhook
You can set up webhooks in two ways:
1. Using API
Use the /webhook endpoint to add webhook via API.
(For developers: visit SalesPlay Developer Portal)
2. Using Web Interface
Each webhook can subscribe to only one event type. (Recommends)
The webhook URL must be unique for each event.( Recommends)
Important:
URL must use http:// or https://
URL must be accessible from the internet
Format must be correct
Webhook Payload Example
When an event happens, SalesPlay will send a POST request to your webhook URL with event data in JSON format.
Example: for inventory_levels.update event
json
CopyEdit
{
"merchant_id": "WFpYWmQwMkJGVWtDT3RHY1NHYjdBT0YzZE5xOD0=",
"type": "inventory_levels.update",
"created_at": "2025-06-30 12:54:31",
"inventory_levels": [
{
"product_id": "QWhxek54UkQ3eTArdml2d1NkSDVnUT09",
"shop_id": "bHF2M2pMakkzTVZ0NFh2SE1WNnNoUT09",
"product_code": "10003",
"in_stock": 10
}
]
}
Test Your Webhook
You can test the webhook during setup:
Use your own server
orUse testing tools like Beeceptor
SalesPlay will send a sample POST request to check if your URL is working.
Timeouts and Retry Rules
Your server must reply with a 2xx status code (e.g. 200 OK)
If the reply is not 2xx, it’s treated as failed
SalesPlay will retry up to 200 times over 48 hours
If still no success, the webhook will be disabled
Learn More
Visit the SalesPlay Developer Portal: https://developer.salesplaypos.com
Adding webhook using web interface: https://cloud.salesplaypos.com/webhooks_setup
Webhook testing - Beeceptor https://beeceptor.com/
REST API Access for Business Integration - https://help.salesplaypos.com/help/rest-api-access-for-integration