|
Загрузка контрагентов из 1с в ammo crm | ☑ | ||
---|---|---|---|---|
0
Zakella86
02.06.17
✎
19:21
|
Добрый день форумчане . Нужен совет гуру. Стоит задача загрузки контрагентов из 1с в ammo crm череp http запрос. Формат json. В общем я затестил их api вроде все ок.
http://radikal.ru/lfp/s018.radikal.ru/i528/1706/26/e73c943a3a9b.png/htm теперь пишу такой же запрос http в 1с http://radikal.ru/lfp/s019.radikal.ru/i633/1706/df/024905201412.png/htm но выходит код ошибки 301. http://radikal.ru/lfp/s42.radikal.ru/i096/1706/ef/b925177909fe.png/htm Это что то связанное с перемещением сервера. Что я сделал не так? |
|||
1
Zakella86
02.06.17
✎
19:23
|
первая картинка плоха видна
http://radikal.ru/lfp/s019.radikal.ru/i635/1706/83/563739c28451.png/htm |
|||
2
Zakella86
02.06.17
✎
19:36
|
все вопрос решил
вот верный код, возвращает теперь ответ 400. Заголовки = Новый Соответствие(); Заголовки.Вставить("Host:", "new590c1f3d3ac3b.amocrm.ru"); Заголовки.Вставить("Content-Length", "1"); Заголовки.Вставить("X-Target-URI", "https://new590c1f3d3ac3b.amocrm.ru"); Заголовки.Вставить("Connection", "Keep-Alive"); Заголовки.Вставить("Content-Type", "text/plain; charset=UTF-8"); HTTPСоединение = новый HTTPСоединение("new590c1f3d3ac3b.amocrm.ru");; HTTPЗапрос = Новый HTTPЗапрос("/private/api/v2/json/contacts/set?USER_HASH=0e2bdd0bae2807a29efacf0c6535166a&[email protected]",Заголовки); HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос); Объект.Ответ= HTTPОтвет.ПолучитьТелоКакСтроку(); Теперь вопрос, как вставить туда вложение в виде json. Саму структуру я написал |
|||
3
Zakella86
02.06.17
✎
19:39
|
запрос POST
|
|||
4
Неверный Параметр И
02.06.17
✎
19:46
|
Это что то связанное с перемещением сервера [x]
Читаешь свою же тему формат JSON в версии 8.3.7 Потом читаешь СП. Правда несложно? |
|||
5
Неверный Параметр И
02.06.17
✎
19:48
|
И да, .Получить - это Get
|
|||
6
Zakella86
02.06.17
✎
19:53
|
json у меня уже есть.
Как его правильно отправить? У меня кстати код ошибки 400 теперь. Но это нормально, api так отвечает когда ему не нравится тело запроса. Но я взял точный их пример. Как правильно отправить post запрос с json в качестве body& |
|||
7
Неверный Параметр И
02.06.17
✎
19:53
|
И на первом скриншоте у тебя https
А ты ломишься по http Неудивительно, что сервер у тебя перемещается. |
|||
8
Неверный Параметр И
02.06.17
✎
19:56
|
Ну, я бы посмотрел в СП какие методы ещё можно использовать для отправки.
Но это же так скучно... |
|||
9
Zakella86
02.06.17
✎
20:01
|
есть метод HTTP.ОтправитьДляОбработки , один из его параметров ресурс. В данном случаи https://new590c1f3d3ac3b.amocrm.ru/private/api/v2/json/contacts/set
ресурс это private? |
|||
10
Zakella86
02.06.17
✎
20:29
|
в общем пробую такой метод, выдает ошибку
Сервер = "new590c1f3d3ac3b.amocrm.ru"; Ресурс = "/private/api/v2/json/contacts/set?USER_HASH=0e2bdd0bae2807a29efacf0c6535166a&[email protected]"; HTTP = новый HTTPСоединение(Сервер,,,,,Истина); //HTTP = Новый HTTPСоединение(Сервер,443); ФайлЗапроса = ПолучитьИмяВременногоФайла(); ТекстовыйФайл = Новый ТекстовыйДокумент; ТекстовыйФайл.УстановитьТекст("&text=" + Стр); ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.UTF8); ФайлРезультата = ПолучитьИмяВременногоФайла(); Заголовки = Новый Соответствие(); Заголовки.Вставить("Host:", "new590c1f3d3ac3b.amocrm.ru"); Заголовки.Вставить("Content-Length", "1"); Заголовки.Вставить("X-Target-URI", "https://new590c1f3d3ac3b.amocrm.ru"); Заголовки.Вставить("Connection", "Keep-Alive"); Заголовки.Вставить("Content-Type", "text/plain; charset=UTF-8"); HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ФайлРезультата, Заголовки); Ответ = Новый ТекстовыйДокумент(); Ответ.Прочитать(ФайлРезультата, КодировкаТекста.UTF8); Объект.Ответ = Ответ.ПолучитьТекст(); //УдалитьФайлы(ФайлЗапроса); УдалитьФайлы(ФайлРезультата); *********************************************** {ВнешняяОбработка.ParceJson.Форма.Форма.Форма(148)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки) HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ФайлРезультата, Заголовки); по причине: Ошибка при выполнении файловой операции '/private/api/v2/json/contacts/set?USER_HASH=0e2bdd0bae2807a29efacf0c6535166a&[email protected]' по причине: Ошибка работы с Интернет: Ошибка доступа к ресурсу. Путь не найден: (400). <html> <head><title>400 Bad Request</title></head> <body bgcolor="white"> <center><h1>400 Bad Request</h1></center> <hr><center>nginx</center> </body> </html> по причине: Ошибка работы с Интернет: Ошибка доступа к ресурсу. Путь не найден: (400) |
|||
11
Garykom
гуру
02.06.17
✎
20:49
|
Ресурс = "/private/api/v2/json/contacts/set";
А USER_HASH=0e2bdd0bae2807a29efacf0c6535166a [email protected] засунь в тело |
|||
12
Zakella86
02.06.17
✎
20:53
|
не очень понял, это куда в тело?
|
|||
13
Garykom
гуру
02.06.17
✎
20:53
|
в твоем случае в теле передаются заголовки в них засунь
|
|||
14
Zakella86
02.06.17
✎
20:56
|
Заголовки.Вставить("USER_HASH","0e2bdd0bae2807a29efacf0c6535166a");
Заголовки.Вставить("USER_LOGIN","[email protected]"); так что ли? я не очень понимаю просто |
|||
15
Garykom
гуру
02.06.17
✎
21:44
|
(14) И что пишет на это?
|
|||
16
Zakella86
02.06.17
✎
21:46
|
тоже самое
Ошибка работы с Интернет: Ошибка доступа к ресурсу. Путь не найден: (400) |
|||
17
Zakella86
05.06.17
✎
21:16
|
в общем разобрался. Выкладываю код , рад помочь кому то
Рабочий я проверял. Текст = Новый ЧтениеТекста("C:\Users\User\Desktop\amo crm\jsonПример.txt", КодировкаТекста.UTF8); Стр = Текст.Прочитать(); HTTPСоединение = Новый HTTPСоединение("new590c1f3d3ac3b.amocrm.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL,Истина); HTTPЗапрос = Новый HTTPЗапрос("/private/api/v2/json/contacts/set?USER_HASH=0e2bdd0bae2807a29efacf0c6535166a&[email protected]"); HTTPЗапрос.УстановитьТелоИзСтроки(стр,КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать); ИмяФайлаОтвета = ПолучитьИмяВременногоФайла("txt"); HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяФайлаОтвета); Текст = Новый ЧтениеТекста(ИмяФайлаОтвета, КодировкаТекста.UTF8); Объект.Ответ = Текст.Прочитать(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |