Добрый день,
Мне нужно отправить в
Dadata такой запрос:
curl -X POST \
> -H "Content-Type: application/json" \
> -H "Authorization: Token ${API_KEY}" \
> -H "X-Secret: ${SECRET_KEY}" \
> -d '[ "Срегей владимерович иванов" ]' \
> https://cleaner.dadata.ru/api/v1/clean/name
Подскажите пожалуйста - как отправить в dadata массив в теле запроса?
$name = 'Срегей владимерович иванов'
$data = [$name];
$client = new GuzzleHttp\Client(['headers' => [
'Authorization' => 'Token ' . $key,
'X-Secret' => $secret,
]]);
$response = $client->post($url, $data);
Client error: `POST https://cleaner.dadata.ru/api/v1/clean/name` resulted in a `400 Bad Request` response:
{"timestamp":"2020-11-26T10:41:05.869+0000","status":400,"error":"Bad Request","message":"Required request body is missi (truncated...)
Если меняю:
$data = [$name];
на
$data = [json_encode([$name])];
То ошибка та же.
$data = [$name];
на
$data = json_encode([$name]);
То ошибка ожидаемая:
Argument 2 passed to GuzzleHttp\Client::post() must be of the type array, string given, called in ...