【问题标题】:How to Create Shopify Order Via Api using Php?如何使用 PHP 通过 Api 创建 Shopify 订单?
【发布时间】:2021-01-13 15:04:51
【问题描述】:

我正在尝试使用 Api 创建 Shopify 订单,这是我的代码:

            $arrOrder= array(
              "email"=> "foo@example.com",
              "fulfillment_status"=> "fulfilled",
              "send_receipt"=> true,
              "send_fulfillment_receipt"=> true,
              "line_items"=> array(
                array(
                  "product_id"=>875744960642,
                  "variant_id"=> 3558448932592,
                  "quantity"=> 1
                )
            ),
                "customer"=> array(
                  "id"=> 458297751235
                ),
                "financial_status"=> "pending"
              
            
            );            echo json_encode($arrOrder);
            echo "<br />";
            $url = "https://AkiKey:Password@Store.myshopify.com/admin/api/2021-01/orders.json";
            
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_VERBOSE, 0);
            curl_setopt($curl, CURLOPT_HEADER, 1);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($arrOrder));
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            $response = curl_exec($curl);
            curl_close($curl);
            echo "<pre>";
            print_r($response);
响应是: {"errors":{"order":"必填参数缺失或无效"}}

【问题讨论】:

  • 嗨,Kario,欢迎来到 SO。我试图更新您的问题,但其中的代码太多。为了帮助我们了解您的问题,请使用 mkd code higlight (php $my code ) 并将代码限制在有用的最小值

标签: php api shopify


【解决方案1】:

我认为使用 API 调用发送的一些数据不匹配,根据文档创建订单的格式。

所以我认为您的请求类似于这个演示代码

$arrOrder= [
   "order" =>[
      "email"                    => "foo@example.com",
      "fulfillment_status"       => "fulfilled",
      "send_receipt"             => true,
      "send_fulfillment_receipt" => true,
      "line_items" => [
         [
            "product_id" => 875744960642,
            "variant_id" => 3558448932592,
            "quantity"   => 1
         ]
      ],
      "customer" => [
                     "id"=> 458297751235
                ],
      "financial_status"=> "pending"
   ]
];

【讨论】:

  • 很高兴知道它对您有帮助,请接受此作为您问题的答案。谢谢
猜你喜欢
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多