Amazon SP-API 注文明細を取得するには?

ショコラ
ショコラ

Amazon SP-API 注文明細を取得するには?

Orders を GET で呼び出します。
関連ドキュメントは
https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/orders-api-v0-use-case-guide

もっさん先輩
もっさん先輩

2023年10月8日以降の注文情報を取得するプログラムです。

#!/usr/local/bin/php
<?php
// 注文情報を取得する

$access_token   = file_get_contents('access_token');
$Host           = 'sellingpartnerapi-fe.amazon.com';
$CreatedAfter   = '2010-10-08'; // 2023年10月8日以降の注文情報を取得
$MarketplaceIds = 'A1VC38T7YXB528';
$url = "https://{$Host}/orders/v0/orders?MarketplaceIds={$MarketplaceIds}&CreatedAfter={$CreatedAfter}";

$options = array(
  CURLOPT_HTTPGET        => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_URL            => $url,
  CURLOPT_HTTPHEADER     => array(
    "Host: {$Host}",
    "x-amz-access-token: {$access_token}",
  ),
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_SSL_VERIFYHOST => false,
);

$curl = curl_init();
curl_setopt_array($curl,$options);
$resp = curl_exec($curl);
curl_close($curl);
$json = json_decode($resp,true);

mb_convert_variables('EUC-JP','UTF-8',$json);
var_dump($json);

CreatedAfter は ISO8601 の値を渡します。これは9時間引きます。参考に。

$dt = new DateTime();
$dt->modify('-9 hour');
$dt->format('Y-m-d\TH:i:s\Z');

サンドボックス版
https://github.com/amzn/selling-partner-api-models/blob/main/models/orders-api-model/ordersV0.json

#!/usr/local/bin/php
<?php
// 注文情報を取得する(サンドボックス)

$access_token   = file_get_contents('access_token');
$Host           = 'sandbox.sellingpartnerapi-fe.amazon.com';
$CreatedAfter   = 'TEST_CASE_200';
$MarketplaceIds = 'ATVPDKIKX0DER';
$url = "https://{$Host}/orders/v0/orders?MarketplaceIds={$MarketplaceIds}&CreatedAfter={$CreatedAfter}";

$options = array(
  CURLOPT_HTTPGET        => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_URL            => $url,
  CURLOPT_HTTPHEADER     => array(
    "Host: {$Host}",
    "x-amz-access-token: {$access_token}",
  ),
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_SSL_VERIFYHOST => false,
);

$curl = curl_init();
curl_setopt_array($curl,$options);
$resp = curl_exec($curl);
curl_close($curl);
$json = json_decode($resp,true);

mb_convert_variables('EUC-JP','UTF-8',$json);
var_dump($json);

以上

Scroll to Top