Partners connect to vGrubs using one of two approaches depending on whether they have an internal store ID system. Both options are supported - use whichever fits your setup.
However a store is connected - through either option or from the vGrubs dashboard - vGrubs responds first and sends the working hours, closing days and menu webhooks about 2 seconds later. That gives you time to save the store on your side before the webhooks arrive.
If you still do not receive them, call Sync Schedule (POST /partner/sync-schedule/{webhookPath}) for the working hours and closing days, and Publish Menu (POST /partner/publish-menu/{webhookPath}) for the menu.
Validation via Partner's Store ID
vGrubs calls you
POST{your_base_url}/merchants/validate
Use this option if your system has internal store IDs. vGrubs calls your endpoint once during integration setup to confirm the merchant exists and is active on your platform.
Always respond with HTTP 200. Use the valid field to communicate the outcome - not the HTTP status code.
If your system does not have internal store IDs, switch to Option B above: you call vGrubs with the vGrubs store ID to establish the connection.
Request body
merchant_idstringrequired
The partner's store ID.
Responses
200OK
validboolean
true if the merchant exists and is active, false otherwise.