Содержание
- Админка / Бек-энд
- Редактирование цены товара в заказе Opencart 2.x
- Не обязательные поля в редакторе заказов Opencart 2.x
- Модуль Мультивалютные цены Opencart 2.x
- Модуль Описание производителей Opencart 2.x
- Модуль Автозаполнение Meta Title Opencart 2.x
- Модуль Быстрый просмотр заказов Opencart2.x
- Универсальные конфиги для Opencart 2.x
- Модуль Дополнительное описание категории Opencart 2.x
- Лестница групп клиентов по накопительной сумме Opencart 2
- Модуль Fix API error Opencart 2.x
- Модуль Умное автодополнение полей в админке на Opencart 2.x
- Модуль для удаления модулей на Opencart 2.x
- Модуль Fix API error Opencart 2.x
- Модуль Fix API error для Opencart 2
- Модуль Модуль Fix API error Opencart 2.x скачать бесплатно
- Совместимость
- 1. «Директория не доступна для записи!» или «Папка не разрешена для записи!»»
- 2. Модуль установился и работает в админке, но на сайте ничего не отображается
- 3. Ошибка 500 Internal Server Error
- 4. Не работает модуль на Opencart 3.0.3.6
Админка / Бек-энд
Функциональные модули для административной части
Редактирование цены товара в заказе Opencart 2.x
Модуль позволяет изменять цены товаров в форме редактирования заказ в админке Opencart 2.x. После ре..
Не обязательные поля в редакторе заказов Opencart 2.x
Модуль убирает обязательность заполнения всех полей в админке в форме добавления или редактирования ..
Модуль Мультивалютные цены Opencart 2.x
Модуль Мультивалютные цены Opencart 2.x позволяет указывать цену товара в админке в любой валюте, а ..
Модуль Описание производителей Opencart 2.x
Модуль Описание производителей Opencart 2.x дает возможность добавлять описание и мета-теги на..
Модуль Автозаполнение Meta Title Opencart 2.x
Модуль для автоматического заполнения поля Meta Title в товаре, в категории, на странице в Opencart ..
Модуль Быстрый просмотр заказов Opencart2.x
Модуль поможет администратору быстро просматривать заказы в popup-окне. В админке в «Списке заказов»..
Универсальные конфиги для Opencart 2.x
Файлы универсальных конфигов для Opencart 2.x — теперь вам не нужно будет каждый раз прописывать пут..
Модуль Дополнительное описание категории Opencart 2.x
Модуль добавляет дополнительное описание категории снизу на странице Категории в Opencart 2.xЭто мул..
Лестница групп клиентов по накопительной сумме Opencart 2
Модуль Лестница групп клиентов по накопительной сумме заказов Opencart 2.x — автоматический переход ..
Модуль Fix API error Opencart 2.x
Простая модификация для отключения проверки доступа к API для администратора сайта. Очень часто при ..
Модуль Умное автодополнение полей в админке на Opencart 2.x
Модуль для умного автодополнения полей в админке на Opencart 2.x — упростит поиск нужных товаров, ка..
Модуль для удаления модулей на Opencart 2.x
Модуль для удаления модулей на Opencart 2.x. Работает по принципу установщика модулей, только в обра..
Источник
Модуль Fix API error Opencart 2.x
Простая модификация для отключения проверки доступа к API для администратора сайта.
Очень часто при просмотре / редактировании заказов вы можете видеть одну из ошибок:
— Внимание! Доступ запрещен к API!
— Неверный API ключ!
— Warning: You do not have permission to access the API!
Данный модуль избавит вас от этой проблемы.
Установка:
1. Распаковать
2. Установить в админке
3. Обновить модификации
- Opencart 2.0 Opencart 2.1 и ocStore 2.1 Opencart 2.2 Opencart 2.3 и ocStore 2.3
1. Скачайте и установите фикс Localcopy
2. Обновите модификации в админке
3. Загрузите модуль наново
Ошибка 500 после установки модуля означает, что случилась какая-то критическая ошибка в php.
Для определение проблемы можно:
1. Открыть файл logs/error.log на вашем сервере. В конце этого файла будут все последние критические ошибки.
2. Открыть в админке Инструменты > Логи ошибок — в этом месте отображаются ошибки, но не всегда.
3. Включить вывод ошибок php на экран — добавить следующий код в конец файла .htaccess:
1. Если вы раньше не загружали модули в архиве через админку — вам нужно установить бесплатную модификацию localcopy.ocmod.xml согласно инструкции и после этого переустановить модуль
2. Возможно в устанавливаемого модуля нет собственной страницы настроек и соответственно его не будет в списке Модулей
Два варианта решения:
1. Если при установке модуля из админки вылетает эта ошибка — вам нужно установить бесплатную FTP QuickFix модификацию localcopy.ocmod.xml. Она установиться без проблем через тот же установщик дополнений, только после установки не забудьте обновить модификации и затем можете приступать к установке любых модулей на Opencart 2.
2. Также решить эту ошибку можно по другому: прописать доступы к FTP в админке Система > Настройки > Магазин > вкладка FTP.
Если вы видите сообщение » Доступ запрещен! У Вас нет прав для доступа к этой странице. Если она Вам нужна, обратитесь к администратору. » — нужно дать права администраторам на управление модулем или страницей.
Решение: в админке Opencart 2 переходим в Система > Пользователи > Группы пользователей > Администраторы и здесь нажимаем «Выделить все» ниже обоих блоков, затем Сохранить .
Еще одной причиной появления этой ошибки может быть не правильная установка модуля — файлы не загрузились на свои места. Загрузите файлы модуля вручную на сервер или установите фикс localcopy и переустановите модуль.
Если модуль — это один XML файл, то его расширение должно быть .ocmod.xml
Если модуль — это ocmod.zip архив, то его не нужно распаковывать, а устанавливать как есть. В таком архиве обязательно должна быть папка upload (может быть пустой) , а также могут быть файлы модификаций: install.xml , install.php , install.sql . Никаких других файлов в корне архива быть не должно.
Решение: в админке Opencart 2 переходим в Система > Пользователи > Группы пользователей > Администраторы и здесь нажимаем «Выделить все» ниже обоих блоков, затем Сохранить .
Эта ошибка означает, что в загружаемом архиве отсутсвует папка upload. Даже если у модуля нет файлов, кроме модификаций — эта папка должна присутствовать в архиве модуля .ocmod.zip, тогда она должна оставаться пустой.
Эта ошибка означает, что вы пытаетесь установить модификатор, который уже установлен или, возможно, у какого-то вашего модуля такой же ID.
Для решения этой ошибки вам нужно перед установкой удалить старую версию модификации в разделе Модули > Модификации.
Если такого модуля у вас нет, но совпадает ID, тогда нужно поменять значение параметра в устанавливаемом модификаторе XML, сделать этот параметр уникальным дописав несколько символов.
Эта ошибка означает, что вы пытаетесь установить слишком объемный xml- модификатор.
Количество символов в ocmod.xml файле не должно превышать 65535 .
Для решения ошибки нужно разбить xml-файл модификации на несколько частей, главное — не забыть задавать каждой уникальное значение в , можно добавлять к текущему значению цифры 1,2,3. как идентификаторы части.
Еще одним способом решения есть изменения типа в поля, где храняться модификации, в таблице ‘oc_modification’ базы данных. Нужно выполнить следующий SQL-запрос:
ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;
Похоже, вы установили на Opencart 2.3.x.x модуль для более старых версий этой системы, то есть не совместимый модуль. Нужно удалить все файлы этого модуля, иначе ошибка не исчезнет.
Для удаления файлов модулей из админкм в один клик можно использовать модуль
Также данная ошибка может возникать, если скрипт обращается к несуществующей таблице в базе данных. То есть, таблица модуля не создалась при установке. Читайте инструкцию по установке и переустановите модуль.
Если модуль не реагирует на ваши действия, будь-то нажатие на кнопку или загрузка карты или выбор даты или на любое другое действие которое есть в функционале модуля — скорее всего произошел конфликт в JS-скриптах.
Нажмите F12 на проблемной странице в браузере — откроется панель вебмастера, где на вкладке Console можно увидеть конфликты в скриптах, если они есть. Данное действие доступно в браузерах Chrome, Opera, Firefox.
Источник
Модуль Fix API error для Opencart 2
Модуль отключает проверку доступа к API для админа. Нередко, просматривая или редактируя заказы, администратор сталкивается с ошибкой «Неверный API ключ!» или какой-то другой подобной. Данный инструмент призван решить эту проблему.
- Скачать и распаковать архив.
- Установить через админ панель.
- Обновить модификации.
- 1. В случае если ранее не проводилась загрузка модулей через админ-панель, необходимо инсталлировать бесплатное расширение localcopy.ocmod.xml с соблюдением всех рекомендаций, после чего произвести переустановку
- 2. Инсталляция может не предусматривать наличие отдельной страницы, следовательно ее не будет в числе модулей
- 1. Появление данной проблемы во время инсталляции модуля из админ-панели требует загрузки расширения localcopy.ocmod.xml. Устанавливается оно через дополнения, далее нужно провести обновление модификации, что позволит инсталлировать все дополнения в систему.
- 2. Второй вариант решения данной ошибки предполагает прописывание в админ-панели соответствующих доступов.
При появлении сообщения из категории «Доступ запрещен!» и уведомления о том, что страница доступна только пользователям с правами администратора, необходимо предоставить соответствующие права. Для этого в админ-панели нужно перейти во вкладку Администраторы, где установить галочки напротив всех пунктов, и нажать кнопку Сохранить
Модули, которые содержат только файл с двойным расширением ocmod.xml, заливаются в папку В случае использования архива, не обязательно проводить разархивацию, можно инсталлировать в изначальном виде. В корне должна содержаться пустая или заполненная файлами папка upload, и служебные для установки модификаций. Помимо указанных данных в корневом каталоге архива не должно присутствовать ничего лишнего. Более полную информацию об инсталляции модулей получите здесь.
Возникновение данной ошибки обусловлено отсутствием папки upload. Она непременно должна содержаться в архиве, без исключения для случаев, когда в нем присутствуют только файлы модификации – в этом случае папка будет пустой.
Появление такого сообщения обусловлено попыткой инсталлировать ранее уже загруженный модификатор, либо тот, чей ID совпадает с устанавливаемым. Устранить данную ошибку можно путем удаления ранее загруженной версии в админ-панели. В случае совпадения ID нового модуля с уже существующим, необходимо изменить параметр в новом модификаторе, путем добавления нескольких символов.
Появление данной ошибки обусловлено попыткой инсталлировать чересчур большой по размерам xml-модификатор. Суммарное число символов должно находиться в пределах 65535. Устранить данную ошибку можно путем разбивки инсталляционного пакета на компоненты, при этом каждый должен иметь собственный уникальный параметр . Для удобства можно использовать цифры 1,2,3. для каждой части соответственно. Другой вариант исправления ошибки состоит в изменении типа в поля, хранящие модификации, в таблице БД с названием ‘oc_modification’. Для этого достаточно задать такой SQL-запрос: ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
Данная ошибка появляется в случае инсталляцию в систему с версией от 2.3.x.x такого модуля, который не совместим с новой версией (когда она устаревает). Для устранения данной ошибки необходимо удалить все данные, относящиеся к данному модулю. Максимально быстро сделать это позволяет модуль ХХХХ Другой причиной появления данной проблемы является обращение скрипта к таблице БД, которой не существует. Чаще всего это возникает в том случае, если при инсталляции таблица не была создана. Нужно ознакомиться с правилами инсталляции модуля, и произвести его переустановку при необходимости.
Зачастую при отсутствии требуемой реакции модуля, требуется нажать на любую активную кнопку, чтобы вызвать любую реакцию. Ошибка чаще всего сопряжена с конфликтом в Java-скриптах. Попробуйте также открыть панель вебмастера, нажав кнопку F12. Здесь отображаются существующие конфликты на соответствующей вкладке.
Появление данной проблемы обусловлено наличием ошибок в коде php. Устранение ее возможно при выполнении следующих действий: 1. Проверить серверный файл ошибок 2. Просмотреть логи в админ-панели. Стоит отметить, что ошибки здесь показываются далеко не все. 3. Прописать в начале php-файла контроллера следующий код для демонстрации на экране возникших проблем: ini_set(‘error_reporting’, E_ALL); ini_set(‘display_errors’, 1); ini_set(‘display_startup_errors’, 1);
Источник
Модуль Модуль Fix API error Opencart 2.x скачать бесплатно
Простая модификация для отключения проверки доступа к API для администратора сайта.
Очень часто при просмотре / редактировании заказов вы можете видеть одну из ошибок:
— Внимание! Доступ запрещен к API!
— Неверный API ключ!
— Warning: You do not have permission to access the API!
Данный модуль избавит вас от этой проблемы.
Установка:
1. Распаковать
2. Установить в админке
3. Обновить модификации
Совместимость
Нет отзывов об этом товаре.
Нет вопросов об этом товаре.
1. «Директория не доступна для записи!» или «Папка не разрешена для записи!»»
Скачайте и установите дополнение Localcopy OCMOD для Opencart 3 или скачать модуль для Opencart 2 Фикс LocalCopy.ocmod.xml для Opencart 2.x скачать расширение
После установки этого дополнения нужно перейти в раздел Модификаторы и нажать кнопку «Обновить модификаторы». После этого можно устанавливать другие модули.
2. Модуль установился и работает в админке, но на сайте ничего не отображается
Возможно несколько проблем и вариантов их решения:
1. Не сброшен кеш шаблона — нужно обновить кеш [скриншот]
2. Вы раньше редактировали файлы шаблона через админку в разделе «Редактор темы», тогда этот файл сохранился в базе данных и на него уже не влияют ocmod-модификаторы, это проблема Opencart 3. Вам нужно установить фикс [скачать] и обновить модификации в админке.
3. Ваш шаблон устроен на TPL-файлах (*.tpl), в то время, когда в Opencart 3 шаблоны должны быть в формате TWIG (*.twig). Проблема в том, что ocmod-модификаторы не влияют на TPL-файлы — все изменения нужно вносить в эти файлы вручную.
3. Ошибка 500 Internal Server Error
Нужно включить вывод всех ошибок php на экране — для этого в файле .htaccess в конце нужно добавить строки:
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Теперь вместо ошибки 500 должен отображаться код ошибки, который укажет на проблему.
4. Не работает модуль на Opencart 3.0.3.6
В официальных сборках Opencart 3.0.3.5 — 3.0.3.6 есть баг — там модификаторы не работают с twig-файлами из-за ошибки в стандартном модификаторе /system/modification.xml — вторая операция из этого модификатора не срабатывает.
Проблема есть на оф. гитхабе и предложено решение https://github.com/opencart/opencart/blob/3.0.x.x_Maintenance/upload/system/modification.xml
Мы сделали фикс-модификатор по этим рекомендациям, он заменит файл /system/modification.xml на правильный.
1. Сделайте резервную копию вашего файла /system/modification.xml
2. Скачайте фикс-модификатор по ссылке и установите его у себя в админке
Источник
Отзывов: 0
Средняя оценка: 0
Нет отзывов об этом товаре.
Нет вопросов об этом товаре.
1. «Директория не доступна для записи!» или «Папка не разрешена для записи!»»
Решение проблемы:
Скачайте и установите дополнение Localcopy OCMOD для Opencart 3 или скачать модуль для Opencart 2 Фикс LocalCopy.ocmod.xml для Opencart 2.x скачать расширение
После установки этого дополнения нужно перейти в раздел Модификаторы и нажать кнопку «Обновить модификаторы». После этого можно устанавливать другие модули.
2. Модуль установился и работает в админке, но на сайте ничего не отображается
Возможно несколько проблем и вариантов их решения:
1. Не сброшен кеш шаблона — нужно обновить кеш [скриншот]
2. Вы раньше редактировали файлы шаблона через админку в разделе «Редактор темы», тогда этот файл сохранился в базе данных и на него уже не влияют ocmod-модификаторы, это проблема Opencart 3. Вам нужно установить фикс [скачать] и обновить модификации в админке.
3. Ваш шаблон устроен на TPL-файлах (*.tpl), в то время, когда в Opencart 3 шаблоны должны быть в формате TWIG (*.twig). Проблема в том, что ocmod-модификаторы не влияют на TPL-файлы — все изменения нужно вносить в эти файлы вручную.
3. Ошибка 500 Internal Server Error
Нужно включить вывод всех ошибок php на экране — для этого в файле .htaccess в конце нужно добавить строки:
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Теперь вместо ошибки 500 должен отображаться код ошибки, который укажет на проблему.
4. Не работает модуль на Opencart 3.0.3.6
В официальных сборках Opencart 3.0.3.5 — 3.0.3.6 есть баг — там модификаторы не работают с twig-файлами из-за ошибки в стандартном модификаторе /system/modification.xml — вторая операция из этого модификатора не срабатывает.
Проблема есть на оф. гитхабе и предложено решение https://github.com/opencart/opencart/blob/3.0.x.x_Maintenance/upload/system/modification.xml
Мы сделали фикс-модификатор по этим рекомендациям, он заменит файл /system/modification.xml на правильный.
Решение проблемы:
1. Сделайте резервную копию вашего файла /system/modification.xml
2. Скачайте фикс-модификатор по ссылке и установите его у себя в админке
3. Обновите кэш модификаторов
4. Обновите кэш twig-шаблонов
Проблемы и решения
1. После установки модуль не появился в списке
Вероятные причины:
- 1. В случае если ранее не проводилась загрузка модулей через админ-панель, необходимо инсталлировать бесплатное расширение localcopy.ocmod.xml с соблюдением всех рекомендаций, после чего произвести переустановку
- 2. Инсталляция может не предусматривать наличие отдельной страницы, следовательно ее не будет в числе модулей
2. Ошибка: Необходимо включить FTP в настройках
- 1. Появление данной проблемы во время инсталляции модуля из админ-панели требует загрузки расширения localcopy.ocmod.xml. Устанавливается оно через дополнения, далее нужно провести обновление модификации, что позволит инсталлировать все дополнения в систему.
- 2. Второй вариант решения данной ошибки предполагает прописывание в админ-панели соответствующих доступов.
3. Ошибка: Доступ запрещен!
При появлении сообщения из категории «Доступ запрещен!» и уведомления о том, что страница доступна только пользователям с правами администратора, необходимо предоставить соответствующие права.
Для этого в админ-панели нужно перейти во вкладку Администраторы, где установить галочки напротив всех пунктов, и нажать кнопку Сохранить
4. Ошибка: Недопустимый тип файла!
Модули, которые содержат только файл с двойным расширением ocmod.xml, заливаются в папку
В случае использования архива, не обязательно проводить разархивацию, можно инсталлировать в изначальном виде. В корне должна содержаться пустая или заполненная файлами папка upload, и служебные для установки модификаций. Помимо указанных данных в корневом каталоге архива не должно присутствовать ничего лишнего.
Более полную информацию об инсталляции модулей получите здесь.
6. Ошибка: Модификатор использует тот же ID код который вы пытаетесь загрузить!
Появление такого сообщения обусловлено попыткой инсталлировать ранее уже загруженный модификатор, либо тот, чей ID совпадает с устанавливаемым.
Устранить данную ошибку можно путем удаления ранее загруженной версии в админ-панели.
В случае совпадения ID нового модуля с уже существующим, необходимо изменить параметр в новом модификаторе, путем добавления нескольких символов.
7. Ошибка: Warning: DOMDocument::loadXML(): CData section not finished
Появление данной ошибки обусловлено попыткой инсталлировать чересчур большой по размерам xml-модификатор.
Суммарное число символов должно находиться в пределах 65535.
Устранить данную ошибку можно путем разбивки инсталляционного пакета на компоненты, при этом каждый должен иметь собственный уникальный параметр . Для удобства можно использовать цифры 1,2,3... для каждой части соответственно.
Другой вариант исправления ошибки состоит в изменении типа в поля, хранящие модификации, в таблице БД с названием 'oc_modification'. Для этого достаточно задать такой SQL-запрос:
ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
8. Ошибка: Fatal error: Uncaught exception ‘…’ with message ‘…’ in
Данная ошибка появляется в случае инсталляцию в систему с версией от 2.3.x.x такого модуля, который не совместим с новой версией (когда она устаревает). Для устранения данной ошибки необходимо удалить все данные, относящиеся к данному модулю. Максимально быстро сделать это позволяет модуль ХХХХ
Другой причиной появления данной проблемы является обращение скрипта к таблице БД, которой не существует. Чаще всего это возникает в том случае, если при инсталляции таблица не была создана. Нужно ознакомиться с правилами инсталляции модуля, и произвести его переустановку при необходимости.
9. Отсутствует реакция модуля
Зачастую при отсутствии требуемой реакции модуля, требуется нажать на любую активную кнопку, чтобы вызвать любую реакцию. Ошибка чаще всего сопряжена с конфликтом в Java-скриптах.
Попробуйте также открыть панель вебмастера, нажав кнопку F12. Здесь отображаются существующие конфликты на соответствующей вкладке.
10. Ошибка 500
Появление данной проблемы обусловлено наличием ошибок в коде php.
Устранение ее возможно при выполнении следующих действий:
1. Проверить серверный файл ошибок
2. Просмотреть логи в админ-панели. Стоит отметить, что ошибки здесь показываются далеко не все.
3. Прописать в начале php-файла контроллера следующий код для демонстрации на экране возникших проблем:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
As software got more complex, more and more software projects rely on API integrations to run. Some of the most common API use cases involve pulling in external data that’s crucial to the function of your application. This includes weather data, financial data, or even syncing with another service your customer wants to share data with.
However, the risk with API development lies in the interaction with code you didn’t write—and usually cannot see—that needs debugging. This makes error identification critical, so you don’t waste development time trying to fix the wrong problems.
Luckily, some errors are more common than others, and these are the best place to start looking when your API calls aren’t working as expected.
In this article, we’ll explain how you can spot these errors in your own code, fix them, and get back on track.
Using HTTP Instead of HTTPS
Security on the web is crucial. And as more and more websites adopt HTTPS over HTTP, API endpoints should do the same. If the API is developed with this potential error in mind, you should get an informative error. Informative errors tell you to access the endpoint via HTTPS rather than HTTP.
For example, a response might look like this:
This is a best-case scenario, because this error message tells you how to fix the problem: by making an HTTPS call, instead of HTTP.
However, when an API is built without this potential error case in mind, it can masquerade as other errors we’ll discuss later. With a very similar case, a less resilient API might produce the following:
- 500 Internal Server Error: One of the least helpful errors, 500 Internal Server Errors mean the server can’t handle the request. However, this can also happen when you pass incorrect or incomplete information to the API (or when it’s simply broken).
- 403 Forbidden: Depending on how the API infrastructure is set up, you might get a 403 Forbidden error. While you may have incorrect credentials, this could be the result of an undetected HTTP vs. HTTPS error as we discussed earlier.
- 404 Not Found: Some servers don’t have HTTP endpoints, so they return 404 errors. leading you to believe you’ve mistyped the endpoint URL or something similar.
Nowadays, most API endpoints use HTTPS, so it’s usually safe to assume you should be calling the HTTPS endpoint. If you’re not, and you get one of the errors listed above, this should definitely be one of the first things you check.
Using the Wrong HTTP Method
Even if you’ve never accessed an API method before, you use the GET method every time you access a website in your browser. But when it comes to APIs, different endpoints require a different HTTP method (GET, POST, PUT, PATCH, or DELETE) depending on what action you’re trying to complete. For example, if you’re trying to access the Twitter API to get a list of a user’s tweets, you’d likely be calling a GET endpoint. If you’re trying to tweet as that user through the API, you’d likely use a POST method.
Those are by far the most common methods, although PUT and PATCH are sometimes used to update existing records in a database that’s behind an API, for example.
As with the previous example, this can be a straightforward error to detect. If the API recognizes the route but can tell you’re using the wrong method, sometimes it will just tell you:
However, in some cases, this error can present as one we’ve already discussed:
- 500 Internal Server Error: If the server doesn’t know how to handle receiving the incorrect method gracefully, it may just fail completely and give you a 500 Internal Server Error. In this case you may have to look deeper into the error logs to debug.
- 403 Forbidden: Depending on how the server is configured, it may not allow you to access any of the endpoints with the incorrect method and will return a 403 error. You may be tempted to check whether your authentication is working correctly, when the problem may really be an incorrect method being called on the endpoint.
- 404 Not Found: Some API frameworks simply return a 404 error when the incorrect HTTP method is used because your request doesn’t match a known route.
When your API call returns an error, you should double check the documentation to make sure you’re using the correct HTTP method. You should do this even when the error you’re seeing is not the 405 error that explicitly indicates you’re using the wrong method.
Using Invalid Authorization
APIs beyond the most basic usually require some sort of authorization. Sometimes that’s an API key, a username and password, an OAuth token, a JSON Web Token, or a custom authentication method.
What’s important is that this authorization is provided with each and every API request. This ensures that the API knows the requester has adequate permissions for the operation being requested. When these credentials are incomplete or incorrectly formatted, the API in question can produce a variety of errors. Typically this will be the 403 Forbidden error, which tells the user they’re not allowed to access that particular resource.
In that case you should check your credentials, as well as the API documentation, to make sure they’re formatted correctly. For example, some APIs require a username and password separated by a :
character, some require credentials to be base64 encoded, and some have different requirements entirely.
It’s important to make sure you’re following the parameters laid out in the documentation so that your credentials are accepted.
Caching Errors
Especially in cases where APIs are heavily used, results may be cached to improve performance for everyone who has API access. This is usually very beneficial, as it provides everyone with the ability to get data when they need it. However, there are two potential cases where this approach is problematic.
In the first case, the information from the API may be cached and outdated as a result. In this case, discuss with your team whether this caching time can be reduced—without affecting API performance.
The second—and more difficult case to debug—is when an error state is cached. This can lead to an API returning an error, even if it’s actually been resolved. To fix this, check with your API provider to see if there is a testing environment that doesn’t utilize caching.
Alternatively, double check your API call on a different machine or with a different set of credentials. You can also check your API documentation to see if there’s some cache invalidation method available. In some cases, the API cache can be invalidated manually, but this shouldn’t be done regularly as it removes the benefits of caching in the first place.
If you’re encountering an error we’ve discussed above yet believe you’ve fixed all the possible root causes, see whether the response is cached on either the API side or in your API client.
Invalid Fields
If you’re passing data to an API instead of just receiving it, it’s important to provide all the data the API expects, and (in most cases) ignore data it doesn’t support. Always read through the endpoint documentation for any API endpoint you’re trying to access, and make sure you’re passing the correct data. If you aren’t doing this, you’ll hopefully get a specific error message telling you about missing or extraneous data.
It’s also possible the API will return a 500 Internal Server Error if it cannot handle an unexpected response properly. If you encounter this error and have already run through the debugging steps for each of the previous errors, double check your data to make sure it matches the specification indicated in the API documentation.
Wrapping Up
Working with APIs can be intimidating for many because of having to interact with code they don’t directly control. This often means a developer’s more traditional debugging methods are not possible. However, with experience you’ll start to know what to look for when you encounter various API errors, allowing you to fix them faster. With these errors resolved, you’ll be powering your application with APIs and external data, and improving user experience as a result.
Things don’t always go well when making your first API call, especially if you’re a beginner and it’s your first time integrating an API into another system. Often documentation is lacking in terms of api error status codes, since it’s easier to anticipate things going right, rather than things going wrong.
HTTP status codes can give you an idea of what was going on when you made your API call. The standardized status codes go from 100 to 511, and all have different meanings, but only the status codes from 400 to 511 reflect an error response. If you’re using Moesif, see a summary of the most likely API error status using this handy table.
Let’s look at the 10 most common HTTP status codes that indicate an error response, either on the client or the server-side.
Client-Side Status Codes
The 4XX group of status codes is usually related to client-side errors, but changes to the API can also cause them. Here are the 5 most common client-side status error codes and how to solve for them:
404 Not Found
This is by far the most common HTTP status code you can get. It indicates that the URL you used in your request doesn’t exist on the API server, or origin server. While this is a 4XX error, which usually means something on the client-side is wrong, this can also indicate a server problem. Sometimes API URL paths change after a version update, but sometimes they change because something on the server went wrong.
The best course of action is to check if you have a typo in your client code before checking if the API has issues.
This status code means you haven’t yet authenticated against the API. The API doesn’t know who you are and it won’t serve you.
For most APIs you need to sign up and get an API key. This key is then used inside an HTTP header field when you send a request, telling the API who you are.
This http status code is similar to the less common 407 Proxy Authentication Required, which means you haven’t authenticated with the proxy.
403 Forbidden
The forbidden status indicates that you don’t have permission to request that URL. You’re authenticated, but the user or role you’re authenticated for isn’t permitted to make the API request.
This also occurs when you have an authentication issue, like when using the wrong API key or trying to access features your subscription plan doesn’t allow for.
400 Bad Request
The 400 Bad Request error message is one of the most generic HTTP status codes. It implies that you did not correctly format your API request. If no additional error information is given in the response body, you have to check the docs. You could be missing a query, a field in the request body, or a header field could be wrong. It could also be that some of your request data might have incorrect syntax.
This is different from the 422 Unprocessable Entity error message, which appears when your request is correctly formatted, but cannot be processed.
429 Too Many Requests
Most API subscription plans have limits — the cheaper the plan, the fewer requests per second are allowed for your API key.
If you’re sending too many requests in a short amount of time, consider throttling them in your client. This response can also indicate that you hit a daily, weekly, or monthly limit on your account. Without implementing API analytics, it’s possible to reach these limits without receiving a push notification or email alert.
Sometimes an API sounds like a right fit until you see the limits, and suddenly it doesn’t work for your use case anymore. Check what’s part of your API subscription before integrating, otherwise you may run into problems weeks or months after integrating the API.
Server-Side Status Codes
The 5XX group of status codes usually return in response to a server error, but an invalid API call that should respond with a 4XX can also return a 5XX error if not caught correctly on the server. Here are the 5 most common errors and how to fix them:
500 Internal Server Error
This HTTP status code can mean anything really, but it usually indicates the API server crashed. It could have been caused by something related to your API call.
Double-check the docs to make sure you did everything right: query fields, body fields, headers, and format.
If that didn’t fix the problem, it might also have been related to an API update that introduced buggy code, or data the API loaded from an upstream service. In that case, your only cause of action is contacting the API’s support.
502 Bad Gateway
This response tells you that the server you were calling wasn’t the actual API server, but a gateway or proxy. The proxy server tries to call the API server in your name. This error response also indicates that the API server didn’t answer. This could be related to a network problem, or simply because the API server crashed, or was down for maintenance.
A “bad gateway” error is usually temporary and should be solved by the API provider, but you have to contact support if it persists.
503 Service Unavailable
The 503 Service Unavailable Status indicates a server error. Too many API requests were sent and now the API can’t handle any more of them. This problem solves itself when clients send fewer future requests, but it could also mean that the API provider didn’t plan enough resources for all of its customers.
If it fits your use case, you can make your client more resilient to this error by waiting to send another request. But if the error code keeps showing up, you have to contact the API provider.
504 Gateway Timed Out
Like the 502 Bad Gateway status, this response code tells you that the server you were calling is a proxy for the real API server. This time, the problem is the API server’s slow response.
This could be related to high network latency between the proxy and the API server. It could also mean that the API server takes too long to process your request.
To solve this problem, check if your request’s content could be related to that timeout. If you are requesting too much data or a calculation that takes too long, you should try and reduce it.
If you think your request is reasonable and the status doesn’t go away, contact support.
501 Not Implemented
The 501 Not Implemented status code is related to the HTTP method you used to request an URL. You can try a different HTTP method to make the request.
Usually, an HTTP request with an inappropriate method simply results in a 404 not found status. A not-implemented status implies that the method isn’t implemented “yet.” The API creator can use this status to tell the clients that this method will be available to them in future requests.
Monitoring HTTP Status Codes With Moesif
Moesif provides a rich set of monitoring and notification capabilities, so you can keep abreast of any HTTP status code errors automatically and gain deep insights from your error response trends.
API calls are always tracked with user identity, so it’s easy to locate errors and solve them rapidly.
Summary
Undoubtedly you’ll see many error codes when using APIs, but most have reasonable fixes. Some are related to server errors and some to client-side errors, where often one can cause the other.
Always try to read the docs and API notes thoroughly, so you don’t forget something while integrating. If things are simply broken, contact the API provider.
In some cases, the API provider won’t ever fix an issue for an API consumer. If you’re using a popular API you can also search the web for answers, especially StackOverflow, to find a fix for your error responses. Stay determined, and you’ll see your 200 ok status codes in no time.
Debug And Fix API Issues Quickly With High-cardinality API Logs
Learn More
Kay Ploesser
Software Engineer and Web Enthusiast