Skip to content

Грешки ​

Когато една API заявка е неуспешна, badges.ninja връща JSON отговор с грешка и подходящ HTTP статус код.

Формат на грешките ​

Всички грешки имат следната структура:

json
{
  "error": "description of what went wrong"
}

Статус кодове ​

КодЗначениеКога възниква
400Невалидна заявкаЛипсващи или невалидни параметри, достигнат лимит на плана или квота, функцията изисква по-висок план или липса на упълномощаване — всички грешки при валидация връщат 400
402Необходимо е плащанеЗапазен за изчерпани кредити. API на badges в момента не удържа кредити, затова този код на практика никога не се връща
404Не е намереноЗаявеният ресурс не съществува
500Вътрешна грешка на сървъраНа сървъра възникна неочаквана грешка

Няма 403 или 429: грешките при упълномощаване връщат 400 („not authorized“) и няма ограничаване на честотата на заявките на ниво приложение.

Често срещани грешки и решения ​

Липсващи задължителни параметри ​

json
{ "error": "missing required parameters: name, url, email" }

Решение: Включете всички задължителни параметри в тялото на заявката. Вижте документацията на крайната точка за пълния списък.

Невалиден имейл ​

json
{ "error": "invalid email" }

Решение: Подайте валиден имейл адрес във формат user@domain.com.

Невалиден URL ​

json
{ "error": "invalid URL" }

Решение: Подайте пълен URL, включително протокола, напр. https://example.com.

Твърде кратко име ​

json
{ "error": "name must be at least 3 characters" }

Решение: Използвайте по-дълго име. Имената на издателите изискват поне 3 символа. Имената на получателите изискват поне 5 символа.

Издателят не е верифициран ​

json
{ "error": "issuer must be verified before creating badges" }

Решение: Първо верифицирайте издателя. Проверете имейла на издателя за връзката за верификация или използвайте крайната точка Верификация на издател.

Достигната квота за удостоверения (400) ​

json
{ "error": "Your Free plan reached its credential limit (1200/1200) — your allowance renews on your plan anniversary, or upgrade to Starter" }

Решение: Използвали сте целия си годишен пул от удостоверения (Free: 1 200/година, Starter: 12 000/година, Pro: 120 000/година). Пулът се нулира на годишнината от регистрацията на акаунта ви — а не на границата на календарния месец. Надградете плана си за по-голям лимит. Вижте Планове и таксуване.

Достигнат лимит на плана (400) ​

json
{ "error": "Your Free plan reached its issuer limit (2/2) — delete an issuer or upgrade to Starter" }

Лимитът за значки има същата форма:

json
{ "error": "badge limit reached (5/5 on the starter plan) — delete a badge or upgrade your plan" }

Решение: Достигнали сте лимита на плана си за издатели или значки. Изтрийте неизползван ресурс или надградете плана си.

Ресурсът има зависимости (400) ​

json
{ "error": "issuer has 3 badge(s) linked — delete the badges first" }

Решение: Изтрийте всички значки, свързани с издателя, преди да изтриете издателя. По същия начин изтрийте всички удостоверения към дадена значка, преди да изтриете значката.

Липса на упълномощаване (400) ​

json
{ "error": "not authorized" }

Грешките при упълномощаване са грешки при валидация, затова връщат 400 (а не 401 или 403).

Решение: Можете да променяте само ресурси, които притежавате. Уверете се, че използвате правилния API ключ.

HTML в текста за споделяне ​

json
{ "error": "HTML tags are not allowed" }

Решение: Текстът за споделяне трябва да е обикновен текст. Премахнете всички HTML тагове от параметъра text.

badges.ninja Documentation