我已经集成了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);
答案 0 :(得分:0)
我找到了解决方法。
此行未正确返回UTC时间。
$estDate = new DateTime( date("Y-m-d h:i:s") , new DateTimeZone('UTC'));
我尝试了在defination和solution链接中找到的另一个链接。
$estDate = new DateTime( gmdate("Y-m-d\T00:00:00\Z") );
解决方案:理想的时间可以是任何时间(调用为我的应用程序设置的API的标准时间为30分钟)。