Стандартные коды ошибок:
Ошибка | Значение |
unspecified | Тип ошибки не указан. Подробности смотрите в сообщении. |
invalid_api_key | Указан неправильный ключ доступа к API. Проверьте, совпадает ли значение api_key со значением, указанным в личном кабинете. |
access_denied | Доступ запрещён. Проверьте, включён ли доступ к API в личном кабинете и не обращаетесь ли вы к методу, прав доступа к которому у вас нет. |
unknown_method | Указано неправильное имя метода. |
invalid_arg | Указано неправильное значение одного из аргументов метода. |
not_enough_money | Не хватает денег на счету для выполнения метода. |
retry_later | Временный сбой. Попробуйте ещё раз позднее. |
api_call_limit_exceeded_for_api_key | Сработало ограничение по вызову методов API в единицу времени. На данный момент это 1200 вызовов в минуту. Для метода sendEmail — 60. |
api_call_limit_exceeded_for_ip | Сработало ограничение по вызову методов API в единицу времени. На данный момент это 1200 вызовов в минуту. Для метода sendEmail — 60. |
Частые ошибки без указания типа:
Ошибка | Значение |
«These list ids=»…» has no confirmation letters» | Не создано письмо подтверждение для списка, на который подписывается адресат. Откройте в личном кабинете список контактов на который настроена подписка, внизу слева есть пункт «Инструменты подписки и отписки». Заполните все поля на этой странице и сохраните. Инструкция по созданию письма подтверждения. |
“Contacts test@example.org and +77777777 already exist but owned by different subscribers” | Вы добавляете email и телефон контакта, который уже есть в вашем кабинете. Укажите email или телефон, который не принадлежит другому адресату. |
«Call to a member function getMessage() on boolean» | Вызов осуществляется с одновременным использованием методов GET и POST. Выполняйте запрос только одним из данных методов. |
Кроме этих ошибок, могут быть и другие, указанные в описаниях конкретных методов.
Пример ответа с ошибкой:
{"error":"AK100310-02","code":"invalid_api_key"}
Если вы торгуете на Binance (Futures) и при создании стратегии получаете сообщение об ошибке подключения API, такое как
или во вкладке «Мои Биржи» в строке API профиля видете
Переподключите ваш API профиль нажав два раза на кнопку «Править» (сначала в строке соответсвующего профиля, а затем во вкладке с настройками этого профиля).
Также, пожалуйста, проверьте следующее:
1) Вы создали аккаунт на Binance Futures ДО подключения его к Wunderbit.
2) Вы прошли квиз, в котором проверяются ваши знания о торговле деривативами на Binance Futures и совершили хотя бы одну сделку на самой бирже Binance Futures.
3) При настройке ключа API включили все разрешения на действия кроме разрешения на вывод средств.
4) Убедитесь, что у вас не включена привязка IP в настройках Binance API.
5) Отключите перевод страницы, так как он часто пытается перевести ключи API. Даже один дополнительный пробел делает ключи недействительными
! Если ничего из вышеперечисленного не помогло устранить ошибку, удалите свой ключ API и попробуйте создать и подключить новый ключ, используя другой браузер. Это особенно актуально для пользователей Google Chrome (вы можете попробовать использовать Opera или Mozilla Firefox).
Время на прочтение
5 мин
Количество просмотров 5.4K
Содержание
-
1. Простой случай
-
2. Случай клиента
-
3. В чем проблема?
-
4. Решение проблем
-
5. Итог
Простой случай
Как правило проблема с доступом к API OpenCart возникает когда не настроен доступ по API.
Для решения этой проблемы нужно пройти в админке в Система-Пользователи-API
, зайти в нужный объект списка и добавить свой IP адрес в список.
Либо на странице, с сообщением о проблеме с API просто нажать на кнопку Добавить IP-адрес
и обновить страницу.
Но у нашего клиента на OpenCart 2.3 было не все так просто …
Случай клиента
Перед началом разработки модуля клиент сообщил мне, что в админке на странице редактирования заказа у него часто/рандомно не работает изменение заказа: У вас нет разрешения на доступ к API!
А как позже выяснилось, такая проблема у клиента на 2 сайтах, где используется одна и та же версия OpenCart 2.3, сайты размещены у одного и того же хостера.
Изначально я не придал этому значения, так как проблема у клиента была до меня, а сроки по разработке были крайне сжатые (как обычно), а значит ее решение это второстепенная задача, однако на этапе внедрения модуля в интернет-магазин клиента начались проблемы.
Дело в том, что интерфейс функциональности разработанного мной модуля располагался на странице редактирования заказа, во вкладке Товары
, а из-за проблем доступа к API клиент не мог проверить работу модуля. Но это была первая часть проблемы. Как выяснилось позже мой модуль не мог корректно функционировать, так как использовал доступ к заказу основываясь на API.
Стоит уточнить, что интерфейс редактирования заказа во многом построен на Ajax API OpenCart, с использованием авторизации и получением токена для доступа к API.
Первым делом я перепроверил ajax запросы на корретность работы, как на клиенте так и на сервере. Токен на клиенте есть, проверка токена и авторизация по токену на сервере есть. Все также как и у API запросов, но не работает …
В чем проблема?
В другой статье мы уже вкратце разбирали Ajax API, а теперь копнем глубже.
Посмотрим контроллер catalog/controller/api/login.php
(запрос получения токена для работы с API /index.php?route=api/login
), в случае валидного API key
и наличия в этой группе IP адреса выполняющего (того кто делает запрос), данный запрос стартует новую сессию с именем api
с единственным ключом api_id
:
$session_id_new = $this->session->createId();
$this->session->start('api', $session_id_new);
$this->session->data['api_id'] = $api_info['api_id'];
Затем посмотрим catalog/controller/startup/session.php
(это первичный контроллер, который запускается при любом запросе в catalog
, до основного контроллера), здесь при наличии токена полученного в предыдущем запросе происходит старт сессии с именем api
:
$this->session->start('api', $query->row['session_id']);
А теперь пройдем в файл с классом сессии system/library/session.php
и смотрим метод start
:
public function start($key = 'default', $value = '') {
if ($value) {
$this->session_id = $value;
} elseif (isset($_COOKIE[$key])) {
$this->session_id = $_COOKIE[$key];
} else {
$this->session_id = $this->createId();
}
if (!isset($_SESSION[$this->session_id])) {
$_SESSION[$this->session_id] = array();
}
$this->data = &$_SESSION[$this->session_id];
//...
}
На основании предыдущих файлов можно сказать: session_id
может быть взят из куки api
, а данные сессии можно получить по session_id
.
Вспоминаем что API запросы OpenCart проверяют валидность доступа в catalog
контекст по токену следующим образом:
if (!isset($this->session->data['api_id'])) {
$json['error']['warning'] = $this->language->get('error_permission');
} else {
...
}
И приходим к понимаю того, что с сессией проблемы, хотя судя по коду должно быть все ровно.
Для того чтобы понять в чем проблема, можно попробовать записывать данные $_SESSION
в файл в запросе получения токена (после его получения), и при первом API запросе в файле catalog/controller/startup/session.php
прямо перед или после старта api
сессии.
В итоге я увидел что:
Сессия с
session_id
создается на этапе авторизации и в нее записывается один единственный ключapi_key
, но уже при следующем запросе к API, массив данных сессии с этимsession_id
пуст, но заполняется при отработке всех контроллеров указанных в массивеaction_pre_action
(в файлеsystem/config/catalog.php
) и данные сессии сохраняются.Однако при этом в нем отсутствует ключ
api_id
, без которого дальнейшая работа с API невозможна и поэтому мы видим сообщение: У вас нет разрешения на доступ к API!
Решение проблем
Почему возникает данная проблема мне не удалось выяснить. Развернув точную копию сайта клиента у себя на локальном сервере, воспроизвести проблему не получилось.
После обращения клиента в ТП хостинга, проблема исчезла на некоторое время (в это же время я пытался решить ее самостоятельно, но безуспешно, ибо не воспроизводилось), а потом благополучно, примерно через сутки, проблема вернулась.
Повторный дебаг $_SESSION
не дал результатов, все также: при запросе авторизации создавалась новая сессия с ключом api_id
, а при следующем обращении к API эта новая сессия была пуста.
Понимая что данные сессии не могут сохранится в $_SESSION
при запросе авторизации снова смотрим catalog/controller/startup/session.php
и видим запрос к БД:
$query = $this->db->query("SELECT DISTINCT * FROM `" . DB_PREFIX . "api` `a` LEFT JOIN `" . DB_PREFIX . "api_session` `as` ON (a.api_id = as.api_id) LEFT JOIN " . DB_PREFIX . "api_ip `ai` ON (as.api_id = ai.api_id) WHERE a.status = '1' AND as.token = '" . $this->db->escape($this->request->get['token']) . "' AND ai.ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "'");
Если этот запрос возвращает не пустой массив, значит можно считать что авторизация прошла успешно, а среди выбранных из БД данных есть api_id
.
В catalog/controller/startup/session.php
сразу после старта сессии пишем:
if ($query->num_rows) {
$this->session->start('api', $query->row['session_id']);
//это может решить проблему с доступом по апи
$this->session->data["api_id"] = $query->row["api_id"];
//...
}
И проблема У вас нет разрешения на доступ к API! решена!
Для решения проблемы У вас нет разрешения на доступ к API! в данном случае достаточно после старта сессии в
catalog/controller/startup/session.php
вставить в массив сессии ключapi_id
:$this->session->data["api_id"] = $query->row["api_id"];
Для убедительности я провел тест: получил ошибку У вас нет разрешения на доступ к API!, а затем применил описанное выше решение и не перезагружая страницы (где была ошибка) провел несколько ajax запросов к API OpenCart, которые прошли успешно.
Итог
Клиент доволен, оба сайта работают, проблема решена. Однако, источник проблемы не выявлен, есть несколько предположений, возможно как-нибудь проверю.
Автор: Виталий Бутурлин
Hello,
After update Elasticsearch, kibana, filebeat and wazuh , the login panel of kibana don’t work ( Kibana server is not ready yet) the services of kibana and elastic are up:
sudo systemctl status -l kibana
● kibana.service - Kibana
Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: disabled)
Active: active (running) since lun 2020-05-25 16:50:02 CEST; 1min 28s ago
Main PID: 5512 (node)
Tasks: 11
Memory: 718.9M
CGroup: /system.slice/kibana.service
└─5512 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli -c /etc/kibana/kibana.yml
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","metrics"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","usageCollection"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","visTypeVega"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","code"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","encryptedSavedObjects"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","eventLog"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","licensing"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","siem"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: {"type":"log","@timestamp":"2020-05-25T14:51:26Z","tags":["info","plugins","taskManager"],"pid":5512,"message":"Stopping plugin"}
may 25 16:51:26 siemgfipro kibana[5512]: FATAL [circuit_breaking_exception] [parent] Data too large, data for [<http_request>] would be [1041167752/992.9mb], which is larger than the limit of [1020054732/972.7mb], real usage: [1041167752/992.9mb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=0/0b, in_flight_requests=0/0b, accounting=164517332/156.8mb], with { bytes_wanted=1041167752 & bytes_limit=1020054732 & durability="PERMANENT" } :: {"path":"/.kibana","query":{},"statusCode":429,"response":"{"error":{"root_cause":[{"type":"circuit_breaking_exception","reason":"[parent] Data too large, data for [<http_request>] would be [1041167752/992.9mb], which is larger than the limit of [1020054732/972.7mb], real usage: [1041167752/992.9mb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=0/0b, in_flight_requests=0/0b, accounting=164517332/156.8mb]","bytes_wanted":1041167752,"bytes_limit":1020054732,"durability":"PERMANENT"}],"type":"circuit_breaking_exception","reason":"[parent] Data too large, data for [<http_request>] would be [1041167752/992.9mb], which is larger than the limit of [1020054732/972.7mb], real usage: [1041167752/992.9mb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=0/0b, in_flight_requests=0/0b, accounting=164517332/156.8mb]","bytes_wanted":1041167752,"bytes_limit":1020054732,"durability":"PERMANENT"},"status":429}"}
sudo systemctl status -l elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/elasticsearch.service.d
└─elasticsearch.conf
Active: active (running) since lun 2020-05-25 16:40:34 CEST; 14min ago
Docs: https://www.elastic.co
Main PID: 4632 (java)
Tasks: 125
Memory: 11.5G
CGroup: /system.slice/elasticsearch.service
├─4632 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,COMPAT -Xms1g -Xmx1g -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch-6582355286981897657 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/lib/elasticsearch -XX:ErrorFile=/var/log/elasticsearch/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m -Djava.locale.providers=COMPAT -XX:MaxDirectMemorySize=536870912 -Des.path.home=/usr/share/elasticsearch -Des.path.conf=/etc/elasticsearch -Des.distribution.flavor=default -Des.distribution.type=rpm -Des.bundled_jdk=true -cp /usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch -p /var/run/elasticsearch/elasticsearch.pid --quiet
└─4836 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
sudo journalctl -xe
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","data"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","visualizations"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","expressions"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","bfetch"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","share"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","rollup"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","translations"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","apm_oss"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","kibanaLegacy"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","features"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","timelion"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","telemetryCollectionXpack"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","telemetry"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","telemetryCollectionManager"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","lens"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","ossTelemetry"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","metrics"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","usageCollection"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","visTypeVega"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","code"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","encryptedSavedObjects"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","eventLog"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","licensing"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","siem"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: {"type":"log","@timestamp":"2020-05-25T16:58:35Z","tags":["info","plugins","taskManager"],"pid":16760,"message":"Stopping plugin"}
may 25 18:58:35 spro kibana[16760]: FATAL [circuit_breaking_exception] [parent] Data too large, data for [<http_request>] would be [1066441328/1017mb], which is larger than the limit of [1020054732/9
may 25 18:58:35 spro sudo[16794]: pam_unix(sudo:session): session closed for user root
may 25 18:58:42 spro systemd[1]: kibana.service: main process exited, code=exited, status=1/FAILURE
may 25 18:58:42 spro systemd[1]: Unit kibana.service entered failed state.
may 25 18:58:42 spro systemd[1]: kibana.service failed.
may 25 18:58:45 spro systemd[1]: kibana.service holdoff time over, scheduling restart.
may 25 18:58:45 spro systemd[1]: Stopped Kibana.
-- Subject: Unit kibana.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit kibana.service has finished shutting down.
may 25 18:58:45 spro systemd[1]: Started Kibana.
-- Subject: Unit kibana.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit kibana.service has finished starting up.
--
-- The start-up result is done.
may 25 18:59:00 spro filebeat[12780]: 2020-05-25T18:59:00.536+0200 ERROR [publisher_pipeline_output] pipeline/output.go:106 Failed to connect to backoff(elasticsearch(https
may 25 18:59:00 spro filebeat[12780]: 2020-05-25T18:59:00.536+0200 INFO [publisher_pipeline_output] pipeline/output.go:99 Attempting to reconnect to backoff(elasticsearch(h
may 25 18:59:00 spro filebeat[12780]: 2020-05-25T18:59:00.538+0200 INFO [publisher] pipeline/retry.go:196 retryer: send unwait-signal to consumer
may 25 18:59:00 spro filebeat[12780]: 2020-05-25T18:59:00.538+0200 INFO [publisher] pipeline/retry.go:198 done
may 25 18:59:00 spro filebeat[12780]: 2020-05-25T18:59:00.538+0200 INFO [publisher] pipeline/retry.go:173 retryer: send wait signal to consumer
may 25 18:59:00 spro filebeat[12780]: 2020-05-25T18:59:00.538+0200 INFO [publisher] pipeline/retry.go:175 done
may 25 18:59:03 spro filebeat[12780]: 2020-05-25T18:59:03.214+0200 INFO [monitoring] log/log.go:145 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"bea
may 25 18:59:07 spro kibana[16873]: {"type":"log","@timestamp":"2020-05-25T16:59:07Z","tags":["warning","plugins-discovery"],"pid":16873,"message":"Expect plugin "id" in camelCase, but found: apm_os
may 25 18:59:07 spro kibana[16873]: {"type":"log","@timestamp":"2020-05-25T16:59:07Z","tags":["warning","plugins-discovery"],"pid":16873,"message":"Expect plugin "id" in camelCase, but found: file_u
may 25 18:59:07 spro kibana[16873]: {"type":"log","@timestamp":"2020-05-25T16:59:07Z","tags":["warning","plugins-discovery"],"pid":16873,"message":"Expect plugin "id" in camelCase, but found: trigge
may 25 18:59:33 spro filebeat[12780]: 2020-05-25T18:59:33.212+0200 INFO [monitoring] log/log.go:145 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"bea
Ошибки
Ошибки с которыми вы можете столкнуться
Ошибки — это системно предусмотренные сообщения о проблеме возникшей во время выполнения программы.
Для решения ошибок работы API рекомендуется обратится в службу поддержки интегратора.
code 701. RabbitMq queue is not found
code 701. RabbitMq queue is not found
Нужно зайти в iiko office, Обмен данными — состояние подключения , нажать кнопку «перезапуск очереди».
Так же поддержка «Айко» рекомендует обновить iiko до версии 6.4.2 и выше, что бы не делать такие операции периодически.
Если не поможет пишите в службу поддержки интегратора iiko.
code 213. Organization {ID} not found or {login} have not access rights
code 213. Organization {ID} not found or {login} have not access rights
Эта ошибка часто возникает если просрочена оплата API или API был отключен /данные изменены.
code 110. Ошибка экспорта. Не соблюдаются min/max настройки для одиночного модификатора.
code 110. Ошибка экспорта. Не соблюдаются min/max настройки для одиночного модификатора.
Количество модификатора XXXXXXXXXX не соответствует настройкам минимума/максимума (XX/YY). Укажите корректное значение минимума/максимума в iiko.
Ошибки могут возникнуть на разных стадия работы плагина. Часто они могут быть вызваны не полнойне правильной настройкой плагина.
Рекомендуется проверить все ли настройки заданы корректно, с помощью инструкции
Настройка плагина
.
Так же рекомендуется отключить все сторонние плагины, т.к. они могут вызывать проблемы.
Не обновляются изображения/информация о товаре
Не обновляются изображения/информация о товаре
Проверьте, что
данные выгружатся в API
со стороны iiko.
Проверьте, что загружена последняя выгрузка. Если дата отличается, необходимо сбросить кеш выгрузки. Для этого нажмите кнопку «Сбросить список товаров и категорий«, перезагрузите страницу.
Информация о последней выгрузке на странице импорта
Если изображения не загрузились, проверьте загружаются ли они обычным способом в WordPress.
Warning: Error while sending QUERY packet.
Warning: Error while sending QUERY packet.
Данные выгрузки хранятся в кеше БД. Данная ошибка указывает на то, что объем выгрузки слишком большой для хранения, вам необходимо увеличить размер хранимых данных в ячейке БД, а так же возможно увеличить таймаут БД. Изменения нужно проивестив файле
если у вас свой VPS. Изменить/дописать строки:
max_allowed_packet=524288000
Если у вас обычный виртуальный хостинг обратитесь в службу поддержки для решения проблемы.