К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

HTTTP запрос и JSON

Гость
0 - 18.10.2018 - 17:18
Уважаемые, пытаюсь законектиться к CRM envycrm
У них в описании API сказано
Для получения полного списка клиентов необходимо вызвать метод:
POST https://envycrm.com/crm/api/v1/clien...люч_апи
В качестве параметров запроса необходимо передать в тело запроса JSON массив параметров для поиска, вида:
**"request":**"keyword": "", "limit": 0, "offset": 0, "date_start": "2017-07-10", "date_end": "2017-07-10"****
Пишу
Процедура КнопкаВыполнитьНажатие(Кнопка)
Соединение = Новый HTTPСоединение("********.envycrm.com", ,"*******@mail.ru", "********",,,Новый ЗащищенноеСоединениеOpenSSL,Истина);
Запрос = Новый HTTPЗапрос("https://envycrm.com/crm/api/v1/client/list/?api_key=**********************************");
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("keyword","");
ПараметрыЗапроса.Вставить("limit",100);
ПараметрыЗапроса.Вставить("offset",0);
ПараметрыЗапроса.Вставить("date_start","2018-01-01");
ПараметрыЗапроса.Вставить("date_end","2019-01-01");
Стр = ЗначениеВJSON(ПараметрыЗапроса);
Запрос.УстановитьТелоИзСтроки(Стр,КодировкаТекста. UTF8,ИспользованиеByteOrderMark.НеИспользовать);
ИмяФайлаОтвета = ПолучитьИмяВременногоФайла("txt");
Результат = Соединение.ОтправитьДляОбработки(Запрос, ИмяФайлаОтвета);
Текст = Новый ЧтениеТекста(ИмяФайлаОтвета, КодировкаТекста.UTF8);
Ответ = Текст.Прочитать();
Сообщить("Вернули код " + Результат.КодСостояния);
Сообщить("Результат: " + Ответ);
КонецПроцедуры

Функция ЗначениеВJSON(Данные, ПараметрыЗаписи = Неопределено)
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.ПроверятьСтруктуру = Истина;
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
ЗаписатьJSON(ЗаписьJSON, Данные);
Результат = ЗаписьJSON.Закрыть();
Возврат Результат;
КонецФункции
Показать

Там, где звездочки - логин, пароль клиента и ключ api, конечно. Всё правильно, авторизация проходит.
В ответ получаю код 200 (выполнено) и ... html-страницу их сайта. Всё. Поддержка мычит что-то невразумительное
Я что-то делаю не так ? Похоже собственно до JSON достучаться не удается, параметры и ссылка игнорируются и я просто получаю get-запросом (хотя делаю post) заглавную страницу сайта
Что делать и кто виноват ?



Uho
1 - 18.10.2018 - 18:16
Разрешаю
Гость
2 - 18.10.2018 - 18:50
А тут ограничение на колво символов ? Мдя. Давно я тут не был
Гость
3 - 18.10.2018 - 19:00
В качестве параметров запроса необходимо передать в тело запроса JSON массив параметров для поиска, вида:
**"request":**"keyword": "", "limit": 0, "offset": 0, "date_start": "2017-07-10", "date_end": "2017-07-10"****

Пишу
Процедура КнопкаВыполнитьНажатие(Кнопка)
Соединение = Новый HTTPСоединение("********.envycrm.com", ,"*******@mail.ru", "********",,,Новый ЗащищенноеСоединениеOpenSSL,Истина);
Запрос = Новый HTTPЗапрос("https://envycrm.com/crm/api/v1/client/list/?api_key=**********************************");
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("keyword","");
ПараметрыЗапроса.Вставить("limit",100);
ПараметрыЗапроса.Вставить("offset",0);
ПараметрыЗапроса.Вставить("date_start","2018-01-01");
ПараметрыЗапроса.Вставить("date_end","2019-01-01");
Стр = ЗначениеВJSON(ПараметрыЗапроса);
Запрос.УстановитьТелоИзСтроки(Стр,КодировкаТекста. UTF8,ИспользованиеByteOrderMark.НеИспользовать);
ИмяФайлаОтвета = ПолучитьИмяВременногоФайла("txt");
Результат = Соединение.ОтправитьДляОбработки(Запрос, ИмяФайлаОтвета);
Текст = Новый ЧтениеТекста(ИмяФайлаОтвета, КодировкаТекста.UTF8);
Ответ = Текст.Прочитать();
Сообщить("Вернули код " + Результат.КодСостояния);
Сообщить("Результат: " + Ответ);
КонецПроцедуры

Функция ЗначениеВJSON(Данные, ПараметрыЗаписи = Неопределено)
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.ПроверятьСтруктуру = Истина;
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
ЗаписатьJSON(ЗаписьJSON, Данные);
Результат = ЗаписьJSON.Закрыть();
Возврат Результат;
КонецФункции
Показать


Там, где звездочки - логин, пароль клиента и ключ api, конечно. Всё правильно, авторизация проходит.
В ответ получаю код 200 (выполнено) и ... html-страницу их сайта. Всё. Поддержка мычит что-то невразумительное
Я что-то делаю не так ? Похоже собственно до JSON достучаться не удается, параметры и ссылка игнорируются и я просто получаю get-запросом (хотя делаю post) заглавную страницу сайта
Что делать и кто виноват ?
4 - 19.10.2018 - 09:41
вероятно
ИтПараметрыЗапроса = Новый Структура;
ИтПараметрыЗапроса.Вставить("request",ПараметрыЗапро са);
Стр = ЗначениеВJSON(ИтПараметрыЗапроса);
Гость
5 - 19.10.2018 - 10:09
Да, и это тоже
Но заработало только после того как
Запрос = Новый HTTPЗапрос("/crm/api/v1/client/list/?api_key=**********************************");


К списку вопросов






Copyright ©, Все права защищены