Имя: Пароль:
1C
1С v8
Интеграция 1С и api.intellectdialog.com
,
0 ChMikle
 
25.03.21
15:25
Кто-нибудь сталкивался ?
1 Garykom
 
гуру
25.03.21
15:43
(0) И в чем проблема с таким замечательным апи интегрировать?

Или все же реклама?
2 ChMikle
 
25.03.21
15:51
(1) проблема есть не уходит сообщение , вроде по писанию все делаю . подскажите ?
3 Fragster
 
гуру
25.03.21
16:06
то, ято ты отправляешь и то, чо тебе возвращает сервис мы должны угадать? как и твой код?
4 ChMikle
 
25.03.21
16:12
(3) с удовольствием выложу , дяденьки :)
5 ChMikle
 
25.03.21
16:17
Функция ВыслатьСообщение (KeyApiToken,provider_id)
    
    ПараметрыЗапроса = Новый Структура;
    
    ПараметрыЗапроса.Вставить("phone","7900*******");
    ПараметрыЗапроса.Вставить("text","Тестовое сообщение");
    ПараметрыЗапроса.Вставить("provider_id",provider_id);
    
    ТекстЗапроса = СобратьJson(ПараметрыЗапроса);

    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
    
    HTTPСоединение = Новый HTTPСоединение("api.intellectdialog.com",443,,,,, ЗащищенноеСоединение);
    ЗаголовкиHTTP = Новый Соответствие;
    ЗаголовкиHTTP.Вставить("Authorization",KeyApiToken);        
    ЗаголовкиHTTP.Вставить("Content-Type" , "application/json");
    ИмяМетода = "/v2/messages";
    
    
    HTTPЗапрос = Новый HTTPЗапрос(ИмяМетода,ЗаголовкиHTTP);
    
    HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса);
    
    РезультатЗапроса = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    
    Возврат РазобратьJson(РезультатЗапроса);
    
КонецФункции
6 ChMikle
 
25.03.21
16:19
ответ ошибка структура в ней Phone тип [массив] одна строка со значением "Phone is empty", аналогично с text и provider_id.
7 ChMikle
 
25.03.21
16:20
Тело запроса
Наименование    Тип    Обязательный    Описание
phone    string    true    Телефон получателя
text    string    true    Текст сообщения
provider_id    string    true    Идентификатор провайдера
template    string        Наименование согласованного шаблона сообщения Whatsapp (обязательный при отсутствии параметра text)
vars    array        Переменные шаблона сообщения для template, если их нет то параметр педается пустым (обязательный при отправке параметра template)
mark    string        Маркировка сообщения рассылки, максимальная длина 36 символов
employee_id    string        Идентификатор сотрудника
attachment    string        Ссылка на вложение
Тело ответа
Наименование    Тип    Описание
date    string    Дата и время сервера в формате YYYY-mm-dd HH:ii:ss
status    string    Статус выполнения: success или error
data    object    Объект сообщения
https://api.intellectdialog.com/#post_message описание метода
8 ChMikle
 
25.03.21
16:29
400 Bad Request - возвращется, если параметры не прошли валидацию, с указанием параметра и текста ошибки .
400 код ошибки , а что не так с запросом не пойму никак
9 BeerHelpsMeWin
 
25.03.21
16:35
А если разные форматы у phone попробовать? +7xxxyyyyyyy, +7(xxx)yyyyyyy?
10 ChMikle
 
25.03.21
16:39
(9) в примере от разработчика номер начинается с 7
11 Kassern
 
25.03.21
16:45
(10) provider_id надеюсь стока, а не число?
12 Kassern
 
25.03.21
16:47
(0) попробуй через какой-нить внешний сервис сделать пост запрос, например через постман или fidler =
13 Fragster
 
гуру
25.03.21
16:47
то, что ты отправляешь и то, чо тебе возвращает сервис мы должны угадать?
14 ChMikle
 
25.03.21
16:52
тело запроса {"phone":"7900*******","text":"Тестовое сообщение","provider_id":"39822b16-cda4-4286-8433-cffd291c3d99"}
15 ChMikle
 
25.03.21
16:54
response    Структура    
date    "2021-03-25 16:53:29"    
errors    Структура    
validation    Структура    
phone    Массив    
provider_id    
text    Массив    
status    "error"    
ответ
16 Fragster
 
гуру
25.03.21
17:01
(15) это не то, что ты отправляешгь
17 Fragster
 
гуру
25.03.21
17:03
кстати, а почему ты решил, что там json, а не form data?
18 Fragster
 
гуру
25.03.21
17:04
сдается мне, проще у них примеры попросить
19 ChMikle
 
25.03.21
17:04
(16) это ответ
20 ChMikle
 
25.03.21
17:04
(17) написано в требованиях
21 ChMikle
 
25.03.21
17:06
(18) так я их пример и посылаю, по образу и подобию
22 Fragster
 
гуру
25.03.21
17:06
ну тогда прямая дорога в постман/соапуи и прочие
23 Fragster
 
гуру
25.03.21
17:06
отправить напрямую, посмотреть, что получится
24 Fragster
 
гуру
25.03.21
17:07
а потом сравнивать с 1с
25 Fragster
 
гуру
25.03.21
17:07
"Для авторизации необходимо получить ключ: API_Key_v1 - эту версию ключа можно найти в интерфейсе управления на странице редактирования организации. Ключ необходимо отправлять при каждом запросе методов, в котором он указан, в заголовке Authorization.
Также необходимо отправлять параметры тела запроса только в формате, который указан в методах как Content-Type, с отправкой соответствующего заголовка. "
26 ChMikle
 
25.03.21
17:09
(25) я ключ указываю
HTTPСоединение = Новый HTTPСоединение("api.intellectdialog.com",443,,,,, ЗащищенноеСоединение);
    ЗаголовкиHTTP = Новый Соответствие;
    ЗаголовкиHTTP.Вставить("Authorization",KeyApiToken);        
    ЗаголовкиHTTP.Вставить("Content-Type" , "application/json");
    ИмяМетода = "/v2/messages";
27 ChMikle
 
25.03.21
17:26
с платформы сообщения в ватсапп доходит , а через апи нет
28 ChMikle
 
26.03.21
09:43
разработчки api.intellectdialog.com говорят что файл приходит не формата JSON и распарсить не могут , хотя для заполнения строки использую стандартную функцию ЗаписатьJSON(); кто-нибудь сталкивался, может какие-то дополнительные параметры надо заполнять ?
29 Мимохожий Однако
 
26.03.21
09:55
(28) У этой стандартного метода есть некая кучка параметров. Поиграйся с ними. Посмотри файл, который получаешь после этого метода.
30 ChMikle
 
26.03.21
09:56
(29) там все-то 3 параметра типа строка ...
31 Мимохожий Однако
 
26.03.21
09:57
3 параметра , не менее 6 вариантов
32 ChMikle
 
26.03.21
10:13
разобрался , HTTPЗапрос.УстановитьТелоИзСтроки(СобратьJson(ПараметрыЗапроса1),"UTF-8",использованиеByteOrderMark.НеИспользовать);
помогло , дяденька спасибо вам душевное :))
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший