Заявки от клиента¶
Крайна точка за комуникация¶
За подаване на заявка се отваря TCP сесия на порт 80 към https://api.netfinity.bg/v2/...
.
Информация
Пълният URL за всяка услуга ще намерите в описанието на съответната услуга.
Автентикация¶
Идентифицирането на подателя се извършва чрез Bearer token като хедър във всяка заявка:
Authorization: Bearer .....
Оторизация¶
Към всеки токен е присъединена следната информация:
- IP адрес/и, от които може да се използва
- Права за достъп и услуги, с които може да се използва
Важно
Всички аспекти на Токените се управляват в конфигурацията на всяка услуга и са индивидуални за различните услуги.
Подготовка на заявка¶
Параметри¶
Всички параметри се подават в JSON формат. Необходимо е заявките да съдържат следните задължителни хедъри:
Accept: application/json
Content-Type: application/json
Изпращане на заявка¶
Изпращането се извършва чрез POST метод по HTTP протокол.
Получаване на отговор¶
Съдържанието на отговора, който се генерира към всяка заявка е винаги в JSON формат.
Изходни кодове¶
В отговор на всяка получена заявка се изпраща изходен код, който има основно значение за това какво се е случило при обработката на заявката. При необходимост от предоставяне на допълнителна информация относно изпълнението на заявката, е възможно данните да бъдат подадена под формата на:
- Специфични хедъри
- Включени мета-данни в тялото на отговора
Списък с възможните стойности на изходния код:
Exit code | Значение |
---|---|
200 | Accepted - Заявката е приета. Тялото на отговора може да съдържа допълнителни мета данни, които са различни за всеки вид услуга и са описани в представянето на съответната услуга. |
401 | Bearer token wrong - Неуспешна автентикация. |
403 | IP address not allowed / Token capabilities missing - Използваният токен е валиден, но заявката е подадена от IP адрес, който не е разрешен за този токен или токенът няма права за услугата, която е поискана с тази заявка. |
406 | Request headers missing / Request not in JSON format - Подадената заявка не отговаря на изискванията. |
422 | Input Validation Error - Входните параметри не отговарят на правилата за съответната услуга. |
429 | Throttle Limit - Към всяка услуга се прилагат правила за максималния брой заявки в минута, които може да бъдат обслужени. |
Заявката е приета (200)¶
Получаването на статус 200 означава, че вашата заявка отговаря на основните критерии за форматиране на входните данни и е приета за последваща обработка.
Важно
На този етап отговор 200 не означава, че заявената услуга ще бъде изпълнена.
Периодично ще получавате информация на ваш Callback URL за текущото състояние на подадената заявка и настъпили промени в изпълнението и статуса.
Грешка при валидиране (422)¶
В тялото на отговора се съдържа информация кои параметри липсват и/или не са валидирани успешно, например:
{
"message": "The given data was invalid.",
"errors": {
"msisdn": [
"The msisdn must be between 8 and 20 digits."
],
"text": [
"The text format is invalid."
]
}
}
Ограничения за скорост (429)¶
При превишаване на разрешения брой заявки в минута, заявката ще бъде отказана и в хедърите на отговора ще намерите допълнителна информация:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
Retry-After: 42