Dostęp do API
Podzbiór API AdsHero jest publicznie dostępny — dotyczy to przede wszystkim emisji oraz wysyłki eventów o interakcjach i atrybucji. Pozostałe API są zabezpieczone i wymagają uwierzytelniania za pomocą tokenu.
Jeśli API wymaga uwierzytelniania, to w dokumentacji oznaczamy to w poniższy sposób:
Authorization należy przekazać token dostępowy.Oznacza to, że do każdego requestu należy dołączyć header Authorization z wartością Bearer {access_token} (część {access_token} należy podmienić na rzeczywisty token uzyskany w sposób opisany poniżej).
Uzyskanie tokenu
Udostępniamy standardowy endpoint OIDC (OpenID Connect) pod adresem:
https://api.adshero.io/v1/oauth/tokenUwierzytelnianie odbywa się za pomocą “password grant”.
W celu uzyskania username oraz password (i zarazem dostępu do API) prosimy o kontakt z nami.
API nie akceptuje danych uwierzytelniających zwykłych użytkowników panelu.
Przykładowy request:
POST https://api.adshero.io/v1/oauth/token HTTP/2
Content-Type: application/x-www-form-urlencoded
grant_type = password &
client_id = public-api &
username = username &
password = passwordParametry username i password nie są wypełnione.
curl --location --request POST 'https://api.adshero.io/v1/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=public-api' \
--data-urlencode 'username={username}' \
--data-urlencode 'password={password}'Parametry username i password nie są wypełnione.
W odpowiedzi zwracany jest JSON postaci:
HTTP/2 200 OK
Content-Type: application/json
{
"access_token": "string",
"expires_in": "int",
"refresh_expires_in": "int",
"refresh_token": "string",
"token_type": "string",
"not-before-policy": "int",
"session_state": "string",
"scope": "string"
}Pole access_token należy przekazywać jako nagłówek Authorization:
Authorization: Bearer {access_token}Natomiast expires_in mówi, po ilu sekundach token przestanie być ważny (akceptowany przez API).
Po upływie tego czasu należy pobrać nowy token.