( ! ) Notice: Undefined index: HTTP_ACCEPT_LANGUAGE in /var/www/html/nasz-wroclaw/index.php on line 23
Call Stack
#TimeMemoryFunctionLocation
10.0003402112{main}( ).../index.php:0
Integracja zewnętrzna
www.wroclaw.pl

Integracja zewnętrzna

Lista requestów

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