Я пытаюсь реализовать следующий запрос cURL в php:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: login:password" \
-d '{"phone": "+48667421797", "msg": "Great app! Thank you!"}' \
https://some.endpoint.url
Он отлично работает в консоли, мне также удалось использовать этот запрос в таких инструментах, как почтальон / бессонница.
Но когда я пытаюсь реализовать это в PHP
, вот так:
$fields = [
'phone' => $number,
'msg' => $msg,
];
$data = json_encode($fields);
$headers = [
'Content-Type: application/json',
'Authorization: login:password'
];
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
curl_setopt($ch,CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, config('kajaki.sms_url'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$response = curl_exec($ch);
curl_close($ch);
Я получаю 400: Incorrect schema
, что указывает AFAIK, что запрос не отправляется как действительный запрос JSON.
Что не так? Как правильно отправить этот запрос в формате JSON?
К сожалению, этот API не предоставляет никакой документации.