|
Интеграция УТ11 с маркетплейсом яндекс | ☑ | ||
---|---|---|---|---|
0
ОператорПК
06.09.21
✎
13:47
|
Здравствуйте.
Ситуация такая: есть УТ11 (предпоследний релиз) на платформе 8.3.17.ххх (не совсем подходят друг другу но работает) с ней нужно настроить обмен заказами через HTTP маркетплейс яндекса. У яндекса есть подсистема (в расширение пихается) для этого https://yandex.ru/support/marketplace-module-1c/install.html (она установлена в УТ11). В подсистеме есть HTTP сервис Беру_ПолучениеЗаказовПоAPI_1_7_31 - через него собственно предпологается вся работа... Учитывая что есть негативный опыт публикаций WEB-сервисов расширений (а имеено как только web-сервис перекачевывает из расширения в основную конфигу он прекрасно начинает работать хотя до этого отказывается) из расширения HTTP сервис Беру_ПолучениеЗаказовПоAPI_1_7_31 перенесен в основную конфигу и переименован в HTTP сервис Беру_ПолучениеЗаказовПоAPI_1_7_31_ его корневой URL также с Marketplace_API переименован в Marketplace_API_. Выполнена инструкция яндекса https://yandex.ru/support/marketplace-module-1c/service.html по публикации и корректировке файла публикации (в основном это касается доступа пользователя Service). Для тестировани я работы HTTP сервиса используется спец. прога http://www.telerik.com/fiddler т.к. она была посоветована например тут https://its.1c.ru/db/metod8dev/content/5756/hdoc ИТОГО при тестировании через прогу: Запрос http://127.0.0.1/UT11HTTP/ все определяет норм и в ответ рисует что то в духе: <!DOCTYPE html> <html> <head> <title>1С:Предприятие</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <link rel="shortcut icon" href="e1csys/mngsrv/favicon.ico" /> <style type="text/css"> BODY... и далее идет вполне приличное BODY... А вот запрос http://127.0.0.1/UT11HTTP/hs/Marketplace_API_/getyml?НомерКампании=21990000 который сформирован по примеру из //its.1c.ru/db/metod8dev/content/5756/hdoc возвращает матершину типа : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>1C:Enterprise 8 application error</title></head><body><h2>1C:Enterprise 8 application error:</h2>Ошибка в строке соединения с информационной базой.</body></html> Может есть кто интегрировался я яндексом и есть рабочий запрос? p.s. код процедуры для шаблона URL "getyml" (к которому идет обращение) максимально упрощен после переноса в основную конфигу до: Ответ = Новый HTTPСервисОтвет(400); Ответ.УстановитьТелоИзСтроки("У текущей кампании в настройках 1С указана модель работы FBS. Для получения файла необходимо установить модель работы DBS."); Возврат Ответ; |
|||
1
Ёпрст
06.09.21
✎
15:13
|
(0) Ошибка в строке соединения с информационной базой
вроде всё предельно по-русски написано, не ? |
|||
2
ОператорПК
06.09.21
✎
15:17
|
(1) ага, только в чем ошибка то? Я все предельно на Аглицком написал http://127.0.0.1/UT11HTTP/hs/Marketplace_API_/getyml?НомерКампании=21990000 - что тут не так?
|
|||
3
yzimin
06.09.21
✎
16:12
|
И всё-таки попробуйте использовать веб-сервис из расширения этого модуля. У нас работает с начала года без проблем
|
|||
4
Вафель
06.09.21
✎
16:14
|
некорректно опубликован сервис
|
|||
5
ОператорПК
06.09.21
✎
16:29
|
(3) с этого и начинал... не от хорошей жизни как говориться стал переносить из расширения в основную. вы чем тестировали работу этого HTTP сервиса? не сохранилось рабочего запроса?
|
|||
6
ОператорПК
06.09.21
✎
16:30
|
(4) что там можно не корректно опубликовать?
|
|||
7
yzimin
06.09.21
✎
16:31
|
(5)яндекс умеет посылать тестовые запросы, там есть специальный интерфейс, из его личного кабинета и отлаживали
|
|||
8
yzimin
06.09.21
✎
16:33
|
(7) +там же можно посылать тестовые заказы, самопроверка
|
|||
9
Вафель
06.09.21
✎
16:33
|
(6) >>Ошибка в строке соединения с информационной базой
|
|||
10
ОператорПК
06.09.21
✎
16:35
|
(7) понятно.... хотел сперва "локально" все чтоб работало отладить потом уже выпускать "наружу"... если не секрет сертификат безопасности ставили?
|
|||
11
ОператорПК
06.09.21
✎
16:36
|
(9) это написано прямо в (0).... вопрос в том и есть: что некорректно в моем запросе http://127.0.0.1/UT11HTTP/hs/Marketplace_API_/getyml?НомерКампании=21990000?
|
|||
12
yzimin
06.09.21
✎
16:41
|
(10) у нас по https работает с доменным именем и купленным сертификатом, SHA1-отпечаток SSL-сертификата мы не указывали, если вы об этом
|
|||
13
ОператорПК
06.09.21
✎
16:42
|
(12) да об этом. спасибо.
|
|||
14
yzimin
06.09.21
✎
16:42
|
(11) а авторизационный токен в запросе передаёте? Точкой остановки вообще попадаете в отладку? А то может у вас сам веб-сервис даёт отлуп
|
|||
15
ОператорПК
06.09.21
✎
16:49
|
(14) "авторизационный токен в запросе передаёте" - нет, а разве это нужно в данном случае? Тут например https://its.1c.ru/db/metod8dev/content/5756/hdoc про это вроде как нет ничего. Точкой останова в отладку не попадает... не доходит до этого.
|
|||
16
ОператорПК
06.09.21
✎
16:50
|
+(14) вообще представители яндекса сообщили что "технически" можно без сертификатов работать ("типа дела ваше")
|
|||
17
unbred
06.09.21
✎
16:52
|
я всегда так проверяю:
ssl = Новый ЗащищенноеСоединениеOpenSSL; HTTP_Соединение = Новый HTTPСоединение(АдресСайта_( тут имя сайта), Неопределено, Неопределено, Неопределено, Неопределено, Неопределено, ssl); Попытка HTTP_Соединение.ОтправитьДляОбработки(ОтправляемJSON(тут json с телом запроса), АдресРесурса_( тут апи), ПолучаемJSON(тут json с ответом), Заголовки); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.ОткрытьФайл(ПолучаемJSON); Данные= ПрочитатьJSON(ЧтениеJSON,Ложь); хочешь передавай токен, хочешь не передавай. заголовки задать 2 минуты |
|||
18
unbred
06.09.21
✎
16:54
|
+ (17) ПолучаемJSON - просто пустой временный файлик
|
|||
19
Смотрящий
06.09.21
✎
16:57
|
ИТОГО при тестировании через прогу:
Запрос http://127.0.0.1/UT11HTTP/ .... А вот запрос http://127.0.0.1/UT11HTTP/hs/Marketplace_API_/getyml?НомерКампании=21990000 Они разные суннь второй заврос в фидер что выдаст ? |
|||
20
yzimin
06.09.21
✎
16:58
|
(15) нужно в заголовках передать токен авторизации обязательно, безопасность же)
для вас из логов вытащил, знаю, какой это гемор))) URL https://НАШ_АДРЕС_СЕРВЕРА/hs/Marketplace_API/order/status Параметры auth-token=B900000блаблабла - токен, который указан в ЛК яндекса, он так же должен быть прописан в модуле расширения от яндекса Сам запрос POST НАШ_АДРЕС_СЕРВЕРА/hs/Marketplace_API/order/status HTTP/1.1 Content-Type: application/json;charset=utf-8 В тело передаётся XML |
|||
21
ОператорПК
06.09.21
✎
17:03
|
(20) про "order"
вот их ответ: Да, вы можете настроить передачу данных по API без SSL сертификата. Также обращаю внимание, есть запросы которые выполняются только со стороны маркета, сами вы их инициировать не сможете. /stocks /cart /order/accept /order/status короче завтра уже буду пробовать с их сайта (личного кабинета) тестить. по вашему совету из (7). Всем спасибо. |
|||
22
ОператорПК
06.09.21
✎
17:06
|
+(21) токен AQAAAABXWjvYAбла бла бла в настройках базы есть конечно.
|
|||
23
yzimin
06.09.21
✎
17:12
|
(21) К сабжу не особо относится...Самое противное, что мы должны ответить яндексу за 5.5 секунд на остатки https://yandex.ru/dev/market/partner-marketplace-cd/doc/dg/reference/post-cart.html
или 10 сек на статус заказа https://yandex.ru/dev/market/partner-marketplace-cd/doc/dg/reference/post-order-status.html и если не обеспечиваешь требуемый уровень сервиса, то они отключают наш магазин. В итоге ни УТ не обновить, ни какие-то вечерние регламенты не выполнить. Пришлось под яндекс отдельную базу УТ делать с минимальными данными. |
|||
24
ОператорПК
06.09.21
✎
17:14
|
(23)а нельзя договориться о "сервисном времени" когда можно обновлять базу? а если отключили от сервиса то восстановить его сложно?
|
|||
25
yzimin
07.09.21
✎
08:54
|
(24) На время пока ваш сервер не отвечает на запросы, магазин не продаёт. Нам было выгоднее арендовать выделенный сервер, который 24/7 работает, УТ там не обновляем, никакие работы не проводим. Включается магазин, когда начнут проходить ответы от сервера.
|
|||
26
dark_stealth
29.09.21
✎
08:30
|
У меня с этим модулем еще веселее- отдает 404 ошибку, вроде все делал по их инструкции. Но через личный кабинет при проверке 404, все другие базы опубликованы и работают, претензий к веб-серверу нет. Здесь при обращении к корню публикации - чистая страница, при /cart или /stocks ответ Not found. Модуль не работает ?
|
|||
27
dark_stealth
29.09.21
✎
11:01
|
все оказалось проще- URL для запросов API в ЛК яндекса = https://vashserver.ru/опубликованная база/hs/URL для запросов API .И сразу все взлетело.
документация конечно написана правой ногой, даже как то странно такое видеть от яндекса |
|||
28
dark_stealth
29.09.21
✎
11:04
|
сорри ошибка в url, правильный https://vashserver.ru/опубликованная база/hs/Marketplace_API
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |