Преминете към съдържанието
ShopentlyLearn

Кодове за грешки

Ако заявката е неуспешна, проверете кода на грешката в отговора. Разгънете го в списъка по-долу, за да разберете какво е станало и как да продължите. При всяка грешка има примерен отговор и указания за повторна заявка.

400request.malformedЗаявката не може да бъде анализирана.
Какво да направите
Проверете JSON синтаксиса, URL кодирането и структурата на заявката.
Правила за повторение
Повторете след коригиране на заявката.
Отговор
{
  "error": {
    "code": "request.malformed",
    "fields": null,
    "message": "The request could not be read."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.invalid_credentialsAPI ключът или токенът за достъп е невалиден, изтекъл или отменен.
Какво да направите
Проверете URL адреса на магазина и данните за достъп. Получете нов токен с активен API ключ.
Правила за повторение
Повторете след коригиране на удостоверяването; избягвайте многократни невалидни заявки за токен.
Отговор
{
  "error": {
    "code": "authentication.invalid_credentials",
    "fields": null,
    "message": "The credentials are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.requiredЛипсва необходимата заглавка Authorization или схемата ѝ е неправилна.
Какво да направите
За издаване или отмяна на токен използвайте API ключа с ApiKey в заглавката Authorization. За останалите заявки използвайте токена за достъп с Bearer.
Правила за повторение
Повторете след подаване на правилната заглавка.
Отговор
{
  "error": {
    "code": "authentication.required",
    "fields": null,
    "message": "Authentication is required."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.client_ip_unverifiedУслугата не можа да установи надежден IP адрес на клиента.
Какво да направите
Проверете от кой IP адрес интеграцията се свързва с API. Ако грешката продължава, свържете се с техническата поддръжка на Shopently.
Правила за повторение
Опитайте отново след решаване на проблема с определянето на IP адреса.
Отговор
{
  "error": {
    "code": "authorization.client_ip_unverified",
    "fields": null,
    "message": "The client IP address could not be verified."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.ip_not_allowedИзходният IP адрес не е в списъка с разрешени адреси за ключа.
Какво да направите
Използвайте одобрен изходен адрес или помолете упълномощен администратор да редактира IP списъка на ключа.
Правила за повторение
Повторете само след като адресът бъде разрешен.
Отговор
{
  "error": {
    "code": "authorization.ip_not_allowed",
    "fields": null,
    "message": "Access from this IP address is not allowed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.scope_deniedКлючът няма действащо право, необходимо за тази операция.
Какво да направите
Проверете задължителните и условните права на операцията, правата на ключа и достъпа на неговия издател.
Правила за повторение
Повторете, след като упълномощен администратор предостави необходимия достъп.
Отговор
{
  "error": {
    "code": "authorization.scope_denied",
    "fields": null,
    "message": "The required permission has not been granted."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.api_disabledAPI достъпът е изключен за този магазин.
Какво да направите
Помолете собственика да провери активния план и наличността на API.
Правила за повторение
Не повтаряйте, докато API достъпът не бъде включен.
Отговор
{
  "error": {
    "code": "entitlements.api_disabled",
    "fields": null,
    "message": "API access is disabled for this store."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.limit_exceededПромяната би надхвърлила лимит на текущия план.
Какво да направите
Проверете приложимия лимит на ресурса и коригирайте планираната промяна или плана.
Правила за повторение
Повторете след разрешаване на ограничението; използвайте нов ключ за идемпотентност, ако заявката се промени.
Отговор
{
  "error": {
    "code": "entitlements.limit_exceeded",
    "fields": null,
    "message": "The operation exceeds a plan limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.operation_disabledТекущият план не включва тази операция.
Какво да направите
Проверете минималния план, посочен за операцията.
Правила за повторение
Повторете, когато планът позволява операцията и ключът има необходимите права.
Отговор
{
  "error": {
    "code": "entitlements.operation_disabled",
    "fields": null,
    "message": "The current plan does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.resource_blockedЛимит на плана блокира конкретния ресурс.
Какво да направите
Помолете собственика да разреши ограничението на ресурса от плана.
Правила за повторение
Не повтаряйте същата заявка, докато ресурсът остава блокиран.
Отговор
{
  "error": {
    "code": "entitlements.resource_blocked",
    "fields": null,
    "message": "A plan limit blocks access to this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

404resource.not_foundРесурсът липсва, изтрит е или не е достъпен с подадения идентификатор.
Какво да направите
Проверете магазина, пътя на ресурса и идентификатора. Използвайте идентификатори, върнати от този магазин.
Правила за повторение
Повторете само след коригиране на целта или потвърждение, че тя съществува.
Отговор
{
  "error": {
    "code": "resource.not_found",
    "fields": null,
    "message": "The resource was not found."
  },
  "meta": {
    "request_id": "example-request"
  }
}

405request.method_not_allowedEndpoint не поддържа този HTTP метод.
Какво да направите
Използвайте документирания метод; заглавката Allow посочва поддържаните методи.
Правила за повторение
Не повтаряйте неподдържания метод.
Отговор
{
  "error": {
    "code": "request.method_not_allowed",
    "fields": null,
    "message": "This method is not supported for this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409idempotency.key_reusedТози ключ за идемпотентност принадлежи на различна заявка.
Какво да направите
Намерете първоначалната операция. Използвайте нов ключ само за умишлено нова логическа операция.
Правила за повторение
Не повтаряйте променени данни с конфликтния ключ.
Отговор
{
  "error": {
    "code": "idempotency.key_reused",
    "fields": null,
    "message": "This idempotency key was used with a different request."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.already_existsУникална стойност е в конфликт със съществуващ ресурс.
Какво да направите
Прочетете съществуващия ресурс и решете дали да го използвате, или да изберете различна уникална стойност.
Правила за повторение
Не повтаряйте същото конфликтно създаване.
Отговор
{
  "error": {
    "code": "resource.already_exists",
    "fields": null,
    "message": "A resource with these unique values already exists."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.in_useДруги ресурси все още зависят от този ресурс.
Какво да направите
Прегледайте зависимостите и ги премахнете или променете чрез поддържани операции преди изтриване.
Правила за повторение
Повторете след отстраняване на зависимостите.
Отговор
{
  "error": {
    "code": "resource.in_use",
    "fields": null,
    "message": "The resource is still in use."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.state_conflictТекущото бизнес състояние не допуска тази промяна.
Какво да направите
Прочетете текущото състояние и изберете валиден бизнес преход.
Правила за повторение
Не налагайте автоматично и не подавайте многократно конфликтната промяна.
Отговор
{
  "error": {
    "code": "resource.state_conflict",
    "fields": null,
    "message": "The current resource state does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.version_conflictДруг запис е променил ресурса след версията, която сте прочели.
Какво да направите
Прочетете най-новото състояние, съгласувайте промяната и подайте новата expected_version.
Правила за повторение
Използвайте нов ключ за идемпотентност за преработената операция; не презаписвайте без проверка.
Отговор
{
  "error": {
    "code": "resource.version_conflict",
    "fields": null,
    "message": "The resource version has changed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409storage.limit_reachedДостигнат е лимитът за съхранение на изображения и файлове. Освободете място или увеличете лимита.
Какво да направите
Достигнат е лимитът за съхранение на изображения и файлове. Освободете място или увеличете лимита.
Правила за повторение
Повторете с по-малки валидни операции, всяка със собствен ключ за идемпотентност.
Отговор
{
  "error": {
    "code": "storage.limit_reached",
    "fields": null,
    "message": "The upload storage limit is reached."
  },
  "meta": {
    "request_id": "example-request"
  }
}

413request.too_largeЗаявката надхвърля ограничението за размер.
Какво да направите
Намалете данните или разделете работата на поддържани отделни операции.
Правила за повторение
Повторете с по-малки валидни операции, всяка със собствен ключ за идемпотентност.
Отговор
{
  "error": {
    "code": "request.too_large",
    "fields": null,
    "message": "The request exceeds the size limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

415request.unsupported_media_typeТипът на съдържанието или кодирането му не се поддържа.
Какво да направите
За JSON записи използвайте Content-Type: application/json и поддържано некомпресирано тяло.
Правила за повторение
Повторете след коригиране на типа или кодирането на съдържанието.
Отговор
{
  "error": {
    "code": "request.unsupported_media_type",
    "fields": null,
    "message": "The request media type or encoding is not supported."
  },
  "meta": {
    "request_id": "example-request"
  }
}

416request.range_not_satisfiableОграничения: Range
Какво да направите
Range: bytes=0-(size_bytes-1)
Правила за повторение
Повторете след коригиране на заявката.
Отговор
{
  "error": {
    "code": "request.range_not_satisfiable",
    "fields": null,
    "message": "The requested byte range is unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

422request.validation_failedЕдно или повече полета или параметри не преминават валидирането.
Какво да направите
Прегледайте error.fields и проверете задължителните полета, допустимостта на null, идентификаторите и разрешените стойности.
Правила за повторение
Повторете с коригирана заявка; промененият запис е нова логическа операция.
Отговор
{
  "error": {
    "code": "request.validation_failed",
    "fields": null,
    "message": "Some request parameters are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.queue_fullКратката опашка на API е пълна; изпълнението на заявката не е започнало.
Какво да направите
Поставяйте заявките в опашка и спазвайте заглавката Retry-After в отговора.
Правила за повторение
Изчакайте поне броя секунди, посочен в Retry-After. Ако повтаряте запис, запазете същото тяло на заявката и стойност на Idempotency-Key.
Отговор
{
  "error": {
    "code": "capacity.queue_full",
    "fields": null,
    "message": "The API is busy. Please retry shortly."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.wait_timeoutВремето за изчакване в опашката на API изтече; изпълнението на заявката не е започнало.
Какво да направите
Поставяйте заявките в опашка и спазвайте заглавката Retry-After в отговора.
Правила за повторение
Изчакайте поне броя секунди, посочен в Retry-After. Ако повтаряте запис, запазете същото тяло на заявката и стойност на Idempotency-Key.
Отговор
{
  "error": {
    "code": "capacity.wait_timeout",
    "fields": null,
    "message": "The API could not start this request in time. Please retry shortly."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429rate_limit.exceededЧестотата на заявките надхвърля приложимото ограничение.
Какво да направите
Поставяйте заявките в опашка и спазвайте заглавката Retry-After в отговора.
Правила за повторение
Изчакайте поне броя секунди, посочен в Retry-After. Ако повтаряте запис, запазете същото тяло на заявката и стойност на Idempotency-Key.
Отговор
{
  "error": {
    "code": "rate_limit.exceeded",
    "fields": null,
    "message": "The request rate limit has been exceeded."
  },
  "meta": {
    "request_id": "example-request"
  }
}

500internal.errorВъзникна неочаквана грешка в услугата.
Какво да направите
Изчакайте малко, преди да повторите заявката. Ако грешка 500 се появи отново, свържете се с техническата поддръжка на Shopently и посочете идентификатора на заявката.
Правила за повторение
Можете да опитате отново да прочетете данните след кратка пауза. При повторен запис използвайте същата стойност на Idempotency-Key и не променяйте тялото на заявката.
Отговор
{
  "error": {
    "code": "internal.error",
    "fields": null,
    "message": "An unexpected error occurred."
  },
  "meta": {
    "request_id": "example-request"
  }
}

502gateway.bad_responseШлюзът не получи валиден API отговор.
Какво да направите
Запазете идентификатора на заявката. Неуспешният отговор не доказва, че записът не е приложен.
Правила за повторение
Използвайте ограничени повторения с нарастващо изчакване; повторете същия логически запис с първоначалния Idempotency-Key и същите данни.
Отговор
{
  "error": {
    "code": "gateway.bad_response",
    "fields": null,
    "message": "The API gateway could not obtain a valid response."
  },
  "meta": {
    "request_id": "example-request"
  }
}

503service.unavailableAPI временно не може да обработи заявката.
Какво да направите
Ако отговорът съдържа заглавката Retry-After, изчакайте посочения брой секунди, преди да опитате отново. Иначе изчакайте малко. Ако грешката продължава, свържете се с техническата поддръжка на Shopently и посочете идентификатора на заявката.
Правила за повторение
Опитайте отново след изчакването, описано по-горе. При повторен запис използвайте същата стойност на Idempotency-Key и не променяйте тялото на заявката.
Отговор
{
  "error": {
    "code": "service.unavailable",
    "fields": null,
    "message": "The API is temporarily unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

504gateway.timeoutШлюзът надхвърли времето за изчакване на API.
Какво да направите
Ако заявката променя данни, проверете дали промените са запазени в магазина. Липсата на отговор не означава, че записът е неуспешен. Ако грешката продължава, свържете се с техническата поддръжка на Shopently и посочете идентификатора на заявката.
Правила за повторение
Можете да опитате отново да прочетете данните след кратка пауза. При повторен запис използвайте същата стойност на Idempotency-Key и не променяйте тялото на заявката.
Отговор
{
  "error": {
    "code": "gateway.timeout",
    "fields": null,
    "message": "The API gateway timed out."
  },
  "meta": {
    "request_id": "example-request"
  }
}