Задать вопрос
@artem14394609

Как получить ответ json?

Добрый вечер! Пробую сделать авторизацию по звонку от сервиса смс ру, код взял из их документации
$ch = curl_init("https://sms.ru/code/call");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
    "phone" => $phone, // номер телефона пользователя
    "ip" => $_SERVER["REMOTE_ADDR"], // ip адрес пользователя
    "api_id" => $key
)));
$body = curl_exec($ch);
curl_close($ch);

$json = json_decode($body);
if ($json) { // Получен ответ от сервера

    print_r($json); // Для дебага
    if ($json->status == "OK") { // Запрос выполнился
        echo "Звонок выполняется. ";
        echo "Четырехзначный код (последние 4 цифры номера, с которого мы позвоним пользователю): ".$json->code.". ";
        echo "ID звонка: ".$json->call_id.". ";
        echo "Стоимость звонка: ".$json->cost." руб. ";
        echo "Ваш баланс после звонка: ".$json->balance." руб. ";
        echo "";
    } else { // Ошибка в запросе
        echo "Звонок не может быть выполнен. ";
        echo "Текст ошибки: ".$data->status_text.". ";
        echo "";
    }

} else { 
    echo "Запрос не выполнился. Не удалось установить связь с сервером. ";
}

Звонок проходит, но ответ json с ошибкой, как это исправить.
637a79a38f71b371480319.jpeg

как я понял, приходит не json в ответе. Как можно получить код?
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
См. содержимое переменной $body, и статус запроса из curl_getinfo($ch).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы