Best Approach for Syncing External Order Status Changes via Veeqo API?

Hi Veeqo Devs,

I’m currently working on a custom integration between Veeqo and our internal order management system. We’d like to sync order status changes (like “shipped”, “cancelled”, or “partially fulfilled”) from our system back to Veeqo in real-time.

I’ve reviewed the API docs, and I see endpoints for updating orders and fulfillment. However, I’m wondering:

  • What’s the best practice for pushing status updates without triggering unwanted emails or automations in Veeqo?

  • Is there a preferred sequence for updating shipments, tracking numbers, and status to avoid conflicts?

  • Should we use webhooks to confirm the update was accepted, or just rely on response codes?

Would really appreciate examples or advice from anyone who’s implemented something similar.

Thanks!
— jhonnmick

Hey @jhonnmick,

I’ll try to answer all of your questions to help you out with your integration:

  1. The status of an order isn’t directly update-able but to move a status between statuses you must make changes outside the order. e.g adding a payment, allocating stock to the order, or creating a shipment. As for triggering automation/emails - you should be able to configure any notifications/rules inside Veeqo to tailor it to your needs, there isn’t anything specifically in the API you need to pass through. If you are referring to a specific automation/email, please let me know so I can advise further.

  2. Generally, no - there is no preferred sequence. But I would advise that when you update through the API, you update all the details you wish to change in one request. This way, if there are any conflicts/automation - all the details you wanted to update would have been updated before any status updates which might block you from making changes.

  3. I suggest relying on the response codes, but also use the response body of the API to verify the status of the Order has changed as you expect. A 200 response just means that the request was successful, not necessarily that the order is now in the state that you expect it to be. For example, adding an allocation to an order may leave it either in a partially fulfilled or completely fulfilled status, both of which would return a 200 response, so it’s important to check the contents of the response body.

If this answered your question(s) please mark this message as a solution so that other developers can use it as a reference. If you are still having trouble then contact Veeqo Support via the support messenger in the Veeqo app or contacting helpme@support.veeqo.com

Hope this helps,
Alex - Veeqo