В този раздел можете да научите основите как да изпращате и получавате данни от nekorekten.com и как да внедрите API, платформи, продукти и SDK според нуждите на вашето приложение. Информацията по-долу е предназначена единствено за разработчици и е с технически характер. Ако имате въпроси относно API-то на nekorekten.com, моля свържете се с нас чрез нашата форма за контакт email
Задължително, когато предоставяте услугата на трети лица, моля да добавите в секцията, където се показват или изпращат сигнали към и от нас, да посочите ясно, че са от нашата платформа (например заглавие на секцията с линк към платформата).
Моля проверете и/или добавете във вашата политика за поверителност, в примерна секция "С кого споделяме вашите данни?", нашата платформа. По този начин всеки клиент, който прави поръчки, изрично се е съгласил, че можете да споделите данните му с нас при злоупотреби.
Примерен текст:
Максимум 10 заявки в минута по подразбиране! Актуалният лимит за вашия план можете да видите чрез /api/v1/api-keys/current/usage.
IP whitelist: всеки API ключ работи само от IP адресите, зададени при създаването му
(или редакцията му чрез /api/v1/api-keys). Заявки от всеки друг IP адрес
получават отговор 403.
Всички отговори са във формат JSON. При грешка HTTP кодът е различен от 200, а в полето
message има описание на проблема:
{
"message": "Невалиден телефон",
"server": { "date": "2026-10-06 12:00:00", "httpCode": 400 }
}
{
"message": "Методът не се поддържа за този адрес.",
"server": { "date": "2026-10-06 12:00:00", "httpCode": 405 }
}
| Код | Описание |
|---|---|
| 400 | Невалидна заявка – липсващи или невалидни параметри (телефон, имейл, URL, град, файл, непотвърден профил и др.). Причината е описана в message. |
| 401 | Липсва, невалиден или неактивен API ключ (хедър Api-Key). |
| 403 | Заявката е от IP адрес, който не е в списъка с разрешени IP адреси на ключа. |
| 405 | Методът не се поддържа за този адрес. |
| 429 | Надвишен е лимитът на заявките в минута или лимитът за търсене за последните 24 часа според вашия абонаментен план. Опитайте отново по-късно. |
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| phone | string | Не* | Търсене по телефонен номер |
| string | Не* | Търсене по имейл | |
| name | string | Не* | Търсене по име |
| siteUrl | string | Не* | Търсене по сайт |
| searchMode | string | Не (по подразбиране: 'all') | Възможни стойности:
|
| page | integer | Не (по подразбиране: 1) | Номер на страницата. |
| itemsPerPage | integer | Не (по подразбиране: 20) | Брой елементи на страница. Минимум 1, максимум 100. |
| *Нито един от филтрите не е задължителен сам по себе си, но за успешна заявка трябва да е подаден поне един. | |||
phone,
email, firstName, lastName, facebookUrl) са
частично маскирани. Данните за съответното поле не се маскират само ако сте търсили по него
(напр. при търсене по phone телефонът се връща в пълен вид). Сигналите, създадени от
вашия акаунт, се връщат без маскиране. Изображенията към сигнали, които още не са прегледани от
модератор, се връщат със заместващо id и name със стойност
review.
curl --location --request GET 'https://api.nekorekten.com/api/v1/reports?phone=359888888888' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": null,
"items": [
{
"id": "0obgyGbp1Ms",
"firstName": "Ив**",
"lastName": "Ив****",
"email": "ivan.p*****@example.com",
"phone": "+359888888888",
"text": "Не плати поръчката и не вдига телефона.",
"facebookUrl": null,
"siteUrl": "example.com/profile/123",
"siteUrlMapped": "http://example.com/profile/123",
"user": {
"id": "k3Jd9aWq2Lp",
"firstName": "Петър",
"lastName": "Петров",
"email": "se****@shop.bg"
},
"city": {
"id": 1,
"name": "София",
"region": "София-град",
"postCode": 1000,
"phoneCode": 2
},
"parent": null,
"children": [],
"categories": [],
"files": [
{
"file": { "id": "Xy7bN2mQ4Ta", "name": "chat.webp", "mimeType": "image/webp" }
}
],
"createDate": "2026-10-01T10:15:00+03:00",
"views": 12,
"liked": 0,
"visibleOnlyForCreator": false,
"isArchived": false
}
],
"count": 1,
"currentPage": 1,
"itemsPerPage": 20,
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| text | string | Да | Описание на сигнала – кратък текст какво, къде и как е станало. |
| phone | string | Не* | Телефонен номер на лицето – използва се като филтър за търсене. Номерът трябва да е с код на държавата, като един низ (напр. 359888888888 или +359888888888). Български номера във формат 08XXXXXXXX / 09XXXXXXXX се приемат и без код. Интервалите се игнорират, номерът се валидира и се записва в международен формат (E.164). |
| string | Не* | Имейл на лицето – използва се като филтър за търсене. | |
| siteUrl | string | Не* | URL на сайта – използва се като филтър за търсене. |
| facebookUrl | string | Не* | Facebook URL на лицето – използва се като филтър за търсене. |
| firstName | string | Не | Собствено име на лицето – използва се като филтър за търсене. |
| lastName | string | Не | Фамилия на лицето – използва се като филтър за търсене. |
| files | array | Не | Масив с ID-та на файлове. |
| cityID | int | Не | Град на лицето. Списък можете да получите от /api/v1/cities. |
| *Нито едно от тези полета не е задължително само по себе си, но поне едно от тях трябва да е подадено. | |||
curl --location --request POST 'https://api.nekorekten.com/api/v1/reports' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{ "text": "Не плати поръчката", "firstName": "Иван", "lastName": "Иванов", "phone": "359888888888" }'
{
"message": "Сигналът е изпратен успешно.",
"details": {
"id": "0obgyGbp1Ms",
"firstName": "Иван",
"lastName": "Иванов",
"email": null,
"phone": "+359888888888",
"facebookUrl": null,
"siteUrl": null,
"text": "Не плати поръчката",
"user": {
"id": "k3Jd9aWq2Lp",
"firstName": "Петър",
"lastName": "Петров",
"email": "[email protected]"
},
"city": null,
"parent": null,
"categories": [],
"files": [],
"children": [],
"createDate": "2026-10-06T12:00:00+03:00",
"views": 0,
"liked": 0,
"isView": false,
"visibleOnlyForCreator": false
},
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| text | string | Не | Описание на сигнала – кратък текст какво, къде и как е станало. |
| phone | string | Не | Телефонен номер на лицето – използва се като филтър за търсене. Номерът трябва да е с код на държавата, като един низ (напр. 359888888888 или +359888888888). Български номера във формат 08XXXXXXXX / 09XXXXXXXX се приемат и без код. Интервалите се игнорират, номерът се валидира и се записва в международен формат (E.164). |
| string | Не | Имейл на лицето – използва се като филтър за търсене. | |
| siteUrl | string | Не | URL на сайта – използва се като филтър за търсене. |
| facebookUrl | string | Не | Facebook URL на лицето – използва се като филтър за търсене. |
| firstName | string | Не | Собствено име на лицето – използва се като филтър за търсене. |
| lastName | string | Не | Фамилия на лицето – използва се като филтър за търсене. |
| files | array | Не | Масив с ID-та на файлове. |
| cityID | int | Не | Град на лицето. Списък можете да получите от /api/v1/cities. |
curl --location --request PATCH 'https://api.nekorekten.com/api/v1/reports/XXXXXXX' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{ "firstName": "Иван", "lastName": "Иванов", "phone": "359888888888" }'
{
"message": "Сигналът е редактиран успешно",
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
curl --location --request DELETE 'https://api.nekorekten.com/api/v1/reports/0obgyGbp1Ms' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": "Репортът е изтрит успешно",
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| files[] | file | Да | Файловете могат да са изображения с поддържани разширения: "jpeg", "jpg", "png", "webp". Изображенията се оразмеряват до максимум 1980px по по-дългата страна, метаданните им се премахват и се конвертират във формат WebP. Максималният размер на един файл е 25 MB. Максималният брой изображения към един сигнал зависи от абонаментния план (maxReportImages). |
curl --location --request POST 'https://api.nekorekten.com/api/v1/files' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--form 'files[]=@"/path/to/file/chat.jpg"'
{
"message": null,
"items": [
{
"id": "Xy7bN2mQ4Ta",
"name": "chat.webp",
"md5": "9e107d9d372bb6826bd81d3542a419d6",
"size": 48213,
"mimeType": "image/webp",
"modifications": null
}
],
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
curl --location --request GET 'https://api.nekorekten.com/api/v1/cities' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": null,
"items": [
{
"id": 1,
"name": "София",
"region": "София-град",
"postCode": 1000,
"phoneCode": 2
}
],
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
curl --location --request GET 'https://api.nekorekten.com/api/v1/api-keys' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": null,
"items": [
{
"id": "Qw8eR5tY2Uo",
"name": "My key",
"key": "0123456789abcdef0123456789abcdef01234567",
"ips": ["192.168.1.1"],
"createDate": "2026-10-01 10:00:00"
}
],
"count": 1,
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| name | string | Да | Име (етикет) на API ключа. |
| ips | string | Да | Списък с разрешени IP адреси (IPv4/IPv6) или CIDR диапазони (напр. 173.245.48.0/20), разделени със запетая или нов ред. Заявки от други IP адреси се отхвърлят с код 403. Стойността * позволява всички IP адреси (не се препоръчва; позволена е само за един ключ). |
curl --location --request POST 'https://api.nekorekten.com/api/v1/api-keys' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{ "name": "My key", "ips": "192.168.1.1" }'
{
"message": "Ключът е създаден успешно",
"details": {
"id": 15,
"name": "My key",
"key": "0123456789abcdef0123456789abcdef01234567",
"createDate": "2026-10-06T12:00:00+03:00",
"ips": ["192.168.1.1"]
},
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| name | string | Не | Име (етикет) на API ключа. |
| ips | string | Не | Списък с разрешени IP адреси (IPv4/IPv6) или CIDR диапазони (напр. 173.245.48.0/20), разделени със запетая или нов ред. Заявки от други IP адреси се отхвърлят с код 403. Стойността * позволява всички IP адреси (не се препоръчва; позволена е само за един ключ). |
curl --location --request PATCH 'https://api.nekorekten.com/api/v1/api-keys/XXXXXXX' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{ "name": "Updated key" }'
{
"message": "The API key has been edited successfully",
"details": {
"id": "XXXXXXX"
},
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
curl --location --request DELETE 'https://api.nekorekten.com/api/v1/api-keys/XXXXXXX' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": "The api key has been deleted successfully",
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Задължително | Описание |
|---|---|---|---|
| fromDate | string | Да | Начална дата/час в UTC (напр. 2026-04-29 00:00:00). Не може да е по-стара от 31 дни. |
| toDate | string | Да | Крайна дата/час в UTC (напр. 2026-04-29 23:59:59). Максимум 7 дни след fromDate. |
| responseCode | integer | Не | Филтър по HTTP код на отговора (напр. 200, 429). |
| page | integer | Не (по подразбиране: 1) | Номер на страницата. |
| itemsPerPage | integer | Не (по подразбиране: 20) | Брой елементи на страница. |
curl --location --request GET 'https://api.nekorekten.com/api/v1/api-keys/XXXXXXX/requests?fromDate=2026-04-29+00:00:00&toDate=2026-04-29+23:59:59' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": null,
"items": [
{
"id": "Lk4jH7gF1Ds",
"url": "/api/v1/reports",
"httpResponseCode": 400,
"ip": "192.168.1.1",
"createDate": "2026-04-29 10:15:00",
"getParameters": [],
"postParameters": [],
"response": {
"message": "Моля посочете критерии за търсене.",
"server": { "date": "2026-04-29 10:15:00", "httpCode": 400 }
}
}
],
"count": 1,
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}
| Поле | Тип | Описание |
|---|---|---|
| plan.name | string | Име на активния абонаментен план. |
| apiRequests.used | integer | Брой API заявки за последната минута. |
| apiRequests.limit | integer | Максимален брой API заявки в минута. |
| searchRequests.used | integer | Брой заявки за търсене за последните 24 часа. |
| searchRequests.limit | integer | Максимален брой заявки за търсене на ден. |
| maxReportImages | integer | Максимален брой изображения към един сигнал. |
| searchPeriod | integer | Период на историята на търсенията в години. |
curl --location --request GET 'https://api.nekorekten.com/api/v1/api-keys/current/usage' \
--header 'Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
{
"message": null,
"items": {
"plan": { "name": "Безплатен" },
"apiRequests": { "used": 2, "limit": 10, "period": "minute" },
"searchRequests": { "used": 15, "limit": 100, "period": "day" },
"maxReportImages": 10,
"searchPeriod": 2
},
"server": { "date": "2026-10-06 12:00:00", "httpCode": 200 }
}