【发布时间】:2018-11-26 15:06:39
【问题描述】:
我想向这个 API“https://invoicexpress.com/api/invoices/create”发出一个 post 请求来创建一个新的客户端。
在那个文档页面中说必填字段是:日期、到期日期、客户和项目。
我有下面的代码,但我得到一个错误:
Client error: POST https://nametest.app.invoicexpress.com/invoices.xml?api_key=...
resulted in a `422 Unprocessable Entity` response:
<?xml version="1.0" encoding="UTF-8"?> <errors> <error>
Expected <invoice></error> </errors>
你知道为什么会出现这个错误吗?
代码:
public function createClient(){
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://nametest.app.invoicexpress.com/invoices.xml', [
'query' => ['api_key' => '...'],
'date' => date('Y-m-d H:i:s'),
'due_date' => date('Y-m-d H:i:s'),
'client' => 'John',
'code' => '',
'items' => [
'item' => [
'name' => 'item1',
'description' => 'item1 desc',
'unit_price' => '10',
'quantity' => '1'
],
'item' => [
'name' => 'item2',
'description' => 'item2 des',
'unit_price' => '10',
'quantity' => '1'
]
]
]);
dd($response->getStatusCode());
}
【问题讨论】:
-
您发送的不是正文,正文应为xml格式。 stackoverflow.com/questions/34726530/…