|   |   | 
| 
 | Интеграция УТ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     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |