Заголовок
POST /yandexbuy2/order/cancellation/notify HTTP/1.1
Content-Type: application/json;charset=utf-8
{ «order»: { «id»: 5462418, «fake»: false, «currency»: «RUR», «paymentType»: «POSTPAID», «paymentMethod»: «CASH_ON_DELIVERY», «subsidyTotal»: 0, «taxSystem»: «PSN», «delivery»: { «type»: «DELIVERY», «price»: 0, «serviceName»: «Курьер за МКАД», «id»: «133», «shopDeliveryId»: «133», «deliveryServiceId»: 99, «deliveryPartnerType»: «SHOP», «dates»: { «fromDate»: «19-08-2021», «toDate»: «19-08-2021» }, «region»: { «id»: 10750, «name»: «Раменское», «type»: «CITY», «parent»: { «id»: 214122, «name»: «Городское поселение Раменское», «type»: «SETTLEMENT», «parent»: { «id»: 98605, «name»: «Раменский район», «type»: «SUBJECT_FEDERATION_DISTRICT», «parent»: { «id»: 1, «name»: «Москва и Московская область», «type»: «SUBJECT_FEDERATION», «parent»: { «id»: 3, «name»: «Центральный федеральный округ», «type»: «COUNTRY_DISTRICT», «parent»: { «id»: 225, «name»: «Россия», «type»: «COUNTRY» } } } } } }, «address»: { «country»: «Россия», «postcode»: «000000», «city»: «Раменское», «street»: «Красноармейская улица», «house»: «00», «entrance»: «00», «entryphone»: «00», «floor»: «00», «apartment»: «4», «recipient»: «Иванов Иван», «phone»: «+7 (915) 000-00-00«, «lon»: 50.25156, «lat»: 77.577513 }, «subsidy»: 49 }, «buyer»: { «id»: «qsjhhhN8eM+AVhhPXiclUQ==», «lastName»: «Иванов», «firstName»: «Иван», «phone»: «+79150000000«, «uid»: 311703841 }, «items»: [ { «id»: 110592862, «feedId»: 1006651, «offerId»: «1035», «feedCategoryId»: «30», «offerName»: «Парогенератор Philips GC7844/20 PerfectCare Compact», «price»: 9890, «buyer-price»: 9890, «subsidy»: 0, «count»: 1, «params»: «Цвет товара: синий», «vat»: «NO_VAT», «fulfilmentShopId»: 3554235, «sku»: «101199417001», «shopSku»: «1035», «warehouseId»: 77077, «partnerWarehouseId»: «07450be-7507-4599-81b6-645ab5ebc4bc» } ] } }
Ответ
Заголовок
HTTP/1.1 404 NOT_FOUND Not Found
Server: nginx/1.14.1
Date: Fri, 20 Aug 2021 13:13:32 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: OCSESSID=8a47c3fea2a71fe7e5b3678673; path=/
Set-Cookie: OCSESSID=8a47c3fea2a71fe7e5b3678673; path=/
ОператорПК
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 — что тут не так?
yzimin
3 — 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) что там можно не корректно опубликовать?
yzimin
7 — 06.09.21 — 16:31
(5)яндекс умеет посылать тестовые запросы, там есть специальный интерфейс, из его личного кабинета и отлаживали
yzimin
8 — 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?
yzimin
12 — 06.09.21 — 16:41
(10) у нас по https работает с доменным именем и купленным сертификатом, SHA1-отпечаток SSL-сертификата мы не указывали, если вы об этом
ОператорПК
13 — 06.09.21 — 16:42
(12) да об этом. спасибо.
yzimin
14 — 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) вообще представители яндекса сообщили что «технически» можно без сертификатов работать («типа дела ваше»)
unbred
17 — 06.09.21 — 16:52
я всегда так проверяю:
ssl = Новый ЗащищенноеСоединениеOpenSSL;
HTTP_Соединение = Новый HTTPСоединение(АдресСайта_( тут имя сайта), Неопределено, Неопределено, Неопределено, Неопределено, Неопределено, ssl);
Попытка
HTTP_Соединение.ОтправитьДляОбработки(ОтправляемJSON(тут json с телом запроса), АдресРесурса_( тут апи), ПолучаемJSON(тут json с ответом), Заголовки);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл(ПолучаемJSON);
Данные= ПрочитатьJSON(ЧтениеJSON,Ложь);
хочешь передавай токен, хочешь не передавай.
заголовки задать 2 минуты
unbred
18 — 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
Они разные
суннь второй заврос в фидер что выдаст ?
yzimin
20 — 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бла бла бла в настройках базы есть конечно.
yzimin
23 — 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)а нельзя договориться о «сервисном времени» когда можно обновлять базу? а если отключили от сервиса то восстановить его сложно?
yzimin
25 — 07.09.21 — 08:54
(24) На время пока ваш сервер не отвечает на запросы, магазин не продаёт. Нам было выгоднее арендовать выделенный сервер, который 24/7 работает, УТ там не обновляем, никакие работы не проводим. Включается магазин, когда начнут проходить ответы от сервера.
dark_stealth
26 — 29.09.21 — 08:30
У меня с этим модулем еще веселее- отдает 404 ошибку, вроде все делал по их инструкции. Но через личный кабинет при проверке 404, все другие базы опубликованы и работают, претензий к веб-серверу нет. Здесь при обращении к корню публикации — чистая страница, при /cart или /stocks ответ Not found. Модуль не работает ?
dark_stealth
27 — 29.09.21 — 11:01
все оказалось проще- URL для запросов API в ЛК яндекса = https://vashserver.ru/опубликованная база/hs/URL для запросов API .И сразу все взлетело.
документация конечно написана правой ногой, даже как то странно такое видеть от яндекса
dark_stealth
28 — 29.09.21 — 11:04
сорри ошибка в url, правильный https://vashserver.ru/опубликованная база/hs/Marketplace_API
На данной странице описаны типичные сложности, с которыми сталкиваются пользователи плагина «Интеграция с Яндекс.Маркет».
Содержание:
1. Ваша система отвечает через API с ошибками
2. В админ-панель не приходят заказы
2.1. А были ли заказы?
2.2. Возможные ошибки
2.3. Вы отказались принимать заказ
3. Не передаются статусы в маркет
4. Проблемы с передачей остатков
4.1. При входящих обновлениях
4.2. При исходящих отправках
5. Не скачивается акт-приёма передачи
6. Магазин отключен из-за ошибок в работе API
7. Заказ по FBS, но кнопки от DBS
8. Инструменты диагностики
9. Другие ошибки и вопросы
1. Ваша система отвечает через API с ошибками
В случае возникновения каких-либо ошибок во взаимодействии вашего сайта с Яндекс.Маркетом, вы можете увидеть следующее сообщение: «Ваша система отвечает через API с ошибками. Сейчас товары показываются на витрине, но будут скрыты, если ошибок станет больше«.
В этом случае нужно зайти в лог запросов (Настройки — Лог запросов),
Далее переключиться на «Ошибки» и посмотреть детали конкретных ошибок
Пример 1
Детали ошибки:
В этом конкретном примере мы видим, что на некоторые запросы наш сайт ответил ошибкой с кодом 500 (Internal Server Error) В тексте ответа содержится информация об ошибке с номером 1021.
Далее уже можно переходить к сайту и изучать его логи на предмет причины неполадок.
В файле error.log есть отсылка на подробности в файле db.log, в котором и нашлась причина возникновения ошибок 1021 — на хостинге закончилось место.
Пример 2
Детали ошибки:
Ошибка, связанная с долгим ответом сервера — 422 Shop response is too slow. SLA breached. Обычно это не постоянная ошибка, а периодически возникающая несколько раз в день.
Причин долгого ответа может быть множество, чаще всего они связаны либо с недостаточными характеристиками сервера сайта, например, может быть выбран слабый тариф хостинга, не соответствующий нагрузке сайта. Либо ошибка возникает в периоды разовых пиковых нагрузок — синхронизаций с другими системами, обменом с 1С, большой активностью поисковых роботов в этот момент, либо DDOS атаки на сайт.
2. В админ-панель сайта не приходят заказы
Внимание! Синхронизируются только новые заказы, созданные после установки плагина
2.1. А были ли вообще отправлены заказы?
В этом случае нужно зайти в лог запросов (Настройки — Лог запросов),
Проверить что запросы на передачу заказов вообще отправляются, меняем время на максимальное (23ч), ищем метод /accept
Иногда случаются ошибки в работе Маркета и он не отправляет запросы по API какое-то время. Если запросов нет, значит Маркет ничего не отправлял.
Дополнение: в момент индексации прайс-листа Яндекс.Маркет не создаёт тестовые заказы!
2.2. Возможные ошибки
Если запросы есть, тогда посмотреть, есть ли ошибка в логах, она будет отображаться по кнопке «Детали».
Возможные варианты:
- 403 Forbitten
- Not in GZIP format
- Ошибка 404: проверьте, правильно ли скопирована ссылка из плагина
- Item price is not positive: 0. Данная ошибка говорит о том, что ваш сайт отвечает, что цена товара нулевая. Если на самом деле цена товара не ноль, значит, скорее всего, неверно происходит сопоставление (не находит такой товар по offerID)
Если у вас хостинг Firstvds
Запросы отправляются, ошибки нет, но на сайте нет заказов:
Если у вас установлено приложение «Firewall», оно может блокировать запросы от Я.Маркета
2.3. «Вы отказались принимать заказ»
Плагин может отказаться принимать заказ, если товар не найден, либо он в недостаточном количестве. В этом случае в логе ответа будет: { «order»: { «accepted»: false, «reason»: «OUT_OF_DATE» } }
Как продиагностировать: проверить в логах Яндекс.Маркет, какой товар с каким offerID запрашивает маркет. Смотрим запрос /accept. Вероятные причины ошибки:
- Товара нет в наличии в нужном количестве на выбранном складе.
- Неверно сопоставляются OfferID Подробнее про сопоставление
3. Не передаются статусы в маркет
Данная проблема может возникнуть в следующих случаях:
- В настройках плагина действия магазина сопоставлены неверно. Выполняются действия, не выбранные в настройках плагина, и, соответственно, ничего не отправляется. Как проверить: в логи плагина ничего не записывается, в Маркете нет никаких запросов от сайта в логах. Подробнее про сопоставление статусов.
- Исходящий авторизационный токен неверен/отозван. Как проверить: в логах плагина будет запись об ошибке (Access Denied / Token Invalid). Токен может быть заблокирован при смене пароля у аккаунта Яндекса или по другим причинам, нужно его обновить. Как это делается написано здесь.
- Нарушена цепочка последовательности статусов. Вы пытаетесь сменить статус на тот, который недоступен для текущего заказа. Например, для модели FBS предусмотрена четкая последовательность: Принят — Готов к отгрузке — Отгружен. Если попытаться из «Принят» сразу перейти в «Отгружен», из этого ничего не выйдет. Как проверить: в логах плагина, в файле api.error.log будет запись: {«status»:»ERROR»,»errors»:[{«code»:»STATUS_NOT_ALLOWED», «message»: «No permission to set substatus SHIPPED for order XXXXX with status PROCESSING and substatus STARTED»}]}
4. Проблемы с передачей остатков
Кратко: самая частая проблема — неверно выбрано сопоставление «Ваш SKU» (offerID), поэтому остатки отдаются неверно. Подробно про настройку здесь.
Подробный процесс диагностики:
Передача остатков в Яндекс.Маркет в данный момент осуществляется с помощью двух механизмов:
- Яндекс.Маркет сам запрашивает остатки по своему списку товаров, присылая запросы /stocks в любой момент.
- Вы сами отправляете информацию в Маркет об остатках через метод /stocks, через кнопку в интерфейсе, или через автоматический планировщик CRON. Подробнее об этом здесь.
4.1. Диагностика для входящих обновлений остатков
Допустим, вы обнаружили, что наличие остатков в Яндекс.Маркет не соответствует сайту. Как проверить, почему они не обновились:
1. Выберите один или несколько товаров в личном кабинете Яндекс.Маркет, запишите значения из поля «Ваш SKU»:
В данном случае это fbs213, fbs212, fbs214
2. Далее в личном кабинете нужно перейти в раздел «Лог запросов»:
Нас интересуют запросы /stocks На вкладке «К вашему серверу» — те запросы, что посылает сам Маркет, а на вкладке «К серверу Маркета» — те запросы, что ваш сайт посылал самостоятельно. Обратите внимание, чтобы дата и время были выбраны правильно. Подробности запроса доступны по нажатию на «шестерёнку»:
Какие здесь могут быть ошибки:
1) Отсутствуют исходящие запросы /stocks от Маркета — неправильно выставлено время, либо не включено обновление остатков через API.
Проверьте обновление, нажав в личном кабинете в разделе «Настройки API» следующую кнопку:
2) Запросы /stocks присутствуют, но указано, что есть какие-то ошибки:
- Доступ запрещен — 403 Forbitten
- Ошибка «expected and actual fingerprints aren’t the same»
- Read timed out — маркет не дождался ответа сайта. Если ошибка возникает только «иногда», то причина здесь не в плагине, а в ресурсах сайта. Возможно, в данный момент нагрузка на сайт повышена и он не может быстро отвечать на различные запросы.
3) Запросы /stocks присутствуют, ошибок нет, в теле пусто
Если в реальных запросах наличия ошибок нет, но в ответе «Тело отсутствует», то это нормально. Ответ поддержки Маркета:
Это вполне нормальная ситуация ,когда тело ответа скрывается, открыто оно только в тестовых запросах , сделано это для экономии вычислительных ресурсов, главное ,чтобы статус запроса был 200
Как же узнать, какая информация передаётся об остатках? Переходим в админку нашего сайта и включаем «Дебаг режим»:
При этом режиме все запросы будут записываться в логи сайта. Перейдите в приложение «Логи».
В файле plugins/pokupki/apiRequest.debug.log можно увидеть, по каким товарам было запрошены остатки, пример:
Попробуйте найти те SKU, которые записали ранее, присутствуют ли они в запросе Маркета. Для удобства файл лога вы можете скачать и посмотреть в текстовом редакторе на вашем компьютере (рекомендуем Sublime Text).
Если SKU в запросе отсутствуют, значит Маркет не запрашивает по нему наличие. Это может происходить по различным, не зависящим от нас причинам — может быть товар в архиве?
Если SKU присутствует, нужно изучить другой файл — ответ сайта. Найдите файл /plugins/pokupki/api.Response.debug.log — в него записывается ответ нашего сайта, та информация, которая отправляется в Яндекс.Маркет.
Теперь попробуйте найти ранее записанные SKU в этом файле.
Если SKU присутствует, то проверьте, какое по нему отправляется наличие, и какое указано в самом товаре. В случае несовпадения проверьте:
- Сопоставление OfferID — ID товара/ID артикула/Код артикула. Подробнее про сопоставление.
- Выбранные склады в этой настройке.
- Условия по изменению наличия в этой настройке.
Если SKU отсутствует, значит такой товар не найден на вашем сайте. Проверьте следующее:
- Какие товары выбраны для определения наличия, присутствует ли в нём этот товар. Подробнее про настройку.
- Неверно указан принцип сопоставления товаров. Проверьте, как выставлено сопоставление — ID товара/ID артикула/Код артикула. Подробнее про сопоставление.
- Не учтён формат SKU — например, в Маркете у вас fbs1234 (добавлена приставка к ID). Он заводится здесь.
4.2. Диагностика для исходящих обновлений остатков
В случае использования самостоятельной отправки остатков, вся информация будет записана в файл /plugins/pokupki/api.Request.offers-stock.debug.log В нем вы так же можете найти какой товар с каким наличием отправляется в Маркет, а полученные данные видны в личном кабинете на вкладке «К серверу Маркета», запросы /stocks.
Если при нажатии кнопки отправки остатков, вы видите, что обновляется лог /shop/plugins/pokupki/api.error.log , а внутри следующее сообщение:
{"error":{"code":403,"message":"Access denied"},"errors":[{"code":"FORBIDDEN","message":"Access denied"}],"status":"ERROR"}
значит варианта два:
- Исходящий токен доступа утратил актуальность, как обновить.
- Неверно введён номер кампании.
В случае отсутствия такой записи в логах, нужно проверить, с каким offer_id отправляются остатки, вероятно в этом есть ошибка (например, товары в Яндекс.Маркет заведены с кодом артикула, а обновление идет по Id артикула).
5. Не скачивается акт приёма-передачи
- Акт доступен только в день отгрузки
- Проверьте, что все заказы переведены в статус «Готов к отгрузке».
- Ошибка «Token Invalid» — проверьте исходящий авторизационный токен. Токен может быть заблокирован при смене пароля у аккаунта Яндекса, нужно его обновить. Как это делается написано здесь.
Проверьте, скачивается ли акт в личном кабинете Яндекс.Маркет.
6. Магазин отключили из-за ошибок в работе API
Если ошибка только при запросе order/status:
Ошибка 500 при запросе order/status
Если ошибка при любом запросе, но иногда:
Яндекс.Маркет может запрашивать актуальное наличие товаров через запрос /stocks хоть каждую минуту. Поэтому, если на сайте возникли какие-либо неполадки, в результате чего он стал временно недоступен, либо стал дольше отвечать на запросы, это может привести к ошибкам в ответе по API, т.к. Яндекс ждёт ответа всего-лишь несколько десятков секунд. Проблем в плагине в этом случае нет.
В любом случае, нужно смотреть описание конкретных ошибок в логах
7. Заказ по модели FBS, но отображаются кнопки от DBS («изменить дату доставки»)
Такое могло произойти, если в момент получения заказа в настройках модели был указан один номер кампании, а уже после, по какой-то причине, изменён на другой. Для последующих заказов всё будет нормально.
В диагностике вам может помочь:
8.1. Лог запросов в личном кабинете Яндекс.Маркет
Здесь вы сможете посмотреть, что отправляется из Маркета и какой он получает ответ.
8.2. Включение логирования в плагине
В этом случае в приложении «Логи» будут записи о запросах и ответах, которые принимает или отправляет плагин.
8.3. Отправка тестовых запросов через сервис «Postman»
С помощью него вы сможете отправить тестовый запрос на ваш сайт и посмотреть, какой он даёт ответ в том или ином случае.
8.4. Отправка тестовых заказов через интерфейс в Яндекс.Маркет
В личном кабинете продавца «Яндекс.Маркет» зайдите в раздел левого меню Настройки — тестовые заказы
Здесь можно отправить тестовый заказ и проверить работу плагина.
9. Другие ошибки и вопросы
Если у вас возникала какая-то другая проблема, не описанная на данной странице, нужно написать в поддержку по почте support@bodysite.ru , мы все проверим.
Прежде чем загрузить содержимое страницы, робот поисковой системы (или браузер пользователя) сначала делает специальный запрос, на который сервер отвечает в виде трехзначного кода. Разбираемся, какие эти коды бывают и как их проверить — вручную и с помощью сторонних сервисов.
Что такое код сервера
Код сервера (его еще называют кодом состояния HTTP) — последовательность из трех чисел с небольшим текстовым пояснением, который запрашивают и проверяют браузеры и поисковые роботы. Вот пример как это выглядит:
Страница с кодом ответа сервера Discord при переходе на несуществующую страницу
В этом случае код — число 404. Оно означает, что запрашиваемая страница не существует. Под числом небольшое текстовое сообщение: «вы выглядите потерянным, вот вам несколько других страниц». Под сообщением — альтернатива: ссылки на существующие страницы.
Читайте также: 11 способов проверки битых ссылок на сайте
Какие бывают коды ответов
Классы состояния — это группы кодов, которые объединяются общими признаками. Всего есть пять классов: принадлежность определяется первой цифрой из трех.
Класс 1. Выглядит так: 1ХХ. Это временные информационные коды. Они сообщают о том, что запрос принят и находится в обработке.
Класс 2. Выглядит так: 2ХХ. Сообщает об успешной обработке запроса.
Класс 3. Выглядит так: 3ХХ. Сообщает о перенаправлении с одного адреса на другой. Эти коды говорят об изменении URL. Используются при создании зеркал или переносе сайта на новый движок.
Класс 4. Выглядит так: 4ХХ. Говорит об ошибке со стороны посетителя. Обычно после числа идет небольшой текст с объяснением — в чем проблема. Такие коды говорят о запрете просмотра страницы или об ее отсутствии.
Класс 5. Выглядит так: 5ХХ. Сообщает об ошибке со стороны сервера. После этого класса тоже следует текстовое сообщение с объяснением причины поломки.
Теперь разберем более распространенные виды ответов в каждом классе.
Класс 1
100 Continue. Промежуточный ответ сервера. Говорит о том, что сервер принял запрос и начинает обработку.
101 Switching Protocols. Код ответа указывает протокол, который переключает сервер, используя запрос Upgrade. В ответ сервер отправляет заголовок ответа Upgrade с указанием протокола, на который переключился.
102 Processing. Это значит, что сервер получил запрос и обрабатывает его. Клиент не должен разрывать соединение, чтобы дождаться ответа от сервера. Этот код используется в протоколе WebDAV (измененный HTTP для работы с файлами).
Класс 2
200 Ok. Говорит об успешной обработке запроса. Например, запрошенные страница или данные найдены и готовы к просмотру. Всем страницам, которые участвуют в индексировании, присваивается код 200.
202 Accepted. Запрос принят и будет обрабатываться долго. Пользователь может не дожидаться окончания запроса. Используется, когда запрос обрабатывается другим сервером. Такой код используется сервером, чтобы выполнять несколько запросов одновременно: пока пользователь с кодом 202 ждет окончания операции, 200 уже «видит» страницу.
203 Non-Authoritative Information. Код означает, что обработка запроса прошла успешно. Но информация поступила не от сервера, а от другого источника: облака, резервной копии.
204 No Content. Такой код используется на портал для запуска скриптов. Например, когда пользователь кликает по свободному месту на сайте.
205 Reset Content. Говорит о том, что браузеру нужно очистить форму, в которую вписаны данные. Такой код используется, чтобы очистить поля, заполненные при регистрации. При это обновлять ресурс не нужно.
Класс 3
300 Multiple Choices. Говорит о том, что указанный URL обозначает больше, чем один ресурс. Например, страницу, переведенную на несколько языков.
301 Moved Permanently. Ответ означает, что запрошенный URL изменен или больше не существует, а пользователю предлагается перейти по новой ссылке.
Обычно с таким ответом срабатывает автоматический редирект на новую страницу. Код 301 уместно прописывать в следующих ситуациях: когда сайт переезжает на новый домен, при склеивании зеркала с оригинальным сайтом, при изменении ссылок страниц, для маскировки партнерских ссылок. Не нужно прописывать код, если в скором времени сайт вернется на прежний URL.
302 Found. Запрошенный URL перенесен на новый адрес. Такой код используется, когда адрес страницы изменился, но контент индексируется по старой ссылке. Например, 302 используют, чтобы было несколько версий главной страницы на разных языках. Также код говорит о том, что в будущем сайт будет доступен по старому адресу.
303 See Other. Указывает, что происходит перенаправление на другую страницу. Чтобы новая страница индексировалась, она должна отвечать на код 200. Такой код используется для страниц с подтверждением. Например, когда сайт высылает код подтверждения регистрации.
304 Not Modified. Это значит, что предыдущая версия страницы не изменена. Благодаря этому робот индексирует ее без загрузки. Из-за этого сервер меньше нагружается и повышается время безотказной работы. А пользователь работает с версией страницы, которая сохранена в памяти браузера.
У пользователей часто возникает ошибка HTTP 304. Такое бывает, если компьютер заражен вирусами или Windows медленно работает. Чтобы решить проблему, нужно проверить ПК на вирусы и очистить от лишних файлов. Еще можно восстановить записи в реестре системы. Но такую процедуру лучше доверить мастерам сервисного центра: если делать самостоятельно, можно превратить ПК в «кирпич».
305 Use Proxy. Сайт будет доступен только при использовании прокси-сервера. При этом нужно использовать сервер, который указан в разделе Location. Такой код предназначен для защиты сайта.
308 Permanent Redirect. Полностью повторяет запрос 301. Разница в методе выполняемого запроса.
Класс 4
400 Bad Request. Сервер не может понять запрос, потому что он введен с ошибкой. Под ошибкой обычно понимается синтаксическая: некорректно введен URL. Также код 400 появляется, когда пользователь пытается загрузить на сайт слишком большой файл. Решить проблему помогает смена запроса или очистка cookies. Чтобы очистить куки в браузере, нужно перейти в настройки, в раздел конфиденциальности и безопасности.
401 Unauthorized. У клиента не получается зайти на страницу сайта, потому что у него не хватает прав доступа. Такая ошибка возникает на сайтах, где есть форма для авторизации. Решить ошибку можно двумя способами: войти в систему с использованием логина и пароля или очистить кэш браузера.
403 Forbidden. Этот код говорит о запрете на просмотр страницы. Такое бывает, если для IP-адреса внесен запрет на уровне сервера. Решить проблему можно с помощью VPN или прокси.
Что такое прокси? Как выбрать качественный прокси-сервер? Прокси для SEO, парсинга, арбитража и пр.
404 Not Found. Код означает, что запрашиваемая страница (сайт или документ) не существует или расположена по другому адресу.
Ошибка 404 влияет на SEO-оптимизацию: если страница не существует / не доступна, поисковые роботы не будут ее индексировать и показывать в поиске. А еще переходы по битым ссылкам ухудшают поведенческие факторы. Но нивелировать негатив поможет грамотное оформление 404-страницы. Можно сделать ее с юмором, перенаправить трафик на другие ресурсы.
405 Method Not Allowed. Соответствующий код появляется, если на этапе обработки запроса сервер получает запрет. Такое случается, если нарушается работа php-скриптов. Ошибку можно решить с помощью перезагрузки страницы. Также помогает проверить все скрипты и удалить дополнения в CMS.
408 Request Timeout. Это значит, что сервер прервал соединение. Такое бывает, когда сервер не получает запросов от посетителей долгое время. Если пользователь сам прекращает соединение, ошибки не возникает.
409 Conflict.Означает конфликт между пользовательским запросом и сервером. Например, клиент хочет скачать с сайта файл «фото01». Но раньше файл назывался «фото1» и это название сохранилось в кеше. Из-за этого сервер не понимает, что хочет скачать пользователь — возникает конфликт.
410 Gone. Это значит, что документ удален с сервера навсегда. Если поисковый робот получит этот код, он больше не будет просматривать страницу.
413 Request Entity Too Large. Ошибка возникает, если пользователь пытается загрузить слишком большой файл на сайт. Стандартно допустимый размер загружаемого файла — 1 Мб. Если клиент пытается загрузить больше — возникает ошибка. Чтобы решить проблему, нужно увеличить размер максимально загружаемого файла. Для этого нужно вносить изменения в настройки Nginx, php и apache. (Есть видео, как это делать в CMS WordPress.)
414 Request-URL Too Long. Если пользователь пытается сделать запрос с длинным URL, возникает такая ошибка.
423 Locked. Такая ошибка возникает, если IP-адрес блокируется хостером. Блокировку можно получить за сильную активность, интернет-мошенничество или вирусы.
451 Unavailable For Legal Reasons. Новая ошибка, которая набирает популярность. Она появляется на сайтах, которые заблокированы государством. Ошибка 451 — дополнение к 403.
Класс 5
500 Internal Server Error. Ошибка из-за сбоев на сервере. Возникает при неправильной конфигурации файла .htaccess. Чтобы решить проблему, нужно изменить директиву Options: поставить в начале строки #.
502 Bad Gateway. Возникает, если есть промежуточный сервер. Случается, когда промежуточный сервер получает запрос и запрашивает данные у «главного» сервера, и получает неправильный ответ. В решении ошибки помогает очистка кеша браузера, обновление страницы и очистка DNS-кеша.
503 Service Unavailable. У сервера не получается обрабатывать запросы по техническим причинам. Например, если на сервере ведутся какие-то работы.
504 Gateway Timeout. Шлюз не дает ответа. Появляется, если ответ от главного сервера не получен.
507 Insufficient Storage. Ошибка высвечивается, если у сервера нет места работы с операцией. Проблему можно решить перезагрузкой. Или просто подождать.
511 Network Authentication Required. Значит, что нужно пройти авторизацию для доступа к интернету. Такой ответ высылает посредник, например, провайдер. Чтобы решить проблему, нужно написать в поддержку провайдера.
О популярных и важных ошибках поговорили. Теперь разберемся, как проверить код сервера. Это можно сделать самостоятельно или с помощью сторонних программ.
Как проверить код сервера
Начнем с ручного способа. Для этого перейдите на сайт через браузер Chrome и откройте консоль клавишей «F12». (Или «Fn + F12» на ноутбуках. Также инструменты разработчика можно включить сочетанием клавиш «Ctrl + Shift + I».) Теперь перейдите во вкладку «Network» и нажмите «Ctrl + R».
Ручная проверка кодов ответа страниц в консоли
Чтобы узнать код страницы, нужно смотреть столбец «Status».
Коды ответа сервера в столбце Status
Теперь о проверках с помощью сторонних сайтов и плагинов.
Bertal
Bertal — сервис для просмотра http-заголовков, веб-файлов (.html, .php, .asp, .gif, .jpg, .css и др.). Также позволяет просматривать html-код страниц. Работает с протоколами HTTP, HTTPS, FTP.
Возможности:
- Запрос информации методами HEAD, GET, POST. Метод HEAD — если запрашивается заголовок. GET — если запрашивается заголовок и тело. POST — как и GET, но с заполненной строкой POST.
- Поддерживаемые поисковые роботы: YandexBot, GoogleBot, BingBot, Yahoo, Baiduspider.
- Поддерживаемые браузеры: Mozilla Firefox, Google Chrome, Internet Explorer, Opera, Opera mini.
- Работает с Proxy.
- Можно указывать содержимое Cookies.
Отчет по странице от Bertal
Стоимость. Бесплатно.
PR-CY
PR-CY — cервис для SEO-аудита сайта, мониторинга и проверки позиций в поисковой выдачи. Подходит для анализа кодов ответа сервера, метатегов, содержимого страниц. Есть функции мониторинга сайта, проверки индексирования.
Возможности:
- Проверка кодов ответа страниц. Сервис проверяет все элементы: текст, скрипты, видео, фотографии. После PR-CY дает рекомендации: сжать текст, сократить HTML, CSS или JS.
- Работает с видами запросов: GET, POST, HEAD.
- Глубокий анализ: проверка редиректов, поиск всех кодов.
- Работает с поисковыми системами Google и Yandex.
- Проверка контента: пустые заголовки, лишние скрипты, нерабочие внешние ссылки.
Еще у PR-CY есть много чего: проверка скорости загрузки, вирусов, срока действия SSL-сертификата и др.
Результаты анализа сайта в PR-CY
Стоимость. Есть бесплатный тариф для экспресс-анализа сайта. Для полного аудита нужно покупать подписку. Она стартует от 990 ₽ в месяц. Позволяет вести до 5 проектов и проверять 1 000 страниц. Дорогие тарифы отличаются тем, что можно вести больше проектов и проверять больше страниц.
Читайте также: Как оптимизировать изображения для сайта
Checkmy
Checkmy — помогает проверить коды и заголовки ответа сервера. А еще доступность URL адресов, кеширование страниц, сжатие контента, исходный код, тип сервера и корректность переадресаций.
Возможности:
- Работает с доменам на кириллице.
- Работает через мобильную версию.
- Проверяет страницы с несколькими редиректами.
- Показывает размер и скорость загрузки страницы.
- Проверяет контент на сжатие.
Проверка кодов ответа сервера через Chekmy
Стоимость. Бесплатно.
Sitechecker
Sitechecker подходит для мониторинга сайта и полного аудита.
Возможности:
- Проверка состояния страницы и кодов ответа.
- Подсчет «веса» HTML-кода страницы. Если он больше 2 Мб, сервис подскажет, как его уменьшить.
- Отдельная проверка страницы с кодом 404.
- Проверка индексации поисковыми системами.
- SEO-анализ страницы: проверка title, description, заголовков h1-h6. Проверка изображений и атрибутов Alt, внутренних и внешних ссылок.
- SEO-аудит сайта: оценка битых ссылок и редиректов, метатегов, скорости загрузки.
- Мониторинг ресурса: контроль статуса индексирования, защита от взломов и отслеживание сайтов конкурентов.
Аудит сайта не сервисе Sitecheker
Стоимость. Можно сделать проверку кодов бесплатно. Но функции мониторинга, проверки обратных ссылок и индексации будут недоступны. Платная подписка стартует от 29 $ в месяц. Для подписки доступно 3 тарифа. Они отличаются количеством сайтов, которые можно проверять.
А еще за парсингом метатегов и заголовков, анализом индексации страниц, съемом позиций в поисковиках, сбором семантического ядра можно обратиться в Promopult. Это мощная платформа для комплексного продвижения в интернете: поисковой оптимизации, контекстной и таргетированной рекламы, управления репутацией.
Яндекс.Вебмастер
Яндекс.Вебмастер поможет узнать, доступны ли страницы для поисковых роботов Яндекса. (Но ответ, полученный через Яндекс.Вебмастер, может отличаться от того, который получит поисковый робот. Дело в том, что инструмент работает через другой IP-адрес. Об этом сказано в Яндекс.Справке.)
Возможности:
- Проверка всех классов ответа сервера.
- Дополнительно можно узнать срок действия SSL-сертификата.
- Проверяет страницы размером до 10 Мб.
- Работает с файлами этих типов: PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, ODS, ODP, ODT, ODG, RTF, TXT и SWF.
Проверка ответа сервера через Яндекс.Вебмастер
Стоимость. Бесплатно.
Converseo
Converseo подходит для как для проверки одиночного URL, так и для массового отслеживания.
Возможности:
- Работа с методами GET, POST, HEAD.
- Есть дополнительные функции: сравнение списков, загрузка фото из Instagram.
- Готовый отчет можно скачать в формате CSV.
Вот так выглядит отчет по массовой проверке URL на сайте Converseo.
Вот так выглядит отчет по одиночной проверке URL на сайте Converseo.
Стоимость. Бесплатно.
Coolakov
Coolakov — работает также, как и Converseo. Есть и дополнительные функции.
Возможности:
- Массовая проверка URL. Особенность в том, что выдается конечный ответ сервера. Например, если был редирект на рабочую страницу — ответ будет 200. Если на сломанную — в зависимости от ошибки.
- Поддерживаемые браузеры: Mozilla Firefox, Google Chrome, Safari.
- Проверка доступности сайта.
- Измерение скорости загрузки портала.
- Проверка индекса качества сайта.
- Проверка орфографии.
Проверка ответов сервера через Coolakov
Стоимость. Бесплатно.
Headmasterseo
Headmasterseo. Программа для Windows и Mac, которая проверяет массовые URL. Отслеживает коды состояния, редиректы, время ответа и заголовки ответов.
Возможности:
- Проверка URL с помощью метода HEAD.
- Одновременная проверка 500 ссылок.
- Проверка циклов перенаправления. Есть тестер, который оценит, правильно ли настроен редирект.
- Работает с прокси.
- Готовый отчет можно экспортировать в формате CSV.
- Проверка полей заголовков.
- Проверка Sitemap файлов в формате XML.
Пример отчета в Headmasterseo
Стоимость. До 500 URL можно проверять бесплатно. Чтобы проверить больше, нужно платить. За 10 000 URL придется заплатить 50 $. За 100 000 — 100 $. Неограниченное количество ссылок можно проверять за 150 $.
Читайте также: Исчерпывающий гид по поисковым операторам Google и Яндекса
Плагины
Redirect Path Link. Это бесплатный плагин для Google Chrome. Он поможет провести SEO-аудит сайта и проверить HTTP-заголовки. Работает только с 3 классом кодов сервера.
Robots Exclusion Checker. Помогает оптимизировать сайт, найти проблемы в индексации и сделать SEO-аудит. Плагин бесплатный. Работает со всеми классами кодов и поисковыми роботами Googlebot, Bing, Yahoo.
SEO META in 1 CLICK. Бесплатный плагин для Google Chrome. Помогает проверить коды ответа сервера, проанализировать заголовки H1-H6, проверить изображения и Alt атрибуты к ним и др.
Website SEO Checker: Free Audit & Analysis. Бесплатный плагин от Sitecheker. В нем есть такие же функции, как и на сайте: аудит, мониторинг, анализ, просмотр кодов ответа и т.д.
Коротко о главном
Код ответа сервера — это трехзначное число с небольшим текстовым сопровождением. Коды делят на 5 классов:
- 1ХХ — информационные.
- 2ХХ — успешные.
- 3ХХ — переадресация
- 4ХХ — проблемы со стороны пользователя.
- 5ХХ — проблемы со стороны сервера.
Это важный элемент поисковой оптимизации. Они влияют на индексирование страницы поисковыми роботами, помогают настроить эффективную переадресацию.
Чтобы сайт хорошо продвигался в поисковых системах, стоит регулярно отслеживать коды ответа. Это можно делать самостоятельно или с помощью сторонних сервисов. Большая часть из них бесплатная.
А чтобы глубже разобраться в SEO, приходите учиться в CyberMarketing. У нас есть статьи, вебинары, базовые и продвинутые курсы по поисковому продвижению. Преподают эксперты Promopult: Руслан Байбеков и Евгений Костин.
Ошибки 5XX означают, что есть проблемы со стороны сервера. Например, 500 ошибка значит, что сервер столкнулся с внутренней ошибкой, из-за которой не смог обработать запрос. К ней могут привести неверные директивы в .htaccess или ошибки в скриптах сайта. А ошибка 503 означает, что сервер не может обработать ваш запрос в данный момент. После номера ошибки часто идёт краткое описание. 503 ошибка сервера часто сопровождается фразой «Service Temporarily Unavailable» (сервис временно недоступен). Если на вашем сайте часто встречается 503 ошибка, значит самое время выяснить её причину.
В этой статье мы рассмотрим возможные причины возникновения 503 ошибки на сайте и способы её устранения.
Ошибка 503 Service Unavailable
Что такое ошибка 503 (Service Temporarily Unavailable)
Эта ошибка означает, что сервер не готов обработать запрос в данный момент. Подразумевается, что это временно и нужно повторить попытку позже. Но это не всегда так. HTTP 503 Service Unavailable — это код состояния, который содержится в ответе веб-сервера и показывает, успешно ли выполнен запрос. Коды 5XX принадлежат классу серверных ошибок. В спецификации RFC 7231 указано, что код 503 сообщает о том, что сервер в настоящее время не может обработать запрос из-за временной перегрузки или планового технического обслуживания
Спецификация RFC 7231
Если вы встретили эту ошибку, скорее всего, веб-сервер не успевает обрабатывать все поступающие на него запросы из-за нехватки ресурсов или технического обслуживания. Однако бывает, что ошибка 500 возникает не со стороны сервера, а со стороны клиента. Поэтому сначала стоит определить, на чьей стороне проблема. Если вы не являетесь администратором сайта, на котором встретили ошибку, проверьте, нет ли проблем с вашей стороны.
Как исправить ошибку 503 со стороны пользователя
- 1.
Перезагрузите страницу при помощи клавиши F5. Бывает, что проблема действительно временная и возникла в прошлый раз, когда вы пытались открыть страницу.
- 2.
Если после нескольких перезагрузок страницы ошибка всё равно возникает, попробуйте открыть сайт через другой браузер. Если в другом браузере ошибка не воспроизводится, очистите кэш на своем браузере. Например, в Google Chrome нажмите комбинацию клавиш Ctrl+Shift+Delete:
Очистить историю в Google Chrome
- 3.
Если действия выше не помогли, попробуйте перейти на сайт с другого устройства. Будет лучше, если оно будет подключено к другой сети, чтобы исключить проблему со стороны интернет-провайдера. Откройте сайт на телефоне через мобильный интернет или попросите сделать это кого-нибудь ещё. Если на другом устройстве сайт работает, попробуйте перезагрузить ваше устройство. При возможности то же самое лучше сделать и с роутером.
- 4.
Если ничего из перечисленного вам не помогло, попробуйте связаться с владельцем сайта. Сделать это можно через форму обратной связи или по email, указанному на сайте. Если недоступен сайт целиком, а не какая-то определенная страница, попробуйте найти контакты в поисковых системах, в социальных сетях или на форумах.
Эти действия помогут понять, с чьей стороны проблема. Если вам самостоятельно не удалось решить проблему, то остаётся только ждать решения проблемы владельцем сайта. Скорее всего, это массовая проблема, и её решением уже занимаются. Попробуйте открыть сайт позже.
Ошибка недоступности, если вы владелец сайта
Частые ошибки 503 на вашем сайте могут негативно сказаться на позициях в поисковых системах и привести к снижению трафика. Посетители могут просто не вернуться на ваш сайт. Не игнорируйте проблему и сразу приступайте к её решению. Вот несколько вариантов решения:
- На любом хостинге есть ограничения и лимиты, которые не стоит превышать. Их устанавливает хостинг-провайдер. Превышение лимитов может привести к возникновению проблем на сайте, в том числе и к ошибке 503. Изучить характеристики вашего тарифного плана вы можете на сайте хостинг-провайдера. Для хостинга REG.RU действуют следующие технические ограничения.
- Хостинг может не справляться с большим количеством посетителей на сайте. В этом случае может помочь смена тарифного плана или переезд к новому хостинг-провайдеру.
- Бывает, что неактуальные версии плагинов и других компонентов движка нарушают работу сайта. Попробуйте по очереди отключать установленные плагины вашей CMS и проверять работоспособность сайта после каждого. Если ошибка не возникает после отключения очередного плагина, обновите этот плагин до последней версии. Возможно, что в новой версии разработчик уже внёс исправления. Если обновление не помогло, плагину нужно искать альтернативу.
- Регулярно обновляйте CMS и её компоненты. Зачастую обновления направлены на оптимизацию работы движка, устранение уязвимостей, борьбу с багами, повышение безопасности и быстродействия. Удалите все ненужные компоненты, которыми не пользуетесь. Оставьте только самые необходимые, чтобы уменьшить нагрузку на сервер.
- Проанализируйте скрипты сайта. К HTTP Error 503 может привести неправильная работа скриптов на сайте. Выполните их диагностику и убедитесь, что на сайте не включен режим технических работ.
- Не загружайте крупные файлы при помощи PHP. Очень часто хостинг-провайдер ограничивает время выполнения скрипта, и вы можете не уложиться в этот лимит. Ещё одним минусом передачи файлов через PHP является создание отдельного PHP-процесса, который будет занят загрузкой файла, а не обработкой запросов посетителей. Загружайте файлы по FTP, чтобы уменьшить нагрузку на хостинг.
- Запускайте массовые почтовые рассылки в периоды минимальной активности на вашем сайте. Точно так же стоит поступить и с техническими работами на сайте и сервере.
- Поисковые роботы могут генерировать большое количество обращений к сайту. Проанализируйте статистику по User-Agent и выясните, какие роботы создают нагрузку. При помощи файла robots.txt задайте временной интервал обращений.
- Настройте кэширование средствами CMS или хостинга. В WordPress вы можете настроить кэширование с помощью нашей инструкции: Что такое кэширование и как управлять им в WordPress. В панели управления хостингом тоже часто имеются встроенные инструменты по настройке кэширования.
- Запросы к сторонним ресурсам могут замедлять генерацию и отдачу контента, что в итоге может привести к 503 ошибке. Если удалённый сервер недоступен, ваш сайт потратит больше времени на ожидание ответа. Уменьшите тайм-аут ожидания ответа от стороннего ресурса или вовсе откажитесь от таких запросов. Работоспособность сторонних сервисов невозможно контролировать.
Не всегда проблему можно решить самостоятельно. Иногда лучше сразу обратиться за помощью к опытным специалистам. Если считаете, что вашего опыта и умений недостаточно для решения проблемы, свяжитесь со службой поддержки вашего хостинг-провайдера.
Ошибка 503 на хостинге REG.RU
- 1.
Ошибка может возникнуть из-за превышения лимита на количество PHP-процессов. Согласно техническим ограничениям, на тарифных планах Host максимальное количество процессов PHP составляет 4, на тарифных планах VIP — 32.
Чтобы посмотреть запущенные PHP-процессы, подключитесь по SSH и выполните следующую команду:
ps aux | grep php | grep u1234567
Где u1234567 — ваш логин хостинга (Как узнать логин хостинга).
Чтобы завершить текущие php-процессы, измените версию PHP на отличную от текущей. Затем включите версию PHP, которая была установлена ранее.
- 2.
Максимальное количество процессов на тарифных планах Host составляет 18, а на VIP — 48. Если общее количество процессов (PHP, IMAP, Cron и др.) будет превышено, то может возникнуть ошибка «503 временно недоступен».
Технические ограничения хостинга REG.RU
Чаще всего причиной является большое количество процессов IMAP из-за многочисленных подключений к ящикам. В качестве решения проблемы попробуйте подключаться к почтовому серверу по протоколу POP3. Это позволит уменьшить общее количество процессов.
- 3.
Максимальное количество HTTP-запросов в секунду на один домен: 75 на тарифах Host и 300 на VIP. При превышении этого лимита 503 ошибку может возвращать весь сайт или часть контента на нём. Причиной может быть большое количество запросов в секунду или контента на сайте (картинки, баннеры).
- 4.
На VPS ошибка может возникнуть из-за DDoS-атаки, из-за которой увеличивается нагрузка на сервер.
Если вам не удалось решить проблему на хостинге REG.RU самостоятельно, напишите заявку в службу поддержки.
Обычные посетители сайта обращают внимание в первую очередь на качественный контент, а поисковые краулеры – на ответы сервера.
Сегодня научимся проверять код как одной страницы, так и всех сразу, а также разберем все коды ответа и узнаем, что именно они означают.
Немного теории
Определить доступность веб-страницы поможет анализ кода состояния HTTP. Технически он представляет из себя стандартный запрос. Он отправляется, когда мы переходим по определенной ссылке на сайте или просто вводим ее в поисковой строке браузера. При обработке запроса сервер самостоятельно формирует и отдает трехзначный цифровой код.
Благодаря коду ответа понять реакцию сайта на запрос может не только поисковый краулер, но и обычный пользователь. Здесь нет ничего сложного даже для начинающих вебмастеров.
Сперва определимся с терминами.
- Клиент – компьютер, смартфон или другое мобильное устройство, которое имеет подключение к интернету.
- Сервер – определенный компьютер, который хранит все данные сайта (включая страницы и системные файлы). Именно на сервере «живет» сайт.
Выделяют пять классов ответов. Идентифицировать класс можно по первой цифре.
- 5** – техническая ошибка на стороне сервера. Точная причина указывается сразу после кода. Иногда пятисотая говорит о внутренних сбоях, реже – о превышении статической нагрузки на сервер.
- 4** – сбой на стороне юзера.
- 3** – обнаружен редирект на другой адрес (не ошибка).
- 2** – запрос обработан успешно (не ошибка).
- 1** – служебный класс кодов, который чаще всего относится к информационным сообщениям (не ошибка).
Логика кодов, таким образом, весьма проста:
Продвинем ваш бизнес
В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров
Подробнее
Что значат коды состояния HTTP
Причины / решения / пояснения ошибок, я буду давать только для самых часто встречающихся кодов. Для всех остальных – только краткое описание.
Двухсотые – успешные запросы
200 – успешный запрос данных. Код не является ошибкой.
201 – завершена успешная транзакция. Код говорит о том, что сформирован новый ресурс (или документ).
202 – запрос принят, но еще не завершен. Необходимо дождаться окончания обработки.
203 – данные получены не из первоисточника (возвращаемые данные идут не от исходного сервера, а от какого-то другого) и могут быть устаревшими.
204 – запрос был обработан правильно, но отсутствует содержимое. Есть заголовок ответа, но содержимое для него отсутствует. Обновлять и актуализировать содержимое не нужно.
205 – клиенту необходимо осуществить сброс содержимого. Саму страницу обновлять не требуется.
206 – ошибка частичного содержимого. Если клиент хочет выполнить загрузку данных в несколько потоков, а сервер выполняет только часть GET-запроса, будет возникать 206-ая ошибка.
GET-запрос предназначен для получения данных, в то время как POST-запрос нужен для отправки данных.
Код также может быть отправлен с сервера, когда клиент запросил диапазон (например, условно: «Дайте мне первые 2 МБ видеоданных»). Происходит возврат только частичного контента, соответствующего Range-заголовку (данный заголовок дает понять серверу, какую именно часть страницы от него требуют, и какую ему нужно вернуть).
Если страница отдает этот код, следует обратить внимание на выполнение кэширования и на исходящий запрос.
207 – выполнено несколько операций. Найти их можно в XML, в строке MultiStatus.
226 – обработан IM-заголовок. Содержимое будет возвращено для получения информации об ответе вместе с ранее обозначенными параметрами.
Трехсотые – запросы на редирект
300 – не удалось идентифицировать точный URL. Такой ответ возникает, когда существует множественный выбор, и краулер не знает, к какой именно странице относится ресурс.
301 – документ был навсегда перемещен на новый URL. Так должны отвечать все веб-страницы, которые удалены или являются зеркалами, дублями. Со временем все указанные страницы будут склеены с целевой веб-страницей (присоединены к ней) автоматически. Если возникает такая ошибка, нужно настроить 301-ое перенаправление с устаревшего URL на актуальный (если речь идет о веб-странице, которая уже ранжировалась, но ее URL изменился). В таком случае все позитивные метрики, включая вес URL, будут сохранены.
302 – документ был временно перемещен на новый URL. Это абсолютно корректный ответ сервера, который актуален для веб-страниц с распродажами или сезонными акциями, распространяющимися на какой-либо товар. Код указывает, что данный URI будет учитываться клиентом в последующих запросах. Другими словами, страница была найдена, но перенесена. Такие документы из индекса не удаляются. Если адрес был изменен навсегда, вместо 302-го, лучше использовать 303-ий или 307-ой ответ.
303 – нужно направить пользователя на иной URL. 303-ый код можно получить исключительно GET-запросом. В идеале, этот код нужно отдавать, когда требуется редиректнуть посетителя на близкорелевантую, но не идентичную странице.
304 – документ не модифицировался. Этот код не является стандартным редиректом. Он помогает краулерам определять страницы, которые не изменились с последнего визита.
Если на вашем сайте немного страниц (до 1 000), использовать код 304 нет смысла. Если вас напрягает этот редирект, то в заголовке нужно поправить параметр Last-Modified (последняя дата изменения) – он не должен быть старше, чем заголовок If-Modified-Since (если изменялся спустя заданное количество времени).
305 – доступ к этому документу возможен исключительно через прокси.
307 – документ был временно перемещен на иной URL. Идеальный вариант, если требуется временно редиректнуть посетителя, но оставить техническую возможность отправки POST-запросов.
Четырехсотые – сбои на стороне клиента
400 – ошибка синтаксиса. Сервер не может идентифицировать запрос, так как была допущена опечатка в синтаксисе. Проверьте корректность отправляемого запроса.
401 – отсутствует аутентификация. Код отдается, когда для доступа требуется пароль или регистрация.
403 – отсутствует доступ к документу. Возникает, когда пользователь хочет открыть системные файлы (robots, htaccess). Либо вы сделали опечатку при вводе URL и пытаетесь воспользоваться веб-страницей, которая не предназначена для обычного пользователя, либо вам нужно: пройти авторизацию для доступа к системным файлам.
404 – отсутствует соответствующий ресурс по введенному URL. Разберитесь, по каким причинам была удалена / перемещена страница. Возможно, вы допустили ошибку и удалили ее случайно. Если так – просто восстановите ее.
Задумайтесь над созданием красивой, кастомизированной 404-ой. Например, такой:
405 – некорректный метод (указывается в запросной строке клиента) для выбранного документа. Метод запроса определяет точное действие, которое должно быть выполнено для указанного ресурса.
406 – некорректный / неподдерживаемый краулером формат запроса. Код отдается, когда сервер не способен возвратить ответ, релевантный листу допустимых значений. Самый распространенный случай – поисковый робот не поддерживает кодировку документа или его язык. Убедитесь, что в теле сообщения содержится лист доступных ресурсов. Подробное описание ошибка на сайте веб-разработчиков Mozilla.
407 – отсутствует регистрация прокси или авторизация файервола.
408 – таймаут запроса. Соединение разорвано, так как полный запрос не был передан. Другими словами, запрос занял слишком много времени, а сервер не готов был ждать. На каждом сайте существует свое время таймаута. Проверьте наличие интернета и просто обновите страницу. Подробное объяснение этой ошибки на сайте веб-разработчиков Mozilla.
409 – несовместимость двух запросов. Запрос невозможно выполнить при текущем состоянии сервера. Самый распространенный случай – операции c PUT-запросом. Например, когда нужно скачать файл, возраст которого превышает возраст уже существующего, расположенного на сервере.
410 – ресурс более не существует по указанному URL. Если страница удаляется целенаправленно, лучше делать так, чтобы она отдавала именно 410-ый. Краулер обойдет такую страницу, получит этот код и больше никогда на нее не вернется, так как поймет, что она удалена навсегда. Если речь о веб-странице, которая была удалена временно, гораздо эффективнее использовать 404-ый ответ. Если страница удалена намерено и навсегда, но в SERP имела хорошие места и приносила трафик, лучше сделать редирект на максимально релевантную существующую страницу.
411 – сервер сам отклоняет отправляемый запрос, так как не находит значение Content-Length. Этот ответ характерен как для обычных POST-запросов, так и для PUT-запросов (подразумевают замену существующих представлений документа на данные, которые содержатся в самом запросе).
412 –не были до конца выполнены условные поля HTTP-заголовка, например, If-Match. 412-ый код появляется в случаях, когда доступ к целевому документу отклоняется. Нужно проверить соблюдение и корректность HTTP-заголовков выполняемого запроса.
413 – у каждого сервера есть свой собственный максимальный размер запроса, определяемый не самим HTTP-протоколом (у него ограничения по длине запроса просто напросто отсутствуют), а ограничениями со стороны браузеров. Браузеры поддерживают запросы от 2 до 8 килобайт. Вышеуказанный код отдается, когда сервер не понимает запрос из-за слишком большого размера.
414 – возникает, когда отправляется чрезвычайно длинный URL. Запросы, содержащие излишне длинные URL, не могут правильно интерпретироваться сервером. Самые частые случаи появления этого ответа – попытка передать удлиненные параметры (излишне большое количество данных через GET- запрос).
415 – некорректный медиаформат. Текущий тип данных не может быть интерпретирован сервером.
416 – некорректное значение Range (диапазон). Ответ возникает в случаях, когда в самом HTTP-заголовке прописывается некорректный байтовый диапазон. 416-ый отдается в случаях, когда сервер не может взаимодействовать с запрашиваемыми диапазонами. Причина – отсутствие диапазона в необходимом документе или опечатка в синтаксисе.Сервер просто не имеет возможности работать с запрашиваемыми диапазонами. Проверьте синтаксис значения Range – он должен обязательно соблюдаться. Скорее всего, документ просто не имеет запрашиваемых диапазонов. Обновите страницу.
417 – указанное значение Expect не может быть удовлетворено (речь о заголовке запроса). Прокси некорректно идентифицировал содержимое поля «Expect: 100-Continue». Устранить эту ошибку самостоятельно не удастся. Если вы используете прокси Squid, обратитесь в поддержку. Вам нужно активировать ignore_expect_100. Другой вариант разрешите BS_PingHost обращаться к интернет-сети без участия прокси.
422 – существует определенная логическая ошибка. Какая именно, данный код не указывает. Копайте в сторону ошибок в семантике документа.
423 – используемый ресурс был заблокирован для выбранного HTTP—метода. Перезагрузите роутер и компьютер. Используйте только статистический IP.
424 – зависимый ресурс был блокирован по соображением безопасности. Данный код отдается, если в запросе присутствуют признаки несанкционированного доступа к файлам CMS.
426 – некорректные значения полей Upgrade и Conection. Этот ответ возникает, когда серверу требуется обновление до SSL-протокола, но клиент не имеет его поддержки.
429 – слишком много запросов. Ошибка отдается, когда один пользователь проявляет чрезмерно большую активность за короткий временной интервал. Проверьте плагины используемой CMS. В идеале, отключите их все и включайте по очереди, пока не доберетесь до источника проблемы.
451 – доступ к серверу заблокирован по решению судебных органов. Можно плодить бесконечные дубли или вообще создать новый домен, но рано или поздно страницу с идентичным содержимым все равно заблокируют. Временное решение – разместить проблемное содержимое на другом домене. Провайдеры могут подстраховаться и блокировать не только отдельные страницы, но и сайты целиком. Не нарушать закон – единственное, что можно посоветовать в этом случае.
Пятисотые – серверные сбои
500 – серверу не удается полностью обработать запрос. Такой код отдается, когда существует непредвиденное условие, мешающее выполнению запроса. Чаще всего внутренняя ошибка сервера может появляться при серверных сбоях. Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess), нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
Проверяйте конфликты плагинов и дополнений. Нередко 500-ая возникает, когда в настройках административной панели хостинга указана одна версия PHP, а на самом сайте используется другая. Последнее также создает высокую статическую нагрузку на хостинг. Если вам было бы узнать о пятисотой подробнее, пишите в комментариях, и я напишу развернутый материал на эту тему.
501 – не выполнено. Этот код отдается, когда сам сервер не может идентифицировать метод запроса. Сами вы эту ошибку не исправите. Устранить ее может только сервер.
502 – шлюзовый сбой. Возникает при получении некорректного ответа от сервера, находящегося по иерархии выше. Актуально исключительно для прокси и шлюзовых конфигураций.
503 – данный ответ возникает в случаях, когда существуют технические неполадки, не позволяющие интерпретировать введенный запрос. Скорее всего, ваш сервер просто на обслуживании или сильно перегружен. Уменьшите число перманентных запросов к базам данных. Убедитесь, что на сервере нет профилактических или других работ, ограничивающих его пропускную способность. Не используйте VPN.
504 – отсутствует ответ. Этот код отдается в одной ситуации – если сервер не может получит ответ за необходимый период времени. Отклика нет и возникает таймаут. Как и 501-ый ответ, 504-ый исправить самостоятельно не получится. Здесь дело в прокси, часто – в веб-сервере. Первым делом просто обновите веб-страницу. Если не помогло, нужно почистить DNS-кэш. Для этого используем сочетание горячих клавиш Windows+R и вводим команду cmd (Control+пробел). В открывшемся окне указываем команду ipconfig / flushdns и подтверждаем ее нажатием Enter.
Также полезно посмотреть, как страница ведет себя различных мобильных устройствах и в разных браузерах. Проверьте дебаг. Если сайт на WP, то проверить дебан проще всего. Достаточно добавить этот код в wp-config.php:
Теперь все сбои будут фиксировать в файле debug.log (находится в папке wp-сontents). Если вы используете другую CMS, найдите к ней мануал и посмотрите, как активировать в ней журнал ошибок.
Также 504-ая отдает, когда на сайте существуют проблемы, связанные с задействованием CDN или кастомизированных серверов DNS. Отключите CDN на своем сайте.
Иногда 504-ый код пропадает, если просто подождать несколько часов. Часто 504-ая появляется на сайтах, которые используют CloudFlare.
505 – отсутствует поддержка текущей версии HTTP-протокола.
507 – не хватает места на жестком диске для выполнения запроса.
510 – не найдено расширение, желающее задействовать клиент.
Массово проверяем ответ веб-страницы
Самый простой способ проверить ответ веб-страницы – воспользоваться готовыми сервисами. Наиболее популярны:
- mainspy;
- 2ip;
- cy-pr;
- wwhois;
- 4seo.
Возьмем для примера mainspy. Тут проверить код ответа проще всего:
Таким образом, для проверки кода просто открываем страницу и вводим необходимые URL. Кликаем «Проверить». Будет выведен отчет. Напротив каждого проверяемого URL будет отображаться код ответа сервера:
Кроме перечисленных сервисов есть также замечательный плагин для Google Chrome – HTTP Header Spy. Он позволяет проверять код ответа сервера как одной, так и нескольких страниц сразу:
Послесловие
Коды ответа HTTP – это универсальный язык, который понимают не только краулеры Google / «Яндекса», но и люди. 5 классов кодов позволят с первого взгляда определить, где именно существует ошибка при выполнении HTTP запроса и куда копать для ее устранения.
Если ваш код ответа не указан в этом мануале, значит речь идет о кастомизированном сервере. Чтобы правильно истолковать ответ такого сервера и перевести его на человеческий язык, придется обратится к его разработчику.
- Partition Wizard
- Partition Manager
- 4 Ways to Fix «Server Error in ‘/’ Application»
4 Ways to Fix «Server Error in ‘/’ Application» [Partition Manager]
By Linda | Follow |
Last Updated December 28, 2022
Have you encountered «Server Error in ‘/’ Application«? The causes of the error may be various. In this post, MiniTool Partition Wizard lists some common reasons of this error and offers you corresponding solutions.
«Server error in ‘/’ application» issue is an application error on the server that prevents the website from running. And this error is usually related to IIS and ASP.NET.
- IIS (Internet Information Services): It is an extensible web server service created by Microsoft for use with the Windows NT family. It is a kind of web server. Once a website is created, it must have a web server. Thus, others can browse your website.
- NET: It is a category library provided by Microsoft in the .NET Framework for developing Web applications. It can run on the IIS server with .NET Framework installed, and use HTML, CSS, JavaScript and server scripts to create web pages and websites.
«Server error in ‘/’ application» issue may be caused by various reasons. Some of the most common reasons include:
- IIS has some problems and needs to be restarted.
- It’s just a 404 error. The resource you are looking for is missing or has been renamed.
- You are accessing a file with a file extension that does not have permissions to be run on the server
- You are using a version of .NET Framework incompatible with some programs, features, and file types.
If you don’t know what causes your «Server error in ‘/’ application», please check the error description on the error page.
[Solved] 9anime Server Error, Please Try Again on Windows
How to Fix «Server Error in ‘/’ Application»
To fix the «server error in ‘/’ application», you can use the following methods.
Fix 1. Restart IIS
- Click the Start button in the lower left-hand corner and then choose Administrative Tools
- Click Internet Information Services (IIS) Managerto launch it.
- In the IIS manager, select the server in the left-hand window pane and then click Restart on the left-hand side.
Fix 2. Update the URL
If the «server error in ‘/’ application» is a 404 error, you just need to correct the URL in the link that triggers this error.
Search Google or Type a URL, What Is It & Which to Choose?
Fix 3. Add the MIME Type
If a file does not have permissions to be run on the server, you should first check if you are calling the correct file name. For example, is there a typo in the file extension? If the file name is correct, then you may need to add the MIME type of the file extension to the server.
If don’t know the MIME Type of a file extension, you can search it online. Then, you can add the MIME type in the IIS Manager through the following steps:
- Open the IIS Manager
- In the left-hand window panel, expand your server > Sites > Default Web Site.
- In the central pane, double-click MIME Types.
- Under the Actions column on the right, click .. button. This will open a window.
- In the pop-up window, fill in the File name extensionand MIME Type, and then click OK.
Fix 4. Verify the .NET Version
- Open IIS Manager
- Expand the server in the left-hand window panel and choose Application Pools.
- Right-click on an app and choose Basic Settings…
- In the pop-up window, select the .NET version from the drop-down menu, and then click OKto confirm your choice.
Top 5 Ways to Fix .NET Framework 3.5 Missing in Windows 10
About The Author
Position: Columnist
Author Linda has been working as an editor at MiniTool for 1 year. As a fresh man in IT field, she is curious about computer knowledge and learns it crazily. Maybe due to this point, her articles are simple and easy to understand. Even people who do not understand computer can gain something.
By the way, her special focuses are data recovery, partition management, disk clone, and OS migration.
- Partition Wizard
- Partition Manager
- 4 Ways to Fix «Server Error in ‘/’ Application»
4 Ways to Fix «Server Error in ‘/’ Application» [Partition Manager]
By Linda | Follow |
Last Updated December 28, 2022
Have you encountered «Server Error in ‘/’ Application«? The causes of the error may be various. In this post, MiniTool Partition Wizard lists some common reasons of this error and offers you corresponding solutions.
«Server error in ‘/’ application» issue is an application error on the server that prevents the website from running. And this error is usually related to IIS and ASP.NET.
- IIS (Internet Information Services): It is an extensible web server service created by Microsoft for use with the Windows NT family. It is a kind of web server. Once a website is created, it must have a web server. Thus, others can browse your website.
- NET: It is a category library provided by Microsoft in the .NET Framework for developing Web applications. It can run on the IIS server with .NET Framework installed, and use HTML, CSS, JavaScript and server scripts to create web pages and websites.
«Server error in ‘/’ application» issue may be caused by various reasons. Some of the most common reasons include:
- IIS has some problems and needs to be restarted.
- It’s just a 404 error. The resource you are looking for is missing or has been renamed.
- You are accessing a file with a file extension that does not have permissions to be run on the server
- You are using a version of .NET Framework incompatible with some programs, features, and file types.
If you don’t know what causes your «Server error in ‘/’ application», please check the error description on the error page.
[Solved] 9anime Server Error, Please Try Again on Windows
How to Fix «Server Error in ‘/’ Application»
To fix the «server error in ‘/’ application», you can use the following methods.
Fix 1. Restart IIS
- Click the Start button in the lower left-hand corner and then choose Administrative Tools
- Click Internet Information Services (IIS) Managerto launch it.
- In the IIS manager, select the server in the left-hand window pane and then click Restart on the left-hand side.
Fix 2. Update the URL
If the «server error in ‘/’ application» is a 404 error, you just need to correct the URL in the link that triggers this error.
Search Google or Type a URL, What Is It & Which to Choose?
Fix 3. Add the MIME Type
If a file does not have permissions to be run on the server, you should first check if you are calling the correct file name. For example, is there a typo in the file extension? If the file name is correct, then you may need to add the MIME type of the file extension to the server.
If don’t know the MIME Type of a file extension, you can search it online. Then, you can add the MIME type in the IIS Manager through the following steps:
- Open the IIS Manager
- In the left-hand window panel, expand your server > Sites > Default Web Site.
- In the central pane, double-click MIME Types.
- Under the Actions column on the right, click .. button. This will open a window.
- In the pop-up window, fill in the File name extensionand MIME Type, and then click OK.
Fix 4. Verify the .NET Version
- Open IIS Manager
- Expand the server in the left-hand window panel and choose Application Pools.
- Right-click on an app and choose Basic Settings…
- In the pop-up window, select the .NET version from the drop-down menu, and then click OKto confirm your choice.
Top 5 Ways to Fix .NET Framework 3.5 Missing in Windows 10
About The Author
Position: Columnist
Author Linda has been working as an editor at MiniTool for 1 year. As a fresh man in IT field, she is curious about computer knowledge and learns it crazily. Maybe due to this point, her articles are simple and easy to understand. Even people who do not understand computer can gain something.
By the way, her special focuses are data recovery, partition management, disk clone, and OS migration.
Список кодов состояния HTTP
Код состояния HTTP (англ. HTTP status code) — является частью первой строки ответа сервера. Он представляет собой целое число из трех арабских цифр. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа.
Клиент узнаёт по коду ответа о результатах его запроса и определяет, какие действия ему предпринимать дальше. Набор кодов состояния является стандартом, и они описаны в соответствующих документах RFC. Введение новых кодов должно производиться только после согласования с IETF. Тем не менее, известно о двух используемых кодах, не упомянутых в RFC: 449 Retry With (введён Microsoft) и 509 Bandwidth Limit Exceeded (введён в cPanel).
Клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода. В настоящее время выделено пять классов кодов состояния.
Веб-сервер Microsoft Internet Information Services в своих файлах журналов кроме стандартных кодов состояния использует подкоды записывая их через точку после основного. При этом в ответах от сервера данный субкод не размещается — он нужен администратору сервера чтобы тот мог более точно определять источники проблем. Со списком подкодов IIS можно ознакомиться в документе «Коды состояния служб IIS» в Базе знаний Microsoft.
1xx: Informational (Информационные)
В этот класс выделены коды, информирующие о процессе передачи. В HTTP/1.0 сообщения с такими кодами должны игнорироваться. В HTTP/1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего серверу отправлять не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.
100 Continue (Продолжать) — Сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
101 Switching Protocols (Переключение протоколов) — Сервер предлагает выбрать другой протокол, более соответствующий данному ресурсу. Протоколы предлагаемый сервером, указываются в строке заголовка Update, если предложенный сервером протокол, устраивает клиента, он высылает новый запрос с указанием нового протокола. Появился в протоколе версии HTTP/1.1.
102 Processing (Идёт обработка) — Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.
105 Name Not Resolved (Не удается преобразовать DNS-адрес сервера) — При разрешении доменного имени возникла ошибка в связи с неверным или отсутствующем IP-адресом DNS-сервера.
2xx: Success (Успешно)
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.
200 OK (Хорошо) — Успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения. Появился в HTTP/1.0.
201 Created (Создано) — В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ с кодом 202. Появился в HTTP/1.0.
202 Accepted (Принято) — Запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.
203 Non-Authoritative Information (Информация не авторитетна) — Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1.
204 No Content (Нет содержимого) — Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
205 Reset Content (Сбросить содержимое) — Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
206 Partial Content (Частичное содержимое) — Сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1.
207 Multi-Status (Многостатусный) — Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
226 IM Used (Использовано IM) — Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.
3xx: Redirection (Перенаправление)
Коды класса 3xx сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос (как правило по другому URI). Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям (жарг. редирект). Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.
По последним стандартам клиент может производить перенаправление автоматически (без запроса пользователя) только если второй ресурс будет запрашиваться методом GET или HEAD. В предыдущих спецификациях говорилось что для избежания круговых переходов пользователя следует спрашивать после 5-го подряд перенаправления. При всех перенаправлениях если метод был не HEAD, то в тело ответа следует включить короткое гипертекстовое сообщение с целевым адресом чтобы в случае чего пользователь смог сам произвести переход.
Разработчики HTTP отмечают что многие клиенты при перенаправлениях с кодами 301 и 302 ошибочно применяют метод GET ко второму ресурсу несмотря на то, что к первому запрос был с иным методом. Чтобы избежать недоразумений в версии HTTP/1.1 были введены коды 303 и 307 вместо 302. Изменять метод нужно только если сервер ответил 303. В остальных случаях следующий запрос производить с исходным методом.
300 Multiple Choices (Несколько вариантов выбора) — По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
301 Moved Permanently (Перемещено навсегда) — Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0.
302 Moved Temporarily / Found (Перемещено временно / Найдено) — Запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, при управляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.
303 See Other (Смотреть другое) — Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методом GET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1.
304 Not Modified (Не изменялось) — Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0. Проверить код 304 Not Modified.
305 Use Proxy (Использовать прокси) — Запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси). Введено в HTTP/1.1.
306 (Зарезервировано, код использовался только в ранних спецификациях) — Использовавшийся раньше код ответа, в настоящий момент зарезервирован. Упомянут в RFC 2616 (обновление HTTP/1.1).
307 Temporary Redirect (Временное перенаправление) —- Запрашиваемый ресурс на короткое время доступен по другому URI, указанный в поле Location заголовка. Этот код был введён вместе с 303 вместо 302-го для избежания неоднозначности. Введено в RFC 2616 (обновление HTTP/1.1).
4xx: Client Error (Ошибка клиента)
Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.
400 Bad Request (Плохой запрос) — Сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
401 Unauthorized (Неавторизован) — Для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.
402 Payment Required (Необходима оплата) — Предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.
403 Forbidden (Запрещено) — Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 или 407 при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту следует сообщить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов, требование аутентификации не средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-адресом клиента, например, при блокировках. Появился в HTTP/1.0.
404 Not Found (Не найдено) — Самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0.
405 Method Not Allowed (Метод не поддерживается) — Указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код 501 (Not Implemented). Появился в HTTP/1.1.
406 Not Acceptable (Неприемлемо) — Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1.
407 Proxy Authentication Required (Необходима прокси авторизация) — Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере. Появился в HTTP/1.1.
408 Request Timeout (Истекло время ожидания) — Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-диска или потери связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не возвращается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно. Появился в HTTP/1.1.
409 Conflict (Конфликт) — Запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT.Появился в HTTP/1.1.
410 Gone (Удалён) — Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404. Появился в HTTP/1.1.
411 Length Required (Необходима длина) — Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1.
412 Precondition Failed (Условие ложно) — Возвращается, если ни одно из условных полей заголовка запроса не было выполнено. Появился в HTTP/1.1.
413 Request Entity Too Large (Размер запроса слишком велик) — Возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса. Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос. Появился в HTTP/1.1.
414 Request-URI Too Large (Запрашиваемый URI слишком длинный) — Сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST. Появился в HTTP/1.1.
415 Unsupported Media Type (Неподдерживаемый тип данных) — По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Появился в HTTP/1.1.
416 Requested Range Not Satisfiable (Запрашиваемый диапазон не достижим) — в поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges. Введено в RFC 2616 (обновление HTTP/1.1).
417 Expectation Failed (Ожидаемое неприемлемо) — По каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса. Введено в RFC 2616 (обновление HTTP/1.1).
418 I’m a teapot (Я — чайник) — Этот код был введен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Не ожидается, что данный код будет поддерживаться реальными серверами.
422 Unprocessable Entity (Необрабатываемый экземпляр) — Сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом. Введено в WebDAV.
423 Locked (Заблокировано) — Целевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.
424 Failed Dependency (Невыполненная зависимость) — Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт этот код. Введено в WebDAV.
425 Unordered Collection (Неупорядоченный набор) — используется в расширении WebDAV Advanced Collections Protocol. Посылается, если клиент указал номер элемента в неупорядоченном списке, или запросил несколько элементов в порядке, отличающемся от серверного.
426 Upgrade Required (Необходимо обновление) — Сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection. Введено в RFC 2817 для возможности перехода к TLS посредством HTTP.
428 Precondition Required (Необходимо предусловие) — Сервер указывает клиенту на необходимость использования в запросе заголовков условий, наподобие If-Match. Введено в черновике стандарта RFC 6585.
429 Too Many Requests (Слишком много запросов) — Клиент попытался отправить слишком много запросов за короткое время, что может указывать, например, на попытку DoS-атаки. Может сопровождаться заголовком Retry-After, указывающим, через какое время можно повторить запрос. Введено в черновике стандарта RFC 6585.
431 Request Header Fields Too Large (Поля заголовка запроса слишком большие) — Превышена допустимая длина заголовков. Сервер не обязан отвечать этим кодом, вместо этого он может просто сбросить соединение. Введено в черновике стандарта RFC 6585.
434 Requested host unavailable. (Запрашиваемый адрес недоступен) — Запрашиваемый адрес недоступен.
449 Retry With (Повторить с) — Возвращается сервером, если для обработки запроса от клиента поступило недостаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV. В настоящий момент как минимум используется программой Microsoft Money.
451 Unavailable For Legal Reasons (Недоступно по юридическим причинам) — Доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав. Введено в черновике IETF за авторством Google, при этом код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту».
456 Unrecoverable Error (Некорректируемая ошибка) — Возвращается сервером, если обработка запроса вызывает некорректируемые сбои в таблицах баз данных. Введено корпорацией Microsoft для WebDAV.
499 Client Closed Request (Клиент закрыл соединение) — Используется Nginx, когда клиент закрывает соединение до получения ответа.
5xx: Server Error (Ошибка сервера)
Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.
500 Internal Server Error (Внутренняя ошибка сервера) — Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. Появился в HTTP/1.0.
501 Not Implemented (Не реализовано) — Сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405. Появился в HTTP/1.0.
502 Bad Gateway (Плохой, ошибочный шлюз) — Сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера. Появился в HTTP/1.0.
503 Service Unavailable (Сервис недоступен) — Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным кажется сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов. Появился в HTTP/1.0.
504 Gateway Timeout (Шлюз не отвечает) — Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.
505 HTTP Version Not Supported (Версия HTTP не поддерживается) — Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.
506 Variant Also Negotiates (Вариант тоже проводит согласование) — В результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.
507 Insufficient Storage (Переполнение хранилища) — Не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
508 Loop Detected (Обнаружено бесконечное перенаправление) — операция отменена, т.к. сервер обнаружил бесконечный цикл при обработке запроса без ограничения глубины. Введено в WebDAV.
509 Bandwidth Limit Exceeded (Исчерпана пропускная ширина канала) — Используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.
510 Not Extended (Нет расширения) — На сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
511 Network Authentication Required (Требуется сетевая аутентификация) — Этот ответ посылается не сервером, которому был предназначен запрос, а сервером-посредником — например, сервером провайдера — в случае, если клиент должен сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету. Предполагается, что в теле ответа будет возвращена Web-форма авторизации или перенаправление на неё. Введено в черновике стандарта RFC 6585.
Заголовок
POST /yandexbuy2/order/cancellation/notify HTTP/1.1
Content-Type: application/json;charset=utf-8
{ «order»: { «id»: 5462418, «fake»: false, «currency»: «RUR», «paymentType»: «POSTPAID», «paymentMethod»: «CASH_ON_DELIVERY», «subsidyTotal»: 0, «taxSystem»: «PSN», «delivery»: { «type»: «DELIVERY», «price»: 0, «serviceName»: «Курьер за МКАД», «id»: «133», «shopDeliveryId»: «133», «deliveryServiceId»: 99, «deliveryPartnerType»: «SHOP», «dates»: { «fromDate»: «19-08-2021», «toDate»: «19-08-2021» }, «region»: { «id»: 10750, «name»: «Раменское», «type»: «CITY», «parent»: { «id»: 214122, «name»: «Городское поселение Раменское», «type»: «SETTLEMENT», «parent»: { «id»: 98605, «name»: «Раменский район», «type»: «SUBJECT_FEDERATION_DISTRICT», «parent»: { «id»: 1, «name»: «Москва и Московская область», «type»: «SUBJECT_FEDERATION», «parent»: { «id»: 3, «name»: «Центральный федеральный округ», «type»: «COUNTRY_DISTRICT», «parent»: { «id»: 225, «name»: «Россия», «type»: «COUNTRY» } } } } } }, «address»: { «country»: «Россия», «postcode»: «000000», «city»: «Раменское», «street»: «Красноармейская улица», «house»: «00», «entrance»: «00», «entryphone»: «00», «floor»: «00», «apartment»: «4», «recipient»: «Иванов Иван», «phone»: «+7 (915) 000-00-00«, «lon»: 50.25156, «lat»: 77.577513 }, «subsidy»: 49 }, «buyer»: { «id»: «qsjhhhN8eM+AVhhPXiclUQ==», «lastName»: «Иванов», «firstName»: «Иван», «phone»: «+79150000000«, «uid»: 311703841 }, «items»: [ { «id»: 110592862, «feedId»: 1006651, «offerId»: «1035», «feedCategoryId»: «30», «offerName»: «Парогенератор Philips GC7844/20 PerfectCare Compact», «price»: 9890, «buyer-price»: 9890, «subsidy»: 0, «count»: 1, «params»: «Цвет товара: синий», «vat»: «NO_VAT», «fulfilmentShopId»: 3554235, «sku»: «101199417001», «shopSku»: «1035», «warehouseId»: 77077, «partnerWarehouseId»: «07450be-7507-4599-81b6-645ab5ebc4bc» } ] } }
Ответ
Заголовок
HTTP/1.1 404 NOT_FOUND Not Found
Server: nginx/1.14.1
Date: Fri, 20 Aug 2021 13:13:32 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: OCSESSID=8a47c3fea2a71fe7e5b3678673; path=/
Set-Cookie: OCSESSID=8a47c3fea2a71fe7e5b3678673; path=/
Не подгружаются картинки к товарам по ЗОО в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
спросите пожалуйста у поставщика в каком прайсе есть… |
Администратор 27.06.23 22:24 |
||
Некоректно распознает xml(yml) в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
доработали чтение нестандартных YML прайсов по вашему… |
Администратор 27.06.23 22:22 |
||
Не корректно работает загрузка прайса в рамках заданной группы товаров. в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
Благодарю за обратную связь, последний ключ действительно… |
Никита Обиденко 27.06.23 13:03 |
||
Не выгружаются товары на ВБ в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
Вот пример одного из товаров |
Лидия 27.06.23 11:56 |
||
Отборы в выгрузке яндекс маркет в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
Какие отборы работают при обмене с маркеплейсом Яндекс… |
Эд Дайбо 27.06.23 11:50 |
||
ям ошибка подключения по апи в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
|
Екатерина Суздальцева 27.06.23 11:48 |
||
Регламентное задание профиля выгрузки в форуме АВОШОП.ВЫГРУЗКА НОМЕНКЛАТУРЫ
|
Эд Дайбо 27.06.23 11:08 |
||
Перестала открываться печатная форма «Комплектация заказов.. с картинками». в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
вот текст ошибки |
Анастасия 27.06.23 7:30 |
||
Не загружаются в 1С изображения из прайс листа в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
|
Администратор 27.06.23 7:03 |
||
Не правильно передаются остатки комплектов. в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С здравствуйте нужен доступ к вашей 1с к конфигуратору,… |
Администратор 27.06.23 6:53 |
||
Не могу изменить/зугрузить данные в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
таблица прокручена вниз |
Администратор 27.06.23 6:52 |
||
Правильная адресация заказов из РМК в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
При работе с большим количеством маркетплейсов, менеджеры… |
Андрей 26.06.23 16:17 |
||
Импорт товаров в форуме АВОШОП.ИНТЕГРАЦИЯ — СБЕРМЕГАМАРКЕТ
Вот такая строка в фиде, которым заводились товары… |
Андрей 26.06.23 12:10 |
||
ОШИБКА Обработки запросов об остатках в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
|
Екатерина Суздальцева 26.06.23 11:33 |
||
Ошибка при загрузке отчета комиссионера Ozon в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
Добрый день! При попытке создать отчет комиссионера… |
963 Аркадий 26.06.23 11:09 |
||
Ошибка при выгрузке товаров на Озон в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
Product not found — переводится как «Товар не… |
Администратор 23.06.23 9:25 |
||
Выгрузка товаров на Озон в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
|
Администратор 23.06.23 9:14 |
||
Ошибка при создании отчета комиссионера из загруженных данных в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
принято. разбираемся… |
Администратор 23.06.23 9:10 |
||
Ошибка при установке расписания на узле обмена Озон в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
спасибо, все получилось |
Лидия 22.06.23 11:58 |
||
Не работают значения для скриптов выгрузки в форуме АВОШОП.ВЫГРУЗКА НОМЕНКЛАТУРЫ Ознакомьтесь с документацией https://avoshop.ru/docs/course/course4/lesson214/… |
Администратор 22.06.23 8:06 |
||
Проблема выгрузки фото через FTP в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES Добрый день! нужен доступ к вашей 1с для проверки пришлите… |
Администратор 22.06.23 8:02 |
||
Выгрузка картинок из 1С на ВБ в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
вопросы касаемые работы с ВБ нужно задавать в разделе… |
Администратор 21.06.23 15:09 |
||
Не выгружаются товары на ВБ в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
вопросы касаемые ВБ надо задавать в разделе для вопросов… |
Администратор 21.06.23 15:08 |
||
При заходе в заказы поставщикам ошибка в форуме АВОШОП.ВЫГРУЗКА НОМЕНКЛАТУРЫ нужно разбираться на вашем сервере пришлите доступ … |
Администратор 21.06.23 14:53 |
||
Загрузка прайса с ftp в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
нет |
Администратор 21.06.23 14:52 |
||
Выгружаются несуществующие торговые предложения (без цены) в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С проблема известна в работе |
Администратор 21.06.23 14:50 |
||
Новость от ОЗОН в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
В ЛК новость у всех одинаковая, а в письмах есть дополнение… |
Людмила Жаркова 21.06.23 9:33 |
||
Перестал загружаться отчёт комиссионера в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
пришлите доступ к вашей 1с пожалуйста на нашу почту… |
Администратор 21.06.23 7:32 |
||
Вес товара РТОЙЗ в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
в 1с в карточке товара какой указан вес? |
Администратор 20.06.23 15:34 |
||
СРОЧНО!!! После обновления конфигурации не открывается 1С в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
|
Администратор 20.06.23 15:31 |
||
СРОЧНО! Импорт заказов в 1с в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С разбираемся можете пока в самом екселе изменить формат… |
Администратор 20.06.23 15:31 |
||
Инструкции в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
запросите доступ у менеджера на сайте в чате |
Администратор 20.06.23 15:12 |
||
Обновление номенклатуры по прайсу в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
Но ведь до этого никаких проблем не было, работает… |
Константин 15.06.23 10:56 |
||
Не передаются остатки по наборам товаров в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С исправлено обновление 9.3.7 |
Администратор 14.06.23 19:06 |
||
Скрипт цены на яндекс в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
это скрипт для модуля ВЫГРУЗКИ НОМЕНКЛАТУРЫ, а вы … |
Администратор 14.06.23 19:05 |
||
Нужен текст публикации для добавления в default.vrd в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
это вопрос выходит за рамки поддержки модуля авошоп… |
Администратор 14.06.23 19:02 |
||
статусы заказов обновляются с большим запозданием в форуме АВОШОП.ИНТЕГРАЦИЯ — СБЕРМЕГАМАРКЕТ
Они уже ответили |
Анастасия 13.06.23 22:23 |
||
При заходе в профиль ошибка в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
поправим |
Администратор 13.06.23 14:17 |
||
Рабочее место — СБОРКА ЗАКАЗОВ — Лист подбора в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
составьте подробное техзадание как должно работать… |
Администратор 13.06.23 9:54 |
||
Соглашение с условиями продаж в форуме АВОШОП.ИНТЕГРАЦИЯ — СБЕРМЕГАМАРКЕТ
у вас скорее всего выключена опция использования соглашений… |
Администратор 13.06.23 9:52 |
||
Не создаются заказы (/order) в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
судя по Логу запросов в яндексе, сейчас такой проблемы… |
Администратор 13.06.23 9:28 |
||
Не приходят данные о товарах через API в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ попробуйте следовать инструкции по нашей базе знаний… |
Администратор 13.06.23 9:21 |
||
Остатки товаров перенесенных в архив в Авошопе в 1 с все равно выгружаються на Озон в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
проверьте идентификаторы складов у каждого узла, возможно… |
Администратор 13.06.23 8:36 |
||
Отбор товаров при выгрузке в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
отбор в профиле выгрузки ни на что не влияет в данном… |
Администратор 09.06.23 15:36 |
||
Проблема при публикации веб сервиса Яндекс маркета в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
это не к нам вопрос, а к системным администраторам |
Администратор 09.06.23 12:52 |
||
Описание карточек товаров в форуме АВОШОП.ВЫГРУЗКА НОМЕНКЛАТУРЫ
|
Администратор 09.06.23 12:52 |
||
профиль загрузки, не дает присвоить наименование в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
баг в базе 1С |
Администратор 08.06.23 8:29 |
||
Обновление 9.3 в форуме ОБНОВЛЕНИЯ Версия: 9.3.5 |
Администратор 08.06.23 8:26 |
||
Ошибка при выгрузке карточек на Вайлдберис в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
|
Администратор 07.06.23 16:47 |
||
Не приходят данные о товарах через API. Найдите причину по логу запросов и устраните её, чтобы восстановить работу магазина в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
|
Администратор 07.06.23 13:47 |
||
Загрузка прайса Комус в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
делайте разные склады поставщика. |
Администратор 07.06.23 13:45 |
||
Не выгружаются картинки к товарам в статусе принят в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
|
Администратор 07.06.23 13:31 |
||
Ошибка выгрузки остатков на новый товар в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
|
Администратор 07.06.23 13:28 |
||
Нужно создать дополнительный отбор по товарам с выбором цены в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
ваш вопрос не понятен |
Администратор 07.06.23 13:22 |
||
СРОЧНО, обновление Версия: 9.3.3 в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
Исправлено |
Администратор 06.06.23 11:13 |
||
Не открывается инструкции по настройке интеграции авошоп в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
доступ открыти |
Администратор 05.06.23 12:50 |
||
увеличить кол-во знаков в рабочем наименовании товара в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
в заказе покупателя будет отображаться рабочее наименование,… |
Администратор 05.06.23 12:48 |
||
неправильно установлен статус в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON попробуйте исправление выполнить по инструкции https://avoshop.ru/docs/course/course9/lesson97/?LESSON_PATH=78.94.97… |
Администратор 05.06.23 12:37 |
||
Скрытие товаров с ЯМ в форуме АВОШОП.ИНТЕГРАЦИЯ — ЯНДЕКС.МАРКЕТ
пришлите ссылку на документацию этого метода |
Администратор 05.06.23 12:31 |
||
Сопоставление товаров при импорте в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
Так долго искал, а нашёл как обычно, как написал. … |
Андрей 04.06.23 22:54 |
||
Проверка скрипта в форуме АВОШОП.ВЫГРУЗКА НОМЕНКЛАТУРЫ
укажите тестовое значение Номенклатуры |
Администратор 01.06.23 21:10 |
||
Заказ поставщику добавить Штрих код в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С в данный момент пока никак поставили задачу в разработку… |
Администратор 01.06.23 21:07 |
||
Загрузка характеристк в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
для каждого свойства нужно написать отдельный скрипт… |
Администратор 01.06.23 20:58 |
||
Заполнение «высоты, ширины и глубинны» в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
ваш вопрос не понятен |
Администратор 01.06.23 20:49 |
||
Изменение в прайсе Р-Тойз. в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
Перенастроить номера колонок — это ваша обязанность… |
Администратор 01.06.23 20:44 |
||
Не работает автозагрузка прайс-листа в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
|
Администратор 01.06.23 20:43 |
||
Установка обновления АВОШОП — Основная лицензия в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С Пользуйтесь нашей базой знаний — https://avoshop.ru/blog/avoshop_pro/obnovleniya_avoshop_ustanavlivat_kazhdoe_ili_mozhno_tolko_posled…… |
Администратор 01.06.23 20:42 |
||
Загрузка данных с фтп в форуме АВОШОП.ЗАГРУЗКА ДАННЫХ
в карточке учетной записи FTP есть кнопка ПРОВЕРИТЬ… |
Администратор 01.06.23 20:40 |
||
Ошибка при печати маркировочного листа в форуме АВОШОП.ИНТЕГРАЦИЯ — OZON
если проблема действительно существует то она будет… |
Администратор 01.06.23 13:16 |
||
Не заполняются характеристики в форуме АВОШОП.ИНТЕГРАЦИЯ — WILDBERRIES
если они не отобразились, значит у этой категории … |
Администратор 01.06.23 13:14 |
||
Настройка пункта «Направление деятельности, продажи через торговые площадки» в форуме ОБЩИЕ ВОПРОСЫ ПО РАБОТЕ В 1С
откройте справочник Направления деятельности и добавьте… |
Администратор 26.05.23 8:06 |
На данной странице описаны типичные сложности, с которыми сталкиваются пользователи плагина «Интеграция с Яндекс.Маркет». Предполагается, что вы уже настроили плагин по инструкции.
Содержание:
1. Ваша система отвечает через API с ошибками
1.1. Пример — ошибка 500
1.2. Пример — ошибка 422 Slow Response
2. В админ-панель не приходят заказы
2.1. А были ли заказы?
2.2. Возможные ошибки
2.3. Вы отказались принимать заказ
2.4. Не создаётся заказ при самопроверке
3. Не передаются статусы в маркет
4. Не меняется статус в магазине при смене статуса в Маркете
5. Проблемы с передачей остатков
5.1. При входящих обновлениях
5.2. При исходящих отправках
6. Не скачивается акт-приёма передачи
7. Магазин отключен из-за ошибок в работе API
8. Заказ по FBS, но кнопки от DBS
9. Инструменты диагностики
10. Другие ошибки и вопросы
1. Ваша система отвечает через API с ошибками
В случае возникновения каких-либо ошибок во взаимодействии вашего сайта с Яндекс.Маркетом, вы можете увидеть следующее сообщение: «Ваша система отвечает через API с ошибками. Сейчас товары показываются на витрине, но будут скрыты, если ошибок станет больше«.
В этом случае нужно зайти в лог запросов (Настройки — Отладка — Лог запросов к вашему серверу),
Выбрать дату и время начала, переключиться на «Ошибки» и посмотреть детали конкретных ошибок
1.1. Пример — ошибка 500
Детали ошибки:
В этом конкретном примере мы видим, что на некоторые запросы наш сайт ответил ошибкой с кодом 500 (Internal Server Error) В тексте ответа содержится информация об ошибке с номером 1021.
Далее уже можно переходить к сайту и изучать его логи на предмет причины неполадок.
В файле error.log есть отсылка на подробности в файле db.log, в котором и нашлась причина возникновения ошибок 1021 — на хостинге закончилось место.
1.2. Пример — 422 Shop response is too slow. SLA breached
Детали ошибки:
Ошибка, связанная с долгим ответом сервера — 422 Shop response is too slow. SLA breached. Обычно это не постоянная ошибка, а периодически возникающая несколько раз в день.
Причин долгого ответа может быть множество, чаще всего они связаны либо с недостаточными характеристиками сервера сайта, например, может быть выбран слабый тариф хостинга, не соответствующий нагрузке сайта. Либо ошибка возникает в периоды разовых пиковых нагрузок — синхронизаций с другими системами, обменом с 1С, большой активностью поисковых роботов в этот момент, либо DDOS атаки на сайт.
2. В админ-панель сайта не приходят заказы
Внимание! Синхронизируются только новые заказы, созданные после установки плагина
Если вы проходите самопроверку, смотрите пункт 2.4
2.1. А были ли вообще отправлены заказы?
В этом случае нужно зайти в лог запросов (Настройки — Лог запросов),
Проверить что запросы на передачу заказов вообще отправляются, меняем время на максимальное (23ч), ищем метод /accept
Иногда случаются ошибки в работе Маркета и он не отправляет запросы по API какое-то время. Если запросов нет, значит Маркет ничего не отправлял.
Дополнение: в момент индексации прайс-листа Яндекс.Маркет не создаёт тестовые заказы!
2.2. Возможные ошибки
Если запросы есть, тогда посмотреть, есть ли ошибка в логах, она будет отображаться по кнопке «Детали».
Возможные варианты:
- 403 Forbitten
- Not in GZIP format
- Ошибка 404: проверьте, правильно ли скопирована ссылка из плагина
- Item price is not positive: 0. Данная ошибка говорит о том, что ваш сайт отвечает, что цена товара нулевая. Если на самом деле цена товара не ноль, значит, скорее всего, неверно происходит сопоставление (не находит такой товар по offerID)
Если у вас хостинг Firstvds
Запросы отправляются, ошибки нет, но на сайте нет заказов:
Если у вас установлено приложение «Firewall», оно может блокировать запросы от Я.Маркета
2.3. «Вы отказались принимать заказ»
Плагин может отказаться принимать заказ, если товар не найден, либо он в недостаточном количестве. В этом случае в логе ответа будет: { «order»: { «accepted»: false, «reason»: «OUT_OF_DATE» } }
Как продиагностировать: проверить в логах Яндекс.Маркет, какой товар с каким offerID запрашивает маркет. Смотрим запрос /accept. Вероятные причины ошибки:
- Товара нет в наличии в нужном количестве на выбранном складе.
- Неверно сопоставляются OfferID Подробнее про сопоставление
2.4. Не удалось создать заказ при самопроверке
Может возникать следующая ошибка при одном из заданий самопроверки:
Не получилось создать заказ Настройки доставки через API отличаются от настроек, которые вы сделали в личном кабинете. Посмотреть ошибку можно в логе запросов. Проследите, чтобы настройки доставки везде были одинаковыми, и выполните задание ещё раз.
Эта ошибка возникает в том случае, если ответ по доставке, отдаваемый плагином, отличается от ожидаемого Маркетом.
В этом случае нужно сделать следующее, после каждого пункта можно пробовать снова создать заказ:
- Максимально упростить условия доставки — убрать все пункты СДЭК, или вообще самовывоз, оставить только один или два варианта.
- Проверить, что указанные сроки доставки или самовывоза полностью соответствуют для указанных регионов. Они должны быть указаны и в личном кабинете Маркета, и в настройках плагина. Они должны совпадать.
- Обратите внимание на выходные и праздничные дни. Опять же, они должны совпадать.
- Обратите внимение на «время переноса». Оно должно совпадать.
- Посмотрите в логе запроса (в личном кабинете: Настройки — Лог запросов), для какого города Маркет запрашивает информацию, и какой получает ответ. Посчитайте вручную по срокам, указанным в личном кабинете, совпадают ли они.
- Если ничего не помогает — нужно написать в техподдержку Маркета.
3. Не передаются статусы в маркет
Данная проблема может возникнуть в следующих случаях:
- В настройках плагина действия магазина сопоставлены неверно. Выполняются действия, не выбранные в настройках плагина, и, соответственно, ничего не отправляется. Как проверить: в логи плагина ничего не записывается, в Маркете нет никаких запросов от сайта в логах. Подробнее про сопоставление статусов.
- Исходящий авторизационный токен неверен/отозван. Как проверить: в логах плагина будет запись об ошибке (Access Denied / Token Invalid). Токен может быть заблокирован при смене пароля у аккаунта Яндекса или по другим причинам, нужно его обновить. Как это делается написано здесь.
- Нарушена цепочка последовательности статусов. Вы пытаетесь сменить статус на тот, который недоступен для текущего заказа. Например, для модели FBS предусмотрена четкая последовательность: Принят — Готов к отгрузке — Отгружен. Если попытаться из «Принят» сразу перейти в «Отгружен», из этого ничего не выйдет. Как проверить: в логах плагина, в файле api.error.log будет запись: {«status»:»ERROR»,»errors»:[{«code»:»STATUS_NOT_ALLOWED», «message»: «No permission to set substatus SHIPPED for order XXXXX with status PROCESSING and substatus STARTED»}]}
4. Не меняется статус в Shop-script при смене статуса в Маркете
В первую очередь стоит проверить выбрано ли какое-либо действие для соответствующего статуса.
Например, вы хотите, чтобы в момент прихода отмены заказа выполнялось действие «Удалить». В настройках для данного профиля магазина должно быть выбрано это действие:
Если действие выбрано, но не выполняется, нужно проверить, отправлял ли Яндекс.Маркет нам какие-либо запросы. Для этого переходим в личный кабинет Яндекс.Маркет, левое меню, Настройки — Лог запросов.
Введите номер заказа из Маркета и обратите внимание на запросы с ресурсом /order/status/ :
По кнопке «Детали» можно посмотреть какой именно статус был отправлен в наш магазин, и какой он дал ответ, пример:
В данном случае был отправлен статус «Cancelled» (отменён). На вкладке «Ответ» при нормальной ситуации должно быть написано «Тело отсутствует», т.к. ответ на смену статуса не требуется. В случае какой-либо ошибки сайта, на этой вкладке могут быть написаны её подробности.
Если запроса с нужным вам статусом нет в этом интерфейсе, значит Яндекс.Маркет не отправлял запрос о смене статуса. Мы с таким сталкивались пару раз. Обратитесь в поддержку Маркета.
Если ответ еще не найден, нужно исследовать логи нашего магазина на Shop-script. Включаете «Дебаг»-режим в общих настройках и проверяете, что записывается в логи. Также, стоит обратить внимание, не обновлятеся ли штатный лог error.log или db.log в момент получения запроса из Маркета. Поищите в этих файлах ошибки, в которых упомянут id плагина — pokupki.
5. Проблемы с передачей остатков
Кратко: самая частая проблема — неверно выбрано сопоставление «Ваш SKU» (offerID), поэтому остатки отдаются неверно. Подробно про настройку здесь.
Подробный процесс диагностики:
Передача остатков в Яндекс.Маркет в данный момент осуществляется с помощью двух механизмов:
- Яндекс.Маркет сам запрашивает остатки по своему списку товаров, присылая запросы /stocks в любой момент.
- Вы сами отправляете информацию в Маркет об остатках через метод /stocks, через кнопку в интерфейсе, или через автоматический планировщик CRON. Подробнее об этом здесь.
5.1. Диагностика для входящих обновлений остатков
Допустим, вы обнаружили, что наличие остатков в Яндекс.Маркет не соответствует сайту. Как проверить, почему они не обновились:
1. Выберите один или несколько товаров в личном кабинете Яндекс.Маркет, запишите значения из поля «Ваш SKU»:
В данном случае это fbs213, fbs212, fbs214
2. Далее в личном кабинете нужно перейти в раздел «Лог запросов»:
Нас интересуют запросы /stocks На вкладке «К вашему серверу» — те запросы, что посылает сам Маркет, а на вкладке «К серверу Маркета» — те запросы, что ваш сайт посылал самостоятельно. Обратите внимание, чтобы дата и время были выбраны правильно. Подробности запроса доступны по нажатию на «шестерёнку»:
Какие здесь могут быть ошибки:
1) Отсутствуют исходящие запросы /stocks от Маркета — неправильно выставлено время, либо не включено обновление остатков через API.
Проверьте обновление, нажав в личном кабинете в разделе «Настройки API» следующую кнопку:
2) Запросы /stocks присутствуют, но указано, что есть какие-то ошибки:
- Доступ запрещен — 403 Forbitten
- Ошибка «expected and actual fingerprints aren’t the same»
- Read timed out — маркет не дождался ответа сайта. Если ошибка возникает только «иногда», то причина здесь не в плагине, а в ресурсах сайта. Возможно, в данный момент нагрузка на сайт повышена и он не может быстро отвечать на различные запросы.
3) Запросы /stocks присутствуют, ошибок нет, в теле пусто
Если в реальных запросах наличия ошибок нет, но в ответе «Тело отсутствует», то это нормально. Ответ поддержки Маркета:
Это вполне нормальная ситуация ,когда тело ответа скрывается, открыто оно только в тестовых запросах , сделано это для экономии вычислительных ресурсов, главное ,чтобы статус запроса был 200
Как же узнать, какая информация передаётся об остатках? Переходим в админку нашего сайта и включаем «Дебаг режим»:
При этом режиме все запросы будут записываться в логи сайта. Перейдите в приложение «Логи».
В файле plugins/pokupki/apiRequest.debug.log можно увидеть, по каким товарам было запрошены остатки, пример:
Попробуйте найти те SKU, которые записали ранее, присутствуют ли они в запросе Маркета. Для удобства файл лога вы можете скачать и посмотреть в текстовом редакторе на вашем компьютере (рекомендуем Sublime Text).
Если SKU в запросе отсутствуют, значит Маркет не запрашивает по нему наличие. Это может происходить по различным, не зависящим от нас причинам — может быть товар в архиве?
Если SKU присутствует, нужно изучить другой файл — ответ сайта. Найдите файл /plugins/pokupki/api.Response.debug.log — в него записывается ответ нашего сайта, та информация, которая отправляется в Яндекс.Маркет.
Теперь попробуйте найти ранее записанные SKU в этом файле.
Если SKU присутствует, то проверьте, какое по нему отправляется наличие, и какое указано в самом товаре. В случае несовпадения проверьте:
- Сопоставление OfferID — ID товара/ID артикула/Код артикула. Подробнее про сопоставление.
- Выбранные склады в этой настройке.
- Условия по изменению наличия в этой настройке.
Если SKU отсутствует, значит такой товар не найден на вашем сайте. Проверьте следующее:
- Какие товары выбраны для определения наличия, присутствует ли в нём этот товар. Подробнее про настройку.
- Неверно указан принцип сопоставления товаров. Проверьте, как выставлено сопоставление — ID товара/ID артикула/Код артикула. Подробнее про сопоставление.
- Не учтён формат SKU — например, в Маркете у вас fbs1234 (добавлена приставка к ID). Он заводится здесь.
5.2. Диагностика для исходящих обновлений остатков
В случае использования самостоятельной отправки остатков, вся информация будет записана в файл /plugins/pokupki/api.Request.offers-stock.debug.log В нем вы так же можете найти какой товар с каким наличием отправляется в Маркет, а полученные данные видны в личном кабинете на вкладке «К серверу Маркета», запросы /stocks.
Если при нажатии кнопки отправки остатков, вы видите, что обновляется лог /shop/plugins/pokupki/api.error.log , а внутри следующее сообщение:
{"error":{"code":403,"message":"Access denied"},"errors":[{"code":"FORBIDDEN","message":"Access denied"}],"status":"ERROR"}
значит варианта два:
- Исходящий токен доступа утратил актуальность, как обновить.
- Неверно введён номер кампании.
В случае отсутствия такой записи в логах, нужно проверить, с каким offer_id отправляются остатки, вероятно в этом есть ошибка (например, товары в Яндекс.Маркет заведены с кодом артикула, а обновление идет по Id артикула).
Если у вас следующая ошибка при запуске обновления через Cron:
PHP Fatal error: Uncaught Error: Cannot use object of type shopPokupkiShopProductSku as array in
Либо предупреждение:
PHP Notice: Undefined index: catalog_selection_entities_union
то, вероятно, нужно проверить путь до интерпретатора php. Либо в Cron попробовать указать просто — php, либо более полный путь с учетом версии, пример такого: /opt/php74/bin/php (в вашем случае путь может быть другой, уточните его у поддержки хостинга)
Частый вопрос: обновил версию PHP на сайте (с 7.3. до 7.4.), перестали обновляться остатки
Вероятно, нужно обновить CRON команду: если ранее в ней была указана версия 7.3., замените указание на 7.4. Пример: было /opt/php73/bin/php , нужно поменять на /opt/php74/bin/php (в вашем случае путь может быть другой, уточните его у поддержки хостинга)
6. Не скачивается акт приёма-передачи
- Акт доступен только в день отгрузки
- Проверьте, что все заказы переведены в статус «Готов к отгрузке».
- Ошибка «Token Invalid» — проверьте исходящий авторизационный токен. Токен может быть заблокирован при смене пароля у аккаунта Яндекса, нужно его обновить. Как это делается написано здесь.
Проверьте, скачивается ли акт в личном кабинете Яндекс.Маркет.
7. Магазин отключили из-за ошибок в работе API
Если ошибка только при запросе order/status:
Ошибка 500 при запросе order/status
Если ошибка при любом запросе, но иногда:
Яндекс.Маркет может запрашивать актуальное наличие товаров через запрос /stocks хоть каждую минуту. Поэтому, если на сайте возникли какие-либо неполадки, в результате чего он стал временно недоступен, либо стал дольше отвечать на запросы, это может привести к ошибкам в ответе по API, т.к. Яндекс ждёт ответа всего-лишь несколько десятков секунд. Проблем в плагине в этом случае нет.
В любом случае, нужно смотреть описание конкретных ошибок в логах
8. Заказ по модели FBS, но отображаются кнопки от DBS («изменить дату доставки»)
Такое могло произойти, если в момент получения заказа в настройках модели был указан один номер кампании, а уже после, по какой-то причине, изменён на другой. Для последующих заказов всё будет нормально.
В диагностике вам может помочь:
9.1. Лог запросов в личном кабинете Яндекс.Маркет
Здесь вы сможете посмотреть, что отправляется из Маркета и какой он получает ответ.
9.2. Включение логирования в плагине
В этом случае в приложении «Логи» будут записи о запросах и ответах, которые принимает или отправляет плагин.
9.3. Отправка тестовых запросов через сервис «Postman»
С помощью него вы сможете отправить тестовый запрос на ваш сайт и посмотреть, какой он даёт ответ в том или ином случае.
9.4. Отправка тестовых заказов через интерфейс в Яндекс.Маркет
В личном кабинете продавца «Яндекс.Маркет» зайдите в раздел левого меню Настройки — тестовые заказы
Здесь можно отправить тестовый заказ и проверить работу плагина.
10. Другие ошибки и вопросы
Если у вас возникала какая-то другая проблема, не описанная на данной странице, нужно написать в поддержку по почте support@bodysite.ru , мы все проверим.
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 — 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 — 06.09.21 — 16:31
(5)яндекс умеет посылать тестовые запросы, там есть специальный интерфейс, из его личного кабинета и отлаживали
8 — 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 — 06.09.21 — 16:41
(10) у нас по https работает с доменным именем и купленным сертификатом, SHA1-отпечаток SSL-сертификата мы не указывали, если вы об этом
13 — 06.09.21 — 16:42
(12) да об этом. спасибо.
14 — 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 — 06.09.21 — 16:52
я всегда так проверяю:
ssl = Новый ЗащищенноеСоединениеOpenSSL;
HTTP_Соединение = Новый HTTPСоединение(АдресСайта_( тут имя сайта), Неопределено, Неопределено, Неопределено, Неопределено, Неопределено, ssl);
Попытка
HTTP_Соединение.ОтправитьДляОбработки(ОтправляемJSON(тут json с телом запроса), АдресРесурса_( тут апи), ПолучаемJSON(тут json с ответом), Заголовки);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл(ПолучаемJSON);
Данные= ПрочитатьJSON(ЧтениеJSON,Ложь);
хочешь передавай токен, хочешь не передавай.
заголовки задать 2 минуты
18 — 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 — 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 — 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 — 07.09.21 — 08:54
(24) На время пока ваш сервер не отвечает на запросы, магазин не продаёт. Нам было выгоднее арендовать выделенный сервер, который 24/7 работает, УТ там не обновляем, никакие работы не проводим. Включается магазин, когда начнут проходить ответы от сервера.
26 — 29.09.21 — 08:30
У меня с этим модулем еще веселее- отдает 404 ошибку, вроде все делал по их инструкции. Но через личный кабинет при проверке 404, все другие базы опубликованы и работают, претензий к веб-серверу нет. Здесь при обращении к корню публикации — чистая страница, при /cart или /stocks ответ Not found. Модуль не работает ?
27 — 29.09.21 — 11:01
все оказалось проще- URL для запросов API в ЛК яндекса = https://vashserver.ru/опубликованная база/hs/URL для запросов API .И сразу все взлетело.
документация конечно написана правой ногой, даже как то странно такое видеть от яндекса
dark_stealth
28 — 29.09.21 — 11:04
сорри ошибка в url, правильный https://vashserver.ru/опубликованная база/hs/Marketplace_API