|
Заголовок в HTTP запросе (amoCRM) | ☑ | ||
---|---|---|---|---|
0
Kirich1983
13.03.19
✎
19:50
|
Здравствуйте. Нужно из amoCRM получить все сделки которые изменены позже определенной даты.
На сайте https://www.amocrm.ru/developers/content/api/leads смотрю пример: /* Вы также можете передать дополнительный HTTP-заголовок IF-MODIFIED-SINCE, в котором указывается дата в формате D, d M Y H:i:s. При передаче этого заголовка будут возвращены сделки, изменённые позже этой даты. */ curl_setopt($curl,CURLOPT_HTTPHEADER,array('IF-MODIFIED-SINCE: Mon, 01 Aug 2013 07:07:23')); Делаю в 1с: Заголовки = Новый Соответствие; ЗначениеЗаголовка = "Fri, 01 Mar 2019 12:00:00"; Заголовки.Вставить("IF-MODIFIED-SINCE", ЗначениеЗаголовка); HTTPЗапрос = Новый HTTPЗапрос("/private/api/v2/json/leads/list?&USER_LOGIN="+USER_LOGIN+"&USER_HASH="+USER_HASH, Заголовки); Запрос возвращает все сделки которые есть. Подскажите. |
|||
1
Сияющий в темноте
13.03.19
✎
20:44
|
Я бы поднял на php временный сервак и посмотрел бы,что шлет курл и что шлет 1с.
|
|||
2
Kirich1983
13.03.19
✎
20:52
|
(1) В этом я не селен.
|
|||
3
Сияющий в темноте
13.03.19
✎
21:11
|
тогда в тестовой базе подними http сервис и на нем смотри.
насколько я помню,1с любит перекодировки символов делать,как ей хочется. |
|||
4
Fram
13.03.19
✎
21:22
|
Формат даты просто пи..ц! Они разработчиков на помойках находят что ли?
|
|||
5
Ёпрст
13.03.19
✎
22:24
|
(0) там в примере время еще UTC:
curl_setopt($curl,CURLOPT_HTTPHEADER,array('IF-MODIFIED-SINCE: Mon, 01 Aug 2017 07:07:23 UTC')); |
|||
6
Ёпрст
13.03.19
✎
22:25
|
+зы Заголовок должен быть передан в часовом поясе UTC.
|
|||
7
Kirich1983
13.03.19
✎
22:28
|
(6) Если смотреть ниже код пример, то там без UTC. Пробовал и так и сяк
https://ibb.co/X2zz4sz |
|||
8
Ёпрст
13.03.19
✎
22:37
|
(7) самим курлом работает ?
Если да, то скачай Fiddler и посмотри, чего летит при курле и чего летит из 1с-ины. |
|||
9
Ёпрст
13.03.19
✎
22:38
|
в плане самого запроса и заголовка
|
|||
10
Fram
14.03.19
✎
07:49
|
(7) попробуй просто ради прикола более классические форматы даты вроде yyyy-mm-dd без времени или со временем.
|
|||
11
Сергиус
14.03.19
✎
08:23
|
(0)'IF-MODIFIED-SINCE: Mon, 01 Aug 2013 07:07:23'
Спасибо, что не кирилицей прописью задавать надо..) P.s. Может какое-то XML представление задавать надо? |
|||
12
MM
14.03.19
✎
09:14
|
||||
13
Ёпрст
14.03.19
✎
10:56
|
(12) а че там ? Автор тоже самое и устанавливает в заголовок
|
|||
14
Ёпрст
14.03.19
✎
10:58
|
во, вот видать в чем собака порылась:
If-Modified-Since can only be used with a GET or HEAD. автор ты потом как свой запрос посылаешь ? как post поди ? |
|||
15
Ёпрст
14.03.19
✎
10:59
|
хотя не..
надо филлером сымотреть |
|||
16
Kirich1983
14.03.19
✎
11:00
|
(14) GET Запрос
|
|||
17
Ёпрст
14.03.19
✎
11:19
|
(16) филлером смотрел хоть ?
|
|||
18
Kirich1983
14.03.19
✎
11:33
|
(17) Я не знаю как это делать)
|
|||
19
ДенисЧ
14.03.19
✎
11:46
|
(18) гугле фидлер не пробовал смотреть? Там не сложно...
|
|||
20
Kirich1983
14.03.19
✎
12:01
|
(19) Попробую.
|
|||
21
Kirich1983
14.03.19
✎
12:02
|
(17) филллер в поиске только уколы нашел))
|
|||
22
ДенисЧ
14.03.19
✎
12:06
|
(21) https://www.telerik.com/fiddler
Наслаждайся |
|||
23
trad
14.03.19
✎
12:13
|
(0) в документации нигде /list нету
|
|||
24
Kirich1983
14.03.19
✎
12:34
|
(23) Так тоже самое
HTTPЗапрос = Новый HTTPЗапрос("/api/v2/leads?&USER_LOGIN="+USER_LOGIN+"&USER_HASH="+USER_HASH, Заголовки); |
|||
25
Сияющий в темноте
14.03.19
✎
13:05
|
(4) формат даты стандартный для web,просто,люди привыкли,что дата пишется красиво,а тут кака то хрень.
возможно,что 1с не знает такого заголовка и ставит перед ним или решетку или что то еще. автор бы версию платформы написал,можно было бы глянуть. (есть подозрение,что 1с не анализируя строку заворачивает ее в utf7) |
|||
26
Kirich1983
14.03.19
✎
13:26
|
(25) 1С:Предприятие 8.3 (8.3.14.1565)
|
|||
27
Fram
14.03.19
✎
17:58
|
(25) такой формат даты приемлем в качестве вывода информации, но требоват ьтакой формат для ввода это за гранью добра и зла. тем более, что оно не работает, если верит ТС
|
|||
28
Fram
14.03.19
✎
18:00
|
(26) ты (10) попробовал?
|
|||
29
Fram
14.03.19
✎
18:07
|
А вообще, если прочитать инструкцию у метода есть параметры для задачи ТС
filter/date_create/ Выбрать сделки по дате создания (нужно передавать массив с параметрами from, to) filter/date_modify/ Выбрать сделки по дате изменения (нужно передавать массив с параметрами from, to) Правда инструкция через одно место написано, как всегда. Что, бл.., значит "массив с параметрами"?!! |
|||
30
Fram
14.03.19
✎
18:10
|
(29) ни примера, ни описания формата даты.. лучше вообще не писать инструкции, чем вот так вот
|
|||
31
Kirich1983
14.03.19
✎
18:17
|
(29) В этом примере нужно указать дату начала и дату окончания и тогда Сделки у которых дата изменения входит в данный интервал попадут в выборку.
|
|||
32
Fram
14.03.19
✎
18:19
|
(31) и?.. то есть задача "изменены позже определенной даты" не решаема с помощью них по твоему?
|
|||
33
Kirich1983
14.03.19
✎
18:22
|
(32) Думаю решаема, если Дата изменения сделки меняется при любом изменении, а не по какому-либо условию.
|
|||
34
Fram
14.03.19
✎
18:24
|
(33) ???
|
|||
35
Вафель
14.03.19
✎
18:27
|
формально код на 1с корректный
|
|||
36
Вафель
14.03.19
✎
18:27
|
а если керл запустить то отрабатывает?
|
|||
37
Kirich1983
14.03.19
✎
18:28
|
(34) Попробую с этими параметрами.
|
|||
38
Fram
14.03.19
✎
18:29
|
(37) Только пример у тех поддержки попроси сначала. Хотя, если нравится в гадалку играть, то можно не спрашивать
|
|||
39
Kirich1983
15.03.19
✎
10:47
|
Всем спасибо за помощь, я был не прав и невнимателен! Когда я получал массив данных за два дня, в этом массиве было 500 сущностей. Я предположил, что это возвращаются все Сделки. Сегодня товарищ сказал, что у этой канторы за два дня может поменять 2000 сделок. Проверил период за несколько часов действительно вернул 77 сущностей. Вот рабочий код:
Заголовки = Новый Соответствие; Заголовки.Вставить("IF-MODIFIED-SINCE", "Fri, 15 Mar 2019 01:00:00 UTC"); HTTPЗапрос = Новый HTTPЗапрос("/private/api/v2/json/leads/list?&USER_LOGIN="+USER_LOGIN+"&USER_HASH="+USER_HASH, Заголовки); |
|||
40
Fram
16.03.19
✎
00:10
|
(29) То есть отправив запрос из (0) ты ожидал получить всего несколько записей. А когда получил очень много, не разбираясь в датах возвращённых записей, ты решил что фильтр по дате не сработал?.. бедный заказчик! Ещё и нам мозг вынес
|
|||
41
Сергиус
16.03.19
✎
00:51
|
(40)Бывает)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |