Laravel调用API时POST对象数组出错,请求排查修正
问题排查与修正
你的代码存在三个关键错误,导致请求格式与API要求不匹配:
- 时间格式错误:
shipmentDate字段误用=>代替了时间格式所需的:,这会造成时间格式完全不符合API预期。 - waybills结构错误:API要求
waybills是对象数组,但你直接传递了单个关联数组,需要用[]将其包裹为数组结构。 - declared结构错误:API中
declared同样要求是对象数组,当前代码传递的是单个关联数组,也需要用[]包裹。
修正后的完整代码:
$insert = Http::withHeaders([ 'POSTE_clientID' => '4815fd18-xxxx-xxxx-xxxx-d1a1edbd7a12', 'Authorization' => $auth, ]) ->post('https://apiw.gp.posteitaliane.it/gp/internet/postalandlogistics/parcel/waybill', [ "costCenterCode" => "CDC-00051975", "paperless" => "false", "shipmentDate" => "2024-06-29T08:02:20.986+0000", "waybills" => [ [ "clientReferenceId" => "1404343485", "printFormat" => "A4", "product" => "APT000901", "data" => [ "declared" => [ [ "weight" => "0", "height" => "44", "length" => "30", "width" => "25" ] ] ] ] ] ]) ->json();
内容的提问来源于stack exchange,提问作者giuseppe pesce
相关产品推荐
相关产品推荐

