0
Not a bug

Подсказки. Ошибка в ответе REST {"family":"CLIENT_ERROR","reason":"Bad Request","message":"Unexpected character

Anonymous 3 years ago • updated 3 years ago 4

Код PHP


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['query' => 'Москва, пр.Ленина 41', 'count' => 1]);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: Token 813306245f7e70e0c6****************';

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$server_output = curl_exec ($ch);

CURL возвращает ошибку


{"family":"CLIENT_ERROR","reason":"Bad Request","message":"Unexpected character ('-' (code 45)) in numeric value: expected digit (0-9) to follow minus sign, for valid numeric value\n at [Source: org.apache.cxf.transport.http.AbstractHTTPDestination$1@448ad100; line: 1, column: 3]"}


помогите

Answer

Answer
Not a bug

Дело в том, что Подсказки не предназначены для парсинга адресов. Их задача – облегчить пользователю ввод данных, но не работа с существующими данными.

Для вашей задачи идеально подойдет API Стандартизации. Есть удобное готовое решение для PHP.

Under review

Уточните, пожалуйста – а зачем вам php-реализация Подсказок? Ведь есть удобный jQuery-плагин, в нем уже все готово для использования и удобной интеграции.

мне нужен ваш сервис на бэкенде, для расшифровывания адресов, получения типов строений и индексов, районов

просто уже пользуюсь вашим сервисом на фронтенде, решил всё брать в одном месте

Answer
Not a bug

Дело в том, что Подсказки не предназначены для парсинга адресов. Их задача – облегчить пользователю ввод данных, но не работа с существующими данными.

Для вашей задачи идеально подойдет API Стандартизации. Есть удобное готовое решение для PHP.