Integracja zewnętrzna
Lista requestów
- Uzyskanie tokenu po raz pierwszy
- Uzyskanie nowego tokenu
- Walidacja statusu Premium
- Przyznanie zniżki
- Cofnięcie przyznania zniżki
Instrukcja
Dostęp do API
API Nasz Wrocław umożliwa integrację serwisom zewnętrznym, dzięki której można walidować możliwość korzystania ze statusu Premium bez użycia aplikacji Partnera.
Aby skorzystać z API Nasz Wrocław należy się najpierw zautoryzować. Do autoryzacji służy mechanizm logowania zaiplementowany po stronie backendu na podstawie standardu Oauth 2.0 Bearer Token (RFC 6750). Dostęp do API wymaga przesłania w nagłówku żądania HTTP ważny Access Token, wystawiony i podpisany zgodnie ze standardem JWT (RFC 7519).
|Nagłówek HTTP|Wartość| |-----------------|----------| |Authorization|Bearer |
W przypadku braku ważnego tokenu serwer odpowie statusem HTTP 403 Forbidden.
Korzystanie z API
Każde żądanie jest rejestrowane w historii akcji, a kolejność ich wywoływania powinna być zachowana, choć apikacja jest bezstanowa i dowolny z kroków można ominąć.
Proces biznesowy zakłada w pierwszej kolejności walidację statusu Premium na podstawie podanego numeru karty. W przypadku pozytywnej walidacji zniżka może zostać przyznana, w przypadku negatywnej nie ma takiej możliwości.
Możliwe jest także cofnięcie ostatnio przyznanej zniżki dla każdej z kart.
Opis żądań HTTP
Uzyskanie tokenu po raz pierwszy
Ścieżka
/api/auth/login/partner
Metoda
POST
Nagłówki HTTP
Content-Type: application/json
Body
{
"email":"<adres[at[email.com>",
"password":"<hasło>"
}
Odpowiedź
HTTP 200 OK
{
"accessToken": "",
"email": "<adres[at]email.com>",
"forcePasswordChange": false,
"refreshToken": "",
"roles": [
"PARTNER_EMPLOYEE",
"LOGGED_USER"
]
}
lub
HTTP 401 Unauthorized
{
"code": 401,
"message": "Nieautoryzowany dostęp."
}
Uzyskanie nowego tokenu
Ścieżka
/api/auth/renew
Metoda
POST
Nagłówki HTTP
Content-Type: application/json
Body
{
"refreshToken":""
}
Odpowiedź
HTTP 200 OK
{
"accessToken": "",
"email": "<adres[at]email.com>",
"forcePasswordChange": false,
"refreshToken": "",
"roles": [
"PARTNER_EMPLOYEE",
"LOGGED_USER"
]
}
lub
HTTP 401 Unauthorized
{
"code": 401,
"message": "Nieautoryzowany dostęp."
}
Walidacja statusu Premium
Metoda 1: poprzez numer karty, ścieżka:
/api/partner/cards/<numerKarty>/status?verificationType=<portal>
Metoda 2: poprzez numer PESEL, ścieżka:
api/partner/cards/pesel/<numerPESEL>/status?verificationType=<portal>
Parametry URL
numerKarty - numer karty w formacie bez spacji i myślników (np. 123456789)
numerPESEL - numer PESEL w formacie bez spacji i myślników (np. 01234567890)
portal - nazwa funkcji lub serwisu z którego pochodzi żądanie walidacji (np. kinoValidateAuto)
Metoda
GET
Nagłówki HTTP
Authorization: Bearer
Odpowiedź
HTTP 200 OK
{
"cardType": "",
"statusEndDate": "",
"valid": true
}
lub
HTTP 412 Precondition Failed
{
"cardType": "",
"problem": "REJECTED_OR_EXPIRED",
"statusEndDate": "",
"valid": false
}
lub
HTTP 404 Not Found
{
"problem": "NOT_FOUND",
"valid": false
}
Przyznanie zniżki
Ścieżka
/api/partner/cards//uses?verificationType=
Parametry URL
numerKarty - numer karty w formacie bez spacji i myślników (np. 123456789)
portal - nazwa funkcji lub serwisu z którego pochodzi żądanie walidacji (np. kinoValidateAuto)
Metoda
POST
Nagłówki HTTP
Authorization: Bearer
Content-Type: application/json
Body
{
"count":
}
Odpowiedź
HTTP 200 OK
{
"card": "",
"cardType": "NWRO_APP",
"commander": "",
"commanderId": ,
"count": ,
"created": "",
"id": ,
"selfCommand": false,
"type": "CARD_USE"
}
Cofnięcie przyznania zniżki
Ścieżka
/api/partner/cards//uses/<identyfikatorUżycia>
Parametry URL
numerKarty - numer karty w formacie bez spacji i myślników (np. 123456789)
identyfikatorUżycia - numer z pola 'id' z żądania Przyznanie zniżki
Metoda
DELETE
Nagłówki HTTP
Authorization: Bearer
Odpowiedź
HTTP 200 OK
lub
HTTP 403 Forbidden w przypadku braku możliwości cofnięcia