
Webhooks in the FoodSoul API: the CRM itself notifies your services about new events
Now FoodSoul automatically sends notifications to your systems whenever something happens in the CRM. For example, when a new order arrives, a client makes a payment or receives a refund, or a new guest registers. You only need to specify your service address once, and the data will be immediately sent to your accounting system, your bot, a second CRM, or analytics platform.
Which events you can receive notifications about
- New order with a complete card. Useful for accounting systems, kitchens, and analytics.
- Order status change. Suitable for a bot that informs the client about the order, and for call centers.
- Payment status change, including refunds. Needed for accounting and financial tracking.
- New client and changes to their data. For external CRM and mailing services.
- Accrual, deduction, and expiration of bonuses. For loyalty programs and guest communications.
- New review. For managers and quality control.
- Courier assignment. For logistics and client notifications.
- Stop-list changes. For the website, kitchen, and sales platforms.
- Branch stopped or resumed accepting orders. For operational control and network management.
You choose which events to receive. You can enable only the ones you need, such as “new order” and “payment.” Didn’t find the event you need? Write to us — we’ll be happy to add it.
How to connect
- Enable webhooks for the desired branch — a signature key will be generated automatically.
- Select the events you want to receive notifications about.
- Specify the address of your service where FoodSoul will send the data. Only an HTTPS address is accepted.
- Add the signature key to the service that receives notifications and set up signature verification. If you specified different addresses when creating webhooks, add the key to each service.
- Make sure your service confirms receipt of the notification within 10 seconds, otherwise FoodSoul will resend it.
Set up duplicate checking: the same notification may arrive several times. All duplicates have the same ID (header X-Webhook-ID). Let your service remember the IDs of processed notifications and skip duplicates — this way, a payment won’t be processed twice.
Security: why you need a signature key
FoodSoul signs every notification with a signature key — a set of characters known only to you and us. Your system uses this signature to verify that the notification came from FoodSoul and was not altered in transit.
Anyone can send a request to your service address. For example, a fraudster could send a fake “order paid” notification, and you might hand over an unpaid order.
With a signature, this won’t happen. Your server calculates the signature using the same key and compares it to the one received. If the signatures don’t match, the notification is fake or has been altered.
If something goes wrong
- If your service is temporarily unavailable, FoodSoul will try several more times to deliver the notification within 10 hours. A brief outage or server restart won’t result in lost events.
- If the problem persists, the subscription will be disabled and you’ll receive an email notification so you’re aware of the issue.
- To re-enable the subscription, contact technical support. There you can also request to resend notifications that were not delivered during the outage.
Detailed descriptions of events and data formats can be found in the API documentation.
Sincerely, the FoodSoul team! We work for you!