Shopify订单API调用间隔

时间:2018-11-16 14:58:07

标签: php api shopify

我已经集成了Shopify Order API。 Reference Link

当前基于created_at_min字段提取订单。我每隔10分钟就会调用一次API,就像最后一个API在11:00 AM调用一样,因此下一个API将获取在11:00 AM之后创建的命令,并且脚本将保留当前API调用的时间。

时区也基于shopify时区设置在我的脚本代码中。

  

问题是,如果要在上午11:00创建的订单,而我正在尝试提取在上午11:20之后创建的订单,但仍在上午11:00创建的订单到来。

调用订单API的理想时间间隔应该是什么?

我的代码如下:

    $lastScriptRun = $this->selectLastRun(); // Fetching last run time from database
    // Here creating current time to store in database
    $estDate = new DateTime( date("Y-m-d h:i:s") , new DateTimeZone('UTC'));
    $estDate->setTimezone(new DateTimeZone('US/Pacific'));
    $scriptStart = $estDate->format('c');

    // Fetching orders
    $orders = $shopify->Order->get( array('status' => 'any', 'created_at_min' => $lastScriptRun) );
    ....... // [after some code]
    // Updating last API call time into database
    $this->updateLastRun($scriptStart);

SDK Link

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

此行未正确返回UTC时间。

$estDate = new DateTime( date("Y-m-d h:i:s") , new DateTimeZone('UTC'));

我尝试了在definationsolution链接中找到的另一个链接。

$estDate = new DateTime( gmdate("Y-m-d\T00:00:00\Z") );
  

解决方案:理想的时间可以是任何时间(调用为我的应用程序设置的API的标准时间为30分钟)。