партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Универсальная галерея - модуль для битрикс
Это форум по решению для битрикс «Модуль Интеграция с iiko».
Страницы: 1
Ответить
RSS
Ошибка отправки заказов
 
После обновления модуля до версии 3.0.1, перестали отправляться заказы.
В журнале событий есть сообщения об ошибке
$result = Array ( [error] => IOrganization ХХХХХХХХХХХХХХХ not found or *** have not access rights.
Organization ID не изменялся.

В чем может быть причина ошибки?
 
Гость, здравствуйте. Пока не знаю, такой ошибки с версией 3.0.1 у меня не наблюдается. А не могло так совпасть что api не продлили? Вы ведь используете api iikoDelivery?
 
Сергей Эстрин, Здравствуйте.
У меня тоже есть ошибка с отправкой заказа.

Получаю следующую ошибку, вам известно с чем это может быть связано?

Код

$result = Array

(
    [
result] => Array
        (
            [
correlationId] => b95fa98a-188c-438f-ae45-b0e0b9ab5483
            
[orderInfo] => Array
                (
                    [
id] => 00000000-0000-0000-0000-000000000000
                    
[externalNumber] => 
                    [
organizationId] => 055c0fbe-b082-4b52-b3b3-0dd56e86b508
                    
[timestamp] => 0
                    
[creationStatus] => Error
                    
[errorInfo] => Array
                        (
                            [
code] => TerminalGroupDisabled
                            
[message] => Terminal group disabled or unregistered.
                            [
description] => Некорректные параметры создания заказа.
                            [
additionalData] => 
                        )

                    [
order] => 
                )

        )

    [
account] => Array
        (
            [
ID] => 0
            
[HOST] => api-ru.iiko.services
            
[PORT] => 443
            
[LOGIN] => ***
            [
PASSWORD] => 
            [
API_VERSION] => 1
        
)

    [
error] => Некорректные параметры создания заказа.
)
 
Цитата
Гость написал:
Получаю следующую ошибку, вам известно с чем это может быть связано?
Собственно, как описано, терминальная группа отключена или не зарегистрирована. Это настройки iiko.
 
Цитата
Сергей Эстрин написал:
Цитата
Гость написал: Получаю следующую ошибку, вам известно с чем это может быть связано?
Собственно, как описано, терминальная группа отключена или не зарегистрирована. Это настройки iiko.

Сергей Эстрин,
Я получил обратную связь от специалистов iiko. на что они говорят что происходит отправка на конкретный ресторан, в котором нет этого адреса с зоной доставки.
Есть ли у модуля возможность автоматического определения к какому именно ресторану происходит запрос?
Или как я могу выбрать на какой ресторан отправлять заказы?


Более подробно с примерами запросов в файле
 
ФАЙЛ не прикрепляется. вставляю текстом


Заказ создается не на выделенный сервер, а напрямую на фронт.
В приложенным пример запроса указан [organizationId] => 055c0fbe-b082-4b52-b3b3-0dd56e86b508 который принадлежит торговому предприятию Железнодорожная д.25
{{baseUrl}}/api/1/organizations
{
   "correlationId": "96bf519b-8905-4663-8716-ef4f1b57a11e",
   "organizations": [
       {
           "responseType": "Simple",
           "id": "055c0fbe-b082-4b52-b3b3-0dd56e86b508",
           "name": "Железнодорожная д.25"
       },
       {
           "responseType": "Simple",
           "id": "3aecc389-66f5-4837-96ab-8d86ec623cb3",
           "name": "Бургасская, д. 54"
       },
       {
           "responseType": "Simple",
           "id": "3eaf4edf-05ac-4215-a4b0-f8ef49b7a0c2",
           "name": "Бочарникова 3"
       },
       {
           "responseType": "Simple",
           "id": "9952d563-01c2-4802-b42f-bfc540aa0f09",
           "name": "Монтажников"
       },
       {
           "responseType": "Simple",
           "id": "e03ec0a2-ab36-4909-8432-8d3d1875f1c9",
           "name": "Сарабеева 5/3"
       },
       {
           "responseType": "Simple",
           "id": "edcbeac2-6cf6-4502-9775-e42a6ec63db2",
           "name": "Красная 149"
       }
   ]
}
Так как указана организация Железнодорожная д.25 и не указан параметр terminalGroupId, под капотом транспорт попытался найти подходящий терминал, но найденный терминал принадлежит другой организации Красная 149, и при комбинации запроса терминал от Красная 149, а организация Железнодорожная д.25 происходит ошибка терминал не зарегистрирован.

Для корректной работы с ГРиК перед созданием заказа нужно вызвать метод /api/1/delivery_restrictions/allowed https://api-ru.iiko.services/#tag/Delivery-restrictions/paths/~1api~11~1delivery_restrictions~1allow... передав или массив всех организаций или достаточно указать одну организацию, так как настройки ГРиК реплицируются по всей сети, и на каждой организации сети настройки грик будут одинаковые.
К примеру:
{{baseUrl}}/api/1/delivery_restrictions/allowed
{
   "isCourierDelivery": true,
   "organizationIds": [
       "{{organizationId}}"
       
   ],
   "deliveryAddress": {
       "city": "Краснодар",
       "streetName": "Северная",
       "house": "191"
       
   },
   "orderItems": []
   "deliverySum": 620
}
Ответ
{
   "correlationId": "ad27e360-c7c3-44d3-b78d-7c1f045664dc",
   "isAllowed": true,
   "rejectCause": null,
   "addressExternalId": null,
   "location": {
       "latitude": 45.0442526,
       "longitude": 38.9510021
   },
   "allowedItems": [
       {
           "terminalGroupId": "3dcdaa8d-8366-4292-a271-545890aeda3b",
           "organizationId": "edcbeac2-6cf6-4502-9775-e42a6ec63db2",
           "deliveryDurationInMinutes": 60,
           "zone": "Красная зона 10КМ",
           "deliveryServiceProductId": "2ead6511-374f-482a-b134-0f8382a9231b"
       }
   ]
}
 
В ответе в параметре allowedItems возвращается информация о название зоны в которую попадает данный адрес, так же явно передается "organizationId": "edcbeac2-6cf6-4502-9775-e42a6ec63db2" и "terminalGroupId": "3dcdaa8d-8366-4292-a271-545890aeda3b" которые нужно передать в методе создания заказа {{baseUrl}}/api/1/deliveries/create. Если по условия ГРиК есть платная доставка, в параметре deliveryServiceProductId возвращается id услуги, услуги доставки должны быть заранее выгружены во внешнее меню, так как стоимость платной доставки по id нужно будет найти в методе {{baseUrl}}/api/1/nomenclature.
Если параметр deliveryServiceProductId:null, то платной доставки по данному адресу и сумме заказа нуте.
 
Добрый день.
Проблему всё ещё не удалось решить.
Какой нибудь ответ, совет, рекомендацию сможете дать?
 
Гость, проверьте почту, вы задавали также свой вопрос через контакты, я ответил вам 3 дня назад. Пока что простого и однозначного ответа на ваш вопрос у меня нет.
 
Добрый день, при отправке заказа возникает ошибка "Ошибка создания заказа: Не удалось произвести геокодирование адреса: (  далее введенный адрес )", в чем может быть причина?
 
Цитата
Гость написал:
Добрый день, при отправке заказа возникает ошибка "Ошибка создания заказа: Не удалось произвести геокодирование адреса: (  далее введенный адрес )", в чем может быть причина?
Гость, добрый день. Если адрес правильный, то причина должна быть в iiko.
 
Добрый день!
Поставили демо модуль на сайт, сейчас попробовали отправить заказ в АйКо
Ошибка такая, что не так?

$result = Array (
[result] => Array (
[correlationId] => ebb199d0-.............................
[orderInfo] => Array (
[id] => 00000000-0000-0000-0000-000000000000
[externalNumber] =>
[organizationId] => 47f49f2b-....................
[timestamp] => 0
[creationStatus] => Error
[errorInfo] => Array (
[code] => DuplicatedOrderId
[message] => Order already exists [deliveryId: 00000000-0000-0000-0000-000000000115].
[description] => Заказ с указанным идентификатором уже существует.
[additionalData] =>
)
[order] =>
)
)
 
Гость, добрый день. С некоторых пор id заказа в модуле генерируется таким образом, чтобы можно было сопоставить заказ в битриксе и в iiko: 00000000-0000-0000-0000-000000000115, где 115 - это номер заказа в битрикс. Хотя это редкий случай, но если по каким-то причинам заказы с таким форматом идентификаторов уже были созданы ранее, эту логику можно изменить, здесь описано как: https://estrin.pw/bitrix-d7-snippets/s/formirovanie-identifikatora-zakaza-dlya-vygruzki-v-iiko/
Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы