Re: Order updated events within the same timestamp

Order updated events within the same timestamp

Mads-Storebuddy
Shopify Partner
3 0 1

Hi all

We are trying to strengthen our webhook receiver and reconciliation jobs. The json object below show a list of events from an order we have processed. Examine the created_at timestamps show that 3 events was triggered within the same timestamp.
I assume that 3 webhooks are fired on topic orders/updated and the order updated_at timestamp is 2022-04-26T11:10:57+02:00 after the 3 events.

In the case where the first, of the 3, orders/updated hooks fails on our side, and retried by shopify. How can we make sure that we have the latest event, since comparing the order updated_at timestamp would properly be the same for all 3 events?

We are facing a similar issue with our reconciliation job, since we are comparing the order updated_at timestamp. as an example, if we received the first and second hooks from the example sequence below, the reconciliation job would compare updated_at timestamp and skip the rescue! How can we overcome this, without sync all orders in our reconciliation jobs?

We run the reconciliation jobs once a day and sync all orders by that job is not possible within the rate limit of 2 calls/sec for the REST API.

Thanks in advance

Mads

 

{
  "events": [
    {...},
    {
      "id": 90448362045627,
      "subject_id": 1000,
      "created_at": "2022-04-26T11:10:53+02:00",
      "subject_type": "Order",
      "verb": "fulfillment_success",
      "arguments": [
      ],
      "body": null,
      "message": "CoolRunner fulfilled 1 item ",
      "author": "CoolRunner",
      "description": "CoolRunner fulfilled 1 item ",
      "path": "/admin/orders/1000/fulfillments/3862202974395"
    },
    {
      "id": 90448362275003,
      "subject_id": 1000,
      "created_at": "2022-04-26T11:10:54+02:00",
      "subject_type": "Order",
      "verb": "mail_sent",
      "arguments": [
      ],
      "body": null,
      "message": "CoolRunner sent a shipping confirmation email ",
      "author": "CoolRunner",
      "description": "CoolRunner sent a shipping confirmation email",
      "path": "/admin/orders/1000"
    },
    {
      "id": 90448363258043,
      "subject_id": 1000,
      "created_at": "2022-04-26T11:10:57+02:00",
      "subject_type": "Order",
      "verb": "capture_success",
      "arguments": [
      ],
      "body": null,
      "message": "CoolRunner captured €99.00 EUR using a Mastercard ",
      "author": "CoolRunner",
      "description": "CoolRunner captured €99.00 EUR using a Mastercard ",
      "path": "/admin/orders/1000/transactions/5355897323707"
    },
    {
      "id": 90448363389115,
      "subject_id": 1000,
      "created_at": "2022-04-26T11:10:57+02:00",
      "subject_type": "Order",
      "verb": "payments_charge",
      "arguments": [
      ],
      "body": null,
      "message": "-",
      "author": "CoolRunner",
      "description": "-",
      "path": "/admin/orders/1000"
    },
    {
      "id": 90448363421883,
      "subject_id": 1000,
      "created_at": "2022-04-26T11:10:57+02:00",
      "subject_type": "Order",
      "verb": "closed",
      "arguments": [],
      "body": null,
      "message": "This order was archived.",
      "author": "Shopify",
      "description": "This order was archived.",
      "path": "/admin/orders/1000"
    }
  ]
}

 

Reply 1 (1)

ftballguy45
Shopify Partner
32 0 11

Anything from Shopify team? This is a good question. I'm in a similar situation and wondering the same thing