一部のミドルウェアでフルフィルメント サイクルに取り組み、注文の自動フルフィルメントを開始した後、どの注文にもフルフィルメントに関連付けられたパースペクティブ追跡番号がないことに気付きました。フルフィルメント リクエストを送信する次の PHP コードがあります。
$options = array(CURLOPT_URL => 'https://'.$this->config->item('api_key').':'.$this->config->item('api_pass').'@'.$this->config->item('api_domain').'/admin/orders/'.$order['order_id'].'/fulfillments.json',
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_MAXREDIRS => 3,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_USERAGENT => 'HAC',
CURLOPT_CONNECTTIMEOUT =>30,
CURLOPT_TIMEOUT => 30,
CURLOPT_POSTFIELDS => $fulfill_json
);
if($send == true){
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$response_header = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($response_header == 201){
//success
}else{
//error
}
}
私が送信している $fulfill_json の例を次に示します。
{"fulfilment":{"tracking_number":"1Z6V66666666666666","notify_customer":true,"line_items":[{"id":111111111}]}}
{"fulfilment":{"tracking_number":"1Z6V66666666666666","notify_customer":true,"line_items":[{"id":111111111},{"id":111111111},{"id":111111111}]}}
私には、正しく送信された JSON のように見えますが、他に何か問題があるかどうかはわかりません。