API wydawców inis
Dokumentacja systemu inis
Dokumentacja systemu inis
Korzystanie z API wymaga przekazywania klucza API przy każdym zapytaniu HTTP. Aby go wygenerować, wydawca z uprawnieniami administratora musi przejść do ustawień swojego konta.
W sekcji API należy wygenerować klucz API, można go w każdym momencie usunąć, bądź zmienić.
Każde zapytanie wysłane do API powinno posiadać parametr secureCode (w nagłówku lub w linku), którego wartością jest klucz API.
Lista programów w których wydawca pracuje, bądź ma możliwość dołączenia
Adres url:GET https://system.inis360.com/api-publisher/v1.0/programs?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| ids | Tablica id programów które mają zostać zwrócone | integer[] | null |
| phrase | Filtr nazwy programu | string | null |
| models | Tablica nazw modeli, pozwala na otrzymanie programów, których kanały display lub mailing posiadają przynajmniej jeden z wskazanych. Dozwolone modele: cpm, cpc, cpuc, cps, cpl, cpo, cpa, suc | string[] | null |
| displayState | Filtr stanu kanału display w programie, pozwala na ograniczenie listy programów, do tych, których kanał display posiada określony status. Dozwolone statusy: planned, active, suspended, archived | string | null |
| mailingState | Filtr stanu kanału mailing w programie, pozwala na ograniczenie listy programów, do tych, których kanał mailing posiada określony status. Dozwolone statusy: planned, active, suspended, archived | string | null |
| publisherChannelState |
Filtr stanu wydawcy w kanałach programu, pozwala na ograniczenie listy
programów, do tych w których
wydawca w kanale display lub mailing posiada określony status. Dozwolone
statusy: available - programy do których wydawca nie dołączył, awaiting - programy do których wydawca dołączył i oczekuje na akceptację, active - programy do których wydawca dołączył i jest zaakceptowany suspended - programy do których wydawca dołączył i jest w nich wstrzymany |
string | null |
| limit | Maksymalna liczba zwróconych programów | integer | 10 |
| offset | Liczba określająca przesunięcie listy programów o podaną wartość | integer | 0 |
Przykładowa odpowiedź:
[
{
"id": 4,
"name": "Test A",
"settlementInfo": "Miesięcznie, każdego 20-tego",
"advertiserWebsiteUrl": "https://example.com",
"externalPartnerName": null,
"forbiddenActions": false,
"forbiddenActionsDescription": null,
"specialOffer": false,
"specialOfferDescription": null,
"categories": [
{
"children": null,
"name": "Telekomunikacja",
"parent": null
},
],
"description": "Program description",
"display": {
"programModels": [
{
"active": true,
"description": "Cost per unique click",
"limit": null,
"model": "cpuc",
"name": null,
"rate": 1.2
}
],
"publisherState": "active",
"publishersEndDate": "2021-02-28",
"startDate": "2021-02-25",
"state": "active",
},
"mailing": {
"programModels": [
{
"active": true,
"description": "Cost per lead",
"limit": null,
"model": "cpl",
"name": "newsletter",
"rate": 10.0
}
],
"publisherState": null,
"publishersEndDate": null,
"startDate": "2021-02-25",
"state": "active",
}
},
]
Opis odpowiedzi:
| Nazwa | Opis | Typ | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | id programu | integer | ||||||||||||||||||
| name | Nazwa programu | string | ||||||||||||||||||
| settlementInfo | Informacje na temat terminu rozliczeń | string | ||||||||||||||||||
| advertiserWebsiteUrl | Adres url witryny reklamodawcy | string | ||||||||||||||||||
| externalPartnerName | Nazwa zewnętrznego partnera, jeżeli program korzysta z innego trackingu, niż InisTrack | string|null | ||||||||||||||||||
| forbiddenActions | Flaga oznaczająca obowiązywanie listy niedozwolonych akcji | boolean | ||||||||||||||||||
| forbiddenActionsDescription | Opis niedozwolonych akcji | string|null | ||||||||||||||||||
| specialOffer | Flaga oznaczająca obowiązywanie oferty specjalnej dla wydawców | boolean | ||||||||||||||||||
| specialOfferDescription | Opis oferty specjalnej | string | ||||||||||||||||||
| display |
Szczegóły dotyczące kanału display programu
|
object | ||||||||||||||||||
| mailing |
Szczegóły dotyczące kanału mailing programu
|
object |
$ch = curl_init();
// Get programs with publisher active in display or mailing
$url = "https://system.inis360.com/api-publisher/v1.0/programs?secureCode={SECURE_CODE}&publisherChannelState=active";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$programs = json_decode(curl_exec($ch), true);
// save programs in your db
curl_close($ch);
Lista kategorii dostępnych w systemie
Adres url:GET https://system.inis360.com/api-publisher/v1.0/categories?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| parentId | Identyfikator rodzica | integer | null |
| depth | Poziom zagłębienia | integer | null |
Przykładowa odpowiedź:
[
{
"id": 345,
"name": "Sizwybet",
"nameEnglish": null,
"slug": "KG1",
"lft": 1,
"lvl": 0,
"rgt": 2,
"children": []
},
{
"id": 346,
"name": "Apjikzzy",
"nameEnglish": "Dsdasxda",
"slug": "KG2",
"lft": 3,
"lvl": 0,
"rgt": 14,
"children": [
{
"id": 347,
"name": "Inonmydk",
"nameEnglish": null,
"slug": "KG3",
"lft": 4,
"lvl": 1,
"rgt": 5,
"children": []
}
]
}
]
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| id | Id kategorii | integer |
| name | Nazwa kategorii po polsku | string |
| nameEnglish | Nazwa kategorii po angielsku | string |
| slug | Slug kategorii | string |
| lft | Lewy węzeł drzewa | integer |
| lvl | Poziom zagłębienia | integer |
| rgt | Prawy węzeł drzewa | integer |
| children | Dzieci kategorii, które również mogą mieć kolejne zagnieżdżenia, struktura dziecka jest identyczna jak rodzica | object[] |
$ch = curl_init();
// Get categories
$url = "https://system.inis360.com/api-publisher/v1.0/categories?secureCode={SECURE_CODE}&publisherChannelState=active";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$programs = json_decode(curl_exec($ch), true);
// save categories in your db
curl_close($ch);
Raport akcji pozwala na pobranie listy akcji, wygenerowanych przez wydawcę
Adres url:GET https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/actions?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu, którego akcje chcemy pobrać | integer |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| from | Timestamp od którego mają zostać zwrócone akcje | integer | null |
| to | Timestamp do którego mają zostać zwrócone akcje | integer | null |
| count | Liczba akcji zwróconych na stronę | integer | 50 |
| page | Strona paginacji | integer | 1 |
Przykładowa odpowiedź:
{
"actions": [
{
"id":"DFdraa5yqymk6c2IsocUo6wGOZwpPN6E",
"guid": "5fcdf35fc2c7f328f665a982",
"ip":"172.22.0.1",
"bannerName": "Test banner",
"lineName": "Test banner line",
"subId1": "example subId1",
"subId2": "example subId2",
"subId3": "example subId3",
"subId4": "example subId4",
"subId5": "example subId5",
"source": "example source",
"rate":77.6661,
"referrer": "https://inis.pl",
"remoteHost": "static-172.22.0.1.ip.pl",
"status":0,
"statusChangeTime":0,
"time":1605795983.447658,
"type":1,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0",
"model":"cpc",
"modelName":null,
"profit":77.67
},
{
"id": "DFdraa5yqymk6c2IsocUo6wGOZwpPN6E",
"guid": "5fcdf35fc2c7f328f665a982",
"ip": "172.22.0.1",
"bannerName": "Test banner",
"lineName": "Test banner line",
"subId1": "example subId1",
"subId2": "example subId2",
"subId3": "example subId3",
"subId4": "example subId4",
"subId5": "example subId5",
"source": "example source",
"rate": 5,
"referrer": "https://inis.pl",
"remoteHost": "static-172.22.0.1.ip.pl",
"status": 0,
"statusChangeTime": 0,
"time": 1605795983.447658,
"type": 3,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0",
"model": "cpl",
"modelName": "newsletter",
"profit": 5,
"actionValue": 100
}
],
"nextPageUrl": "https://system.inis360.com/api-publisher/v1.0/programs/3/actions?secureCode=asd&page=2&count=1"
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| id | id akcji | string |
| guid | Globalnie unikalne ID akcji | string |
| type | Typ akcji (1 - klik, 2 - u. kik, 3 - konwersja/sprzedaż) | integer |
| rate | Stawka (dla modelu CPS wartość tego pola oznacza procent wartości akcji) | float |
| profit | Wartość zysku z akcji | float |
| model | Model rozliczeniowy (np. cpc, cps, cpl) | string |
| modelName | Dodatkowa nazwa do modelu (np. dla modelu cpl, pole modelName będzie wynosić rejestracja) | string|null |
| lineName | Nazwa linni banerów | string |
| bannerName | Nazwa banera | string |
| subId1 | Opcjonalny parametr subId1. | string |
| subId2 | Opcjonalny parametr subId2. | string |
| subId3 | Opcjonalny parametr subId3. | string |
| subId4 | Opcjonalny parametr subId4. | string |
| subId5 | Opcjonalny parametr subId5. | string |
| source | Opcjonalny parametr source. | string |
| ip | ip użytkownika | string |
| referrer | Referrer użytkownika | string|null |
| remoteHost | Remote host użytkownika | string |
| status | Status akcji (0 - oczekujący, 1 - zaakceptowany, 2 - odrzucony) | integer |
| statusChangeTime | Ostatnia zmiana statusu | integer|null |
| time | Czas wygenerowania akcji (microtimestamp) | float |
| userAgent | User agent użytkownika | string|null |
| nextPageUrl | Adress URL który należy wywołać, aby otrzymać następną stronę akcji. Jeżeli jest równy null - oznacza to że obecna strona jest ostatnią. | string|null |
| actionValue | Wartość akcji Uwaga! To pole jest zwracane tylko dla konwersji | float |
| productIds | Identyfikatory produktów oddzielone przecinkami (tylko dla modelu CPS) | string |
| productQuantities | Ilości produktów oddzielone przecinkami (tylko dla modelu CPS) | string |
| productValues | Wartości produktów oddzielone przecinkami (tylko dla modelu CPS) | string |
| categoryIds | Identyfikatory kategorii oddzielone przecinkami (tylko dla modelu CPS) | string |
$ch = curl_init();
// Get actions from 01-12-2019 00:00:00 to 31-12-2019 23:59:59
$url = "https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/actions?secureCode={SECURE_CODE}&from=1575158400&to=1577836799";
while ($url !== null) {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
$url = $response['nextPageUrl'];
$actions = $response['actions'];
// Save actions in your db
}
curl_close($ch);
Raport akcji wszystkich programów pozwala na pobranie listy akcji, wygenerowanych przez wydawcę
Adres url:GET https://system.inis360.com/api-publisher/v1.0/actions?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| programId | Id programu, którego akcje chcemy pobrać | integer | null |
| from | Timestamp od którego mają zostać zwrócone akcje | integer | null |
| to | Timestamp do którego mają zostać zwrócone akcje | integer | null |
| count | Liczba akcji zwróconych na stronę | integer | 50 |
| page | Strona paginacji | integer | 1 |
Przykładowa odpowiedź:
{
"actions": [
{
"id":"DFdraa5yqymk6c2IsocUo6wGOZwpPN6E",
"guid": "5fcdf35fc2c7f328f665a982",
"ip":"172.22.0.1",
"bannerName": "Test banner",
"lineName": "Test banner line",
"subId1": "example subId1",
"subId2": "example subId2",
"subId3": "example subId3",
"subId4": "example subId4",
"subId5": "example subId5",
"source": "example source",
"rate":77.6661,
"referrer": "https://inis.pl",
"remoteHost": "static-172.22.0.1.ip.pl",
"status":0,
"statusChangeTime":0,
"time":1605795983.447658,
"type":1,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0",
"model":"cpc",
"modelName":null,
"profit":77.67
},
{
"id": "DFdraa5yqymk6c2IsocUo6wGOZwpPN6E",
"guid": "5fcdf35fc2c7f328f665a982",
"ip": "172.22.0.1",
"bannerName": "Test banner",
"lineName": "Test banner line",
"subId1": "example subId1",
"subId2": "example subId2",
"subId3": "example subId3",
"subId4": "example subId4",
"subId5": "example subId5",
"source": "example source",
"rate": 5,
"referrer": "https://inis.pl",
"remoteHost": "static-172.22.0.1.ip.pl",
"status": 0,
"statusChangeTime": 0,
"time": 1605795983.447658,
"type": 3,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0",
"model": "cpl",
"modelName": "newsletter",
"profit": 5,
"actionValue": 100
}
],
"nextPageUrl": "https://system.inis360.com/api-publisher/v1.0/programs/3/actions?secureCode=asd&page=2&count=1"
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| id | id akcji | string |
| guid | Globalnie unikalne ID akcji | string |
| type | Typ akcji (1 - klik, 2 - u. kik, 3 - konwersja/sprzedaż) | integer |
| rate | Stawka (dla modelu CPS wartość tego pola oznacza procent wartości akcji) | float |
| profit | Wartość zysku z akcji | float |
| model | Model rozliczeniowy (np. cpc, cps, cpl) | string |
| modelName | Dodatkowa nazwa do modelu (np. dla modelu cpl, pole modelName będzie wynosić rejestracja) | string|null |
| lineName | Nazwa linni banerów | string |
| bannerName | Nazwa banera | string |
| subId1 | Opcjonalny parametr subId1. | string |
| subId2 | Opcjonalny parametr subId2. | string |
| subId3 | Opcjonalny parametr subId3. | string |
| subId4 | Opcjonalny parametr subId4. | string |
| subId5 | Opcjonalny parametr subId5. | string |
| source | Opcjonalny parametr source. | string |
| ip | ip użytkownika | string |
| referrer | Referrer użytkownika | string|null |
| remoteHost | Remote host użytkownika | string |
| status | Status akcji (0 - oczekujący, 1 - zaakceptowany, 2 - odrzucony) | integer |
| statusChangeTime | Ostatnia zmiana statusu | integer|null |
| time | Czas wygenerowania akcji (microtimestamp) | float |
| userAgent | User agent użytkownika | string|null |
| nextPageUrl | Adress URL który należy wywołać, aby otrzymać następną stronę akcji. Jeżeli jest równy null - oznacza to że obecna strona jest ostatnią. | string|null |
| actionValue | Wartość akcji Uwaga! To pole jest zwracane tylko dla konwersji | float |
| productIds | Identyfikatory produktów oddzielone przecinkami (tylko dla modelu CPS) | string |
| productQuantities | Ilości produktów oddzielone przecinkami (tylko dla modelu CPS) | string |
| productValues | Wartości produktów oddzielone przecinkami (tylko dla modelu CPS) | string |
| categoryIds | Identyfikatory kategorii oddzielone przecinkami (tylko dla modelu CPS) | string |
$ch = curl_init();
// Get actions from 01-12-2019 00:00:00 to 31-12-2019 23:59:59
$url = "https://system.inis360.com/api-publisher/v1.0/actions?secureCode={SECURE_CODE}&from=1575158400&to=1577836799";
while ($url !== null) {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
$url = $response['nextPageUrl'];
$actions = $response['actions'];
// Save actions in your db
}
curl_close($ch);
Lista kreacji dostępnych dla wydawcy
Adres url:GET https://system.inis360.com/api-publisher/v1.0/creations?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| name | Nazwa kreacji | string | null |
| downloaded | Flaga określająca czy zwracać banery nigdy nie pobrane | boolean | null |
Przykładowa odpowiedź:
{
[
{
"id": 1,
"creationName": "Swekegby",
"programId": 1,
"programName": "SnDyeBps",
"sender": "Obfopufc",
"subject": "Jndlyhbi",
"categories": [1,2,3],
"downloads": [
{
"optionalBannerTags": {
"subId1" => "o0gQk2FN"
"subId2" => "4yg0M7Ya"
"subId3" => "VGTpvoMb"
"subId4" => "C5bUhiWz"
"subId5" => "nPsXbuWr"
"source" => "nIi3xMg9"
"deepLink" => "http://www.Ribsfegoclotuk.yt"
},
"downloadedAt": "2000-01-01T00:00:00+02:00",
"status": "accepted"
}
]
}
],
]
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| id | Id kreacji | string |
| creationName | Nazwa kreacji | string |
| programId | Id programu, do którego kreacja została dodana | integer |
| programName | Nazwa programu, do którego kreacja została dodana | string |
| sender | Nadawca | string |
| subject | Temat | string |
| categories | Kolekcja ID kategorii kreacji | integer[] |
| downloads | Kolekcja pobrań banera przez wydawcę. Pobranie zawiera: status, datę oraz listę parametrów opcjonalnych pobrania | object[] |
$ch = curl_init();
// Get active creations list for publisher
$url = "https://system.inis360.com/api-publisher/v1.0/creations?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
$creations = json_decode(curl_exec($ch), true);
// Save creations in your db
curl_close($ch);
Pobieranie kreacji dostępnej dla wydawcy
Adres url:POST https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/downloads/creation?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu, w którym pobierana kreacja została dodana | integer |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Parametry POST:
| Nazwa | Opis | Typ | Default | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bannerId | Id kreacji | integer | null | ||||||||||||||||||||||||||||
| optionalBannerTags |
Opcjonalne tagi pobrania kreacji:
|
boolean | null |
Plik w formacie ZIP zawierający kreację z okodowanymi linkami.
Schemat nazwy pliku:
INIS_M_[nazwaKreacji]_[nazwaWydawcy]([idWydawcy])_[nazwaProgramu]([idProgramu]).zip
Odpowiedź w postaci binarnej.
$ch = curl_init();
// Download creation for publisher
$programId = 1;
$bannerId = 1;
$downloadCreationData = [
'bannerId' => $bannerId,
'optionalBannerTags' => [
'subId1' => null,
'subId2' => null,
'subId3' => null,
'subId4' => null,
'subId5' => null,
'source' => null
]
];
$url = "https://system.inis360.com/api-publisher/v1.0/programs/$programId/downloads/creation?secureCode={SECURE_CODE}";
$creationZipPath = 'INIS_M_Kreacja_Wydawca(1)_Program(1).zip';
$filePointer = fopen($file, 'w');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($downloadCreationData));
curl_setopt($ch, CURLOPT_FILE, $filePointer);
curl_exec($ch);
curl_close($ch);
Lista promocji i kodów rabatowych dostępnych dla wydawcy
Adres url:GET https://system.inis360.com/api-publisher/v1.0/promotions?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| types | Typy banera. Dostępne typy: promotion, coupon | string[] | null |
| programsIds | Tablica id programów, dla których mają zostać zwrócone promocje | integer[] | null |
| includedCategories | Tablica id kategorii, dla których mają zostać zwrócone promocje | integer[] | null |
| excludedCategories | Tablica id kategorii, dla których promocje mają nie zostać zwrócone | integer[] | null |
| validFrom | Początek zakresu czasu (format Y-m-d), w którym promocja była aktywna | string | null |
| validTo | Koniec zakresu czasu (format Y-m-d), w którym promocja była aktywna | string | null |
Przykładowa odpowiedź:
{
"promotions": [
{
"id": 61087,
"name": "0OgXab1Q",
"active": true,
"lines": [
{
"id": 55053,
"name": "Abducegi",
"active": true,
"banners": {
"simple": [
{
"id": 70165,
"active": true,
"downloads": [],
"size": {
"width": 277,
"height": 610
},
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"promotion": true,
"slogan": "Discount on everything",
"requirements": "Requirements description",
"discount": "50",
"instruction": "Instruction",
"categories": [1, 2, 3],
"programId": 150,
"programName": "dJAF3m7o",
"logo": "/upload/images.jpg",
"file": "/upload/programs/logos/Logo6540cc61eeb6c.jpg"
}
}
]
}
}
]
}
],
"coupons": [
{
"id": 1,
"slogan": "Discount on everything",
"requirements": "Requirements description",
"instruction": "Instruction",
"programId": 100,
"programName": "Tsxsaxd"
"discount": "50",
"code": "abcdef",
"validFrom": "2023-08-30",
"validTo": "2023-09-03",
"categories": [1, 2, 3],
"logo": "/img/logo.png"
}
]
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| promotions | Kolekcja grup bannerów promocyjnych, które podzielone są wewnątrz na linie, w których znajdują się banery i szczegółowe ich dane | object[] |
| coupons | Kolekcja kodów rabatowych, zawierająca szczegółowe dane: id kodu rabatowego, hasło promocji, warunki do spełnienia, id programu kodu rabatowego, nazwy programu, wartość rabatu, kod rabatu, ważność od oraz do, kolekcja ID kategorii kodu rabatowego oraz link do loga programu (host: https://system.inis360.com) | object[] |
$ch = curl_init();
// Get active promotions and coupons list for publisher
$url = "https://system.inis360.com/api-publisher/v1.0/promotions?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
$creations = json_decode(curl_exec($ch), true);
// Save promotions and coupons in your db
curl_close($ch);
Pobieranie kodu rabatowego dostępnego dla wydawcy
Adres url:POST https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/downloads/coupons?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu, w którym pobierany kod rabatowy została dodany | integer |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Parametry POST:
| Nazwa | Opis | Typ | Default | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bannerId | Id kodu rabatowego | integer | brak (Wymagane) | ||||||||||||||||||||||||||||
| optionalBannerTags |
Opcjonalne tagi pobrania zasobu:
|
boolean | null |
Przykładowa odpowiedź:
{
"banners": [
{
"bannerId": 12208,
"bannerType": "coupon",
"link": "https:\/\/system.inis360.com\/d\/inckis.php?inisTrack=d25t-3aU-2tV-&zoneid=2712&source=test+source&deeplink=https%3A%2F%2Fwww.inis.pl&subId1=Test+SubId+1&subId2=Test+SubId+2&subId3=Test+SubId+3&subId4=Test+SubId+4&subId5=Test+SubId+5&OXLCA=1&ht=1",
"code": "COUPON CODE",
"slogan": "9EkwXDad",
"validFrom": "2022-11-27",
"validTo": "2023-12-19",
"requirements": "qKQ7fnvV",
"discount": "50",
"instruction": "instruction"
}
]
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| bannerId | Id kodu rabatowego | integer |
| bannerType | Typ banera | string |
| link | Link kodu rabatowego | string |
| code | Kod rabatowy | string |
| slogan | Hasło promocji | string |
| validFrom | Ważność od | string |
| validTo | Ważność do | string |
| requirements | Warunki do spełnienia | string |
| discount | Wartość zniżki | string |
| instruction | Instrukcja | string |
$ch = curl_init();
// Download coupon for publisher
$programId = 1;
$bannerId = 1;
$downloadBannerData = [
'bannerId' => $bannerId,
'optionalBannerTags' => [
'subId1' => null,
'subId2' => null,
'subId3' => null,
'subId4' => null,
'subId5' => null,
'deepLink' => null
]
];
$url = "https://system.inis360.com/api-publisher/v1.0/programs/$programId/downloads/coupons?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($downloadBannerData));
$feed = json_decode(curl_exec($ch), true);
// Save coupon in your db
curl_close($ch);
Lista bannerów dostępnych dla wydawcy
Adres url:GET https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/banners?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu, którego banery chcemy pobrać | integer |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Opcjonalne parametry GET:
| Nazwa | Opis | Typ | Default |
|---|---|---|---|
| name | Nazwa banera, dla banerów typu text, feed i creation. | string | null |
| lineId | Identyfikator linii | integer | null |
| groupId | Identyfikator grupy | integer | null |
| groupActive | Flaga określająca czy zwracać banery dla grupy aktywnej | boolean | null |
| lineActive | Flaga określająca czy zwracać banery dla linii aktywnej | boolean | null |
| active | Flaga określająca czy zwracać banery aktywne | boolean | null |
| width | Szerokość banera, dla banerów typu simple i dynamic | integer | null |
| height | Wysokość banera, dla banerów typu simple i dynamic | integer | null |
| types | Typy banera. Dostępne typy: simple, dynamic, text, affiliate, creation, promotion oraz coupon | string[] | null |
| extension | Rozszerzenie, dla typu banera dynamic | string | null |
| downloaded | Flaga określająca czy zwrócić bannery, które zostały pobrane przez wydawcę (wartość true) lub które nie zostały nigdy pobrane (wartość false) | boolean | null |
| getDownloads | Flaga określająca czy zwracać szczegóły pobrań banerów | boolean | null |
Przykładowa odpowiedź:
{
"banners": [
{
"id": 61087,
"name": "0OgXab1Q",
"active": true,
"lines": [
{
"id": 55053,
"name": "Abducegi",
"active": true,
"banners": {
"simple": [
{
"id": 70165,
"active": true,
"downloads": [],
"size": {
"width": 277,
"height": 610
},
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"promotion": false,
"categories": [1, 2, 3],
"programId": 150,
"programName": "Axascfd",
"logo": "/upload/images.jpg",
"file": "/upload/programs/logos/Logo6540cc61eeb6c.jpg"
}
},
{
"id": 70165,
"active": true,
"downloads": [],
"size": {
"width": 277,
"height": 610
},
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"promotion": true,
"slogan": "Discount on everything",
"requirements": "Requirements description",
"discount": "50",
"instruction": "Instruction",
"categories": [1, 2, 3],
"programId": 150,
"programName": "Axascfd",
"logo": "/upload/images.jpg",
"file": "/upload/programs/logos/Logo6540cc61eeb6c.jpg"
}
}
],
"dynamic": [
{
"id": 70172,
"active": true,
"downloads": [],
"extension": "jpg",
"size": {
"width": 449,
"height": 176
},
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"categories": [1, 2, 3],
"programId": 150,
"logo": "/upload/images.jpg"
}
}
],
"text": [
{
"id": 70173,
"name": "Hybjyzkz",
"active": true,
"downloads": [],
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"categories": [1, 2, 3],
"programId": 150,
"logo": "/upload/images.jpg"
}
}
]
}
}
]
}
],
"feeds": [
{
"id": 70185,
"name": "Ehihulzm",
"active": true,
"downloads": [],
"productsCount": 685,
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,,
"categories": [1, 2, 3],
"programId": 150,
"logo": "/upload/images.jpg"
}
}
],
"links": [
{
"id": 70191,
"name": "Affiliate Link",
"active": true,
"downloads": [],
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"categories": [1, 2, 3],
"programId": 150,
"logo": "/upload/images.jpg"
}
}
],
"creations": [
{
"id": 70199,
"name": "Ahecmsed",
"active": true,
"downloads": [],
"activeVersion": {
"validFrom": "2023-08-10",
"validTo": null,
"categories": [1, 2, 3],
"programId": 150,
"logo": "/upload/images.jpg"
}
}
],
"coupons": [
{
"id": 75443,
"code": "Ahecmsed",
"active": true,
"downloads": [],
"activeVersion": {
"validFrom": "2023-10-10",
"validTo": null,
"categories": [1, 2, 3],
"programId": 150,
"logo": "/upload/images.jpg"
}
}
]
}
Opis odpowiedzi*:
| Nazwa | Opis | Typ |
|---|---|---|
| banners | Kolekcja grup bannerów i promocji, które podzielone są wewnątrz na linie, w których znajdują się banery i szczegółowe ich dane. | object[] |
| feeds | Kolekcja feedów zawierająca szczegółowe dane dla dostępnych feedów. | object[] |
| links | Kolekcja linków affiliacyjnych zawierająca szczegółowe dane dla dostępnych linków affiliacyjnych. | object[] |
| creations | Kolekcja kreacji zawierająca szczegółowe dane dla dostępnych kreacji. | object[] |
| coupons | Kolekcja kodów rabatowych zawierająca szczegółowe dane dla dostępnych kodów rabatowych. | object[] |
$ch = curl_init();
// Get active banners list for publisher
$url = "https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/banners?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
$creations = json_decode(curl_exec($ch), true);
// Save banners in your db
curl_close($ch);
Pobieranie banera lub promocji dostępnych dla wydawcy
Adres url:POST https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/downloads/{TYPE}?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu danego banera | integer |
| TYPE | Typ danych w jakim chcemy pobrać banner, dostępne: iframe, js, html. | string |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Parametry POST:
| Nazwa | Opis | Typ | Default | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| groupId | Identyfikator grupy | integer | brak (Wymagane) | ||||||||||||||||||||||||||||
| bannerId | Identyfikator banera | integer | null | ||||||||||||||||||||||||||||
| optionalBannerTags |
Opcjonalne tagi pobrania zasobu:
|
boolean | null |
Przykładowa odpowiedź (dla typu innego niż html):
{
"banners": [
{
"name": "372x503",
"bannerId": 12192,
"bannerType": "simple",
"content": "< iframe id='a7e7d009' name='a7e7d009' src='https:\/\/system.inis360.com\/d\/inafris.php?inisTrack=d25m-3aN-2tM-&zoneid=2709&source=test+source&subId1=Test+SubId+1&subId2=Test+SubId+2&subId3=Test+SubId+3&subId4=Test+SubId+4&subId5=Test+SubId+5&ht=1&adf=eyJzdm4xIjo5MDU4LCJzdjEiOiJCMkMifQ==&cb=INSERT_RANDOM_NUMBER_HERE&redirect=%%c1;cpdir=' frameborder='0' scrolling='no' width='372' height='503'><\/iframe>"
},
{
"name": "100x694",
"bannerId": 12193,
"bannerType": "dynamic",
"content": "< iframe id='a7e7d0039' name='a7e7d009' src='https:\/\/system.inis360.com\/d\/inafris.php?inisTrack=d25m-3aJ-2tM-&zoneid=2705&source=test+source&subId1=Test+SubId+1&subId2=Test+SubId+2&subId3=Test+SubId+3&subId4=Test+SubId+4&subId5=Test+SubId+5&ht=1&adf=eyJzdm4xIjo5MDU4LCJzdjEiOiJCMkMifQ==&cb=INSERT_RANDOM_NUMBER_HERE&redirect=%%c1;cpdir=' frameborder='0' scrolling='no' width='100' height='694'><\/iframe>"
}
]
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| name | Nazwa banera | string |
| bannerId | Id banera | integer |
| bannerType | Typ banera | string |
| content | Kontent banera dla wybranego typu | string |
Dla typu html otrzymamy plik w formacie ZIP zawierający pliki html dla bannerów.
Schemat nazwy pliku:
INIS_M_[nazwaBanera]_[nazwaWydawcy]([idWydawcy])_[nazwaProgramu]([idProgramu]).zip
Odpowiedź w postaci binarnej.
$ch = curl_init();
// Download html zip for publisher
$programId = 1;
$groupId = 1;
$bannerId = 1;
$downloadBannerData = [
'groupId' => $groupId,
'bannerId' => $bannerId,
'optionalBannerTags' => [
'subId1' => null,
'subId2' => null,
'subId3' => null,
'subId4' => null,
'subId5' => null,
'deepLink' => null
]
];
$url = "https://system.inis360.com/api-publisher/v1.0/programs/$programId/downloads/html?secureCode={SECURE_CODE}";
$bannerZipPath = 'INIS_M_Banner_Wydawca(1)_Program(1).zip';
$filePointer = fopen($file, 'w');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($downloadBannerData));
curl_setopt($ch, CURLOPT_FILE, $filePointer);
curl_exec($ch);
curl_close($ch);
Pobieranie feed'a dostępnego dla wydawcy
Adres url:POST https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/downloads/feed?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu danego feed'a | integer |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Parametry POST:
| Nazwa | Opis | Typ | Default | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bannerId | Identyfikator banera | integer | null | ||||||||||||||||||||||||||||
| optionalBannerTags |
Opcjonalne tagi pobrania zasobu:
|
boolean | null |
Przykładowa odpowiedź:
{
"banners": [
{
"name": "Gfuwogko",
"bannerId": 12205,
"bannerType": "feed",
"url": "https:\/\/system.inis360.com\/api\/v1\/feeds\/feed\/22d81ee8b944f6f8e3dc1a021cc7556a7f9494ec51b68f99e4ff8f9e7c72e1a1\/file",
"formats": [
"inis",
"rss2"
]
}
]
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| name | Nazwa | string |
| bannerId | Id banera | integer |
| bannerType | Typ banera | string |
| url | Adres url feeda | string |
| formats | Kolekcja formatów | string[] |
$ch = curl_init();
// Download feed for publisher
$programId = 1;
$bannerId = 1;
$downloadBannerData = [
'bannerId' => $bannerId,
'optionalBannerTags' => [
'subId1' => null,
'subId2' => null,
'subId3' => null,
'subId4' => null,
'subId5' => null,
'deepLink' => null
]
];
$url = "https://system.inis360.com/api-publisher/v1.0/programs/$programId/downloads/feed?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($downloadBannerData));
$feed = json_decode(curl_exec($ch), true);
// Save feed in your db
curl_close($ch);
Pobieranie linka affiliacyjnego dostępnego dla wydawcy
Adres url:POST https://system.inis360.com/api-publisher/v1.0/programs/{PROGRAM_ID}/downloads/affiliate-links?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| PROGRAM_ID | Id programu linka afiliacyjnego | integer |
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Parametry POST:
| Nazwa | Opis | Typ | Default | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bannerId | Identyfikator banera | integer | brak (Wymagane) | ||||||||||||||||||||||||||||
| optionalBannerTags |
Opcjonalne tagi pobrania zasobu:
|
boolean | null |
Przykładowa odpowiedź:
{
"banners": [
{
"name": "Affiliate Link",
"bannerId": 12208,
"bannerType": "affiliate",
"link": "https:\/\/system.inis360.com\/d\/inckis.php?inisTrack=d25t-3aU-2tV-&zoneid=2712&source=test+source&deeplink=https%3A%2F%2Fwww.inis.pl&subId1=Test+SubId+1&subId2=Test+SubId+2&subId3=Test+SubId+3&subId4=Test+SubId+4&subId5=Test+SubId+5&OXLCA=1&ht=1"
}
]
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| name | Nazwa | string |
| bannerId | Id banera | integer |
| bannerType | Typ banera | string |
| link | Adres linku affiliacyjnego | string |
$ch = curl_init();
// Download affiliate link for publisher
$programId = 1;
$bannerId = 1;
$downloadBannerData = [
'bannerId' => $bannerId,
'optionalBannerTags' => [
'subId1' => null,
'subId2' => null,
'subId3' => null,
'subId4' => null,
'subId5' => null,
'deepLink' => null
]
];
$url = "https://system.inis360.com/api-publisher/v1.0/programs/$programId/downloads/affiliate-links?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($downloadBannerData));
$feed = json_decode(curl_exec($ch), true);
// Save affiliate link in your db
curl_close($ch);
+
Lista widgetów kodów rabatowych i promocji Wydawcy wraz z ich ustawieniami oraz statystykami. Wydawca może posiadać wiele nazwanych widgetów, dlatego odpowiedź zawsze jest kolekcją.
Zapytania do endpointów widgetów są ograniczone do 1000 na godzinę dla jednego klucza API. Po przekroczeniu limitu API odpowiada kodem 429.
Adres url:GET https://system.inis360.com/api-publisher/v1.0/widgets?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
Przykładowa odpowiedź:
{
"widgets": [
{
"id": 2,
"name": "Promocje - artykuł",
"createdAt": "2026-08-20 13:42:48",
"settings": {
"displayMode": "placement",
"contentFilter": "promotions",
"elementsCount": 5,
"categoriesFilterMode": "hide",
"categories": [],
"color": "#ffffff",
"refreshMode": "none",
"refreshIntervalSeconds": null,
"columnsCount": null,
"rowsCount": null,
"scroll": null,
"lineBreak": null,
"widgetSize": "300x600",
"scrollTimeout": 15
},
"statistics": {
"impressions": {"today": 0, "yesterday": 0, "last7days": 0, "last30days": 0},
"clicks": {"today": 0, "yesterday": 0, "last7days": 0, "last30days": 0},
"ctr": {"today": 0, "yesterday": 0, "last7days": 0, "last30days": 0}
}
},
{
"id": 1,
"name": "Kody rabatowe - sidebar",
"createdAt": "2026-08-19 09:15:02",
"settings": {
"displayMode": "grid",
"contentFilter": "coupons",
"elementsCount": 8,
"categoriesFilterMode": "show",
"categories": [12, 34],
"color": "#0f62fe",
"refreshMode": "interval",
"refreshIntervalSeconds": 30,
"columnsCount": 4,
"rowsCount": 2,
"scroll": true,
"lineBreak": false,
"widgetSize": null,
"scrollTimeout": null
},
"statistics": {
"impressions": {"today": 1840, "yesterday": 2310, "last7days": 8230, "last30days": 31450},
"clicks": {"today": 46, "yesterday": 57, "last7days": 204, "last30days": 781},
"ctr": {"today": 2.5, "yesterday": 2.47, "last7days": 2.48, "last30days": 2.48}
}
}
]
}
Opis odpowiedzi:
| Nazwa | Opis | Typ |
|---|---|---|
| widgets | Kolekcja widgetów Wydawcy, posortowana od najnowszego | object[] |
| widgets[].id | Identyfikator widgetu, używany w pozostałych zapytaniach | integer |
| widgets[].name | Nazwa widgetu nadana przez Wydawcę | string |
| widgets[].createdAt | Data utworzenia widgetu (format Y-m-d H:i:s) | string |
| widgets[].settings | Ustawienia widgetu. Wartość null, gdy widget nie ma jeszcze wygenerowanej konfiguracji | object|null |
| widgets[].statistics | Statystyki widgetu: impresje, kliknięcia i CTR w gotowych okresach | object |
Opis obiektu settings:
| Nazwa | Opis | Typ |
|---|---|---|
| displayMode | Tryb wyświetlania widgetu. Dostępne wartości: placement, grid | string |
| contentFilter | Rodzaj prezentowanych elementów. Dostępne wartości: all, coupons, promotions | string |
| elementsCount | Liczba elementów prezentowanych przez widget | integer |
| categoriesFilterMode | Sposób użycia listy kategorii. Dostępne wartości: show (tylko wskazane kategorie), hide (wszystkie poza wskazanymi) | string |
| categories | Kolekcja ID kategorii, do której odnosi się categoriesFilterMode. Identyfikatory zgodne z odpowiedzią endpointu listy kategorii | integer[] |
| color | Kolor przewodni widgetu w formacie #RRGGBB | string |
| refreshMode | Sposób odświeżania elementów. Dostępne wartości: none, bottom, topRight, interval | string |
| refreshIntervalSeconds | Odstęp odświeżania w sekundach. Wypełnione wyłącznie dla refreshMode = interval | integer|null |
| columnsCount | Liczba kolumn siatki. Wypełnione wyłącznie dla displayMode = grid | integer|null |
| rowsCount | Liczba wierszy siatki. Wypełnione wyłącznie dla displayMode = grid | integer|null |
| scroll | Przewijanie siatki. Wypełnione wyłącznie dla displayMode = grid | boolean|null |
| lineBreak | Łamanie linii w siatce. Wypełnione wyłącznie dla displayMode = grid | boolean|null |
| widgetSize | Rozmiar widgetu. Wypełnione wyłącznie dla displayMode = placement | string|null |
| scrollTimeout | Opóźnienie pokazania widgetu po przewinięciu strony, w sekundach. Wypełnione wyłącznie dla displayMode = placement | integer|null |
Opis obiektu statistics:
| Nazwa | Opis | Typ |
|---|---|---|
| impressions | Liczba wyświetleń widgetu w danym okresie | object |
| clicks | Liczba kliknięć w elementy widgetu w danym okresie. Kliknięcia są odfiltrowane: jedno kliknięcie z danego adresu IP w danym widgecie liczone jest raz na minutę | object |
| ctr | Stosunek kliknięć do wyświetleń w danym okresie, w procentach, zaokrąglony do dwóch miejsc po przecinku | number |
| today / yesterday / last7days / last30days | Okresy dostępne w każdej z powyższych sekcji: dzisiaj, wczoraj, ostatnie 7 dni i ostatnie 30 dni (włącznie z dniem dzisiejszym) | integer |
$ch = curl_init();
// Get all coupons and promotions widgets of the publisher
$url = "https://system.inis360.com/api-publisher/v1.0/widgets?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$widgets = json_decode(curl_exec($ch), true)["widgets"];
foreach ($widgets as $widget) {
// Save widget settings and statistics in your db
echo $widget["id"] . " " . $widget["name"] . " " . $widget["statistics"]["impressions"]["last30days"] . PHP_EOL;
}
curl_close($ch);
Ustawienia oraz statystyki pojedynczego widgetu kodów rabatowych i promocji.
Zapytania do endpointów widgetów są ograniczone do 1000 na godzinę dla jednego klucza API. Po przekroczeniu limitu API odpowiada kodem 429.
Adres url:GET https://system.inis360.com/api-publisher/v1.0/widgets/{WIDGET_ID}?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
| WIDGET_ID | Identyfikator widgetu, pobrany z listy widgetów. Widget spoza konta Wydawcy zwraca odpowiedź 404 | integer |
Przykładowa odpowiedź:
{
"id": 1,
"name": "Kody rabatowe - sidebar",
"createdAt": "2026-08-19 09:15:02",
"settings": {
"displayMode": "grid",
"contentFilter": "coupons",
"elementsCount": 8,
"categoriesFilterMode": "show",
"categories": [12, 34],
"color": "#0f62fe",
"refreshMode": "interval",
"refreshIntervalSeconds": 30,
"columnsCount": 4,
"rowsCount": 2,
"scroll": true,
"lineBreak": false,
"widgetSize": null,
"scrollTimeout": null
},
"statistics": {
"impressions": {"today": 1840, "yesterday": 2310, "last7days": 8230, "last30days": 31450},
"clicks": {"today": 46, "yesterday": 57, "last7days": 204, "last30days": 781},
"ctr": {"today": 2.5, "yesterday": 2.47, "last7days": 2.48, "last30days": 2.48}
}
}
Pola odpowiedzi są takie same jak pojedynczy element kolekcji widgets w sekcji "Lista widgetów kodów i promocji".
Przykładowa implementacja w języku PHP:$ch = curl_init();
// Get a single widget with its settings and statistics
$url = "https://system.inis360.com/api-publisher/v1.0/widgets/{WIDGET_ID}?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$widget = json_decode(curl_exec($ch), true);
// Save widget settings in your db
curl_close($ch);
Same statystyki pojedynczego widgetu, bez jego ustawień. Przydatne przy cyklicznym pobieraniu wyników.
Zapytania do endpointów widgetów są ograniczone do 1000 na godzinę dla jednego klucza API. Po przekroczeniu limitu API odpowiada kodem 429.
Adres url:GET https://system.inis360.com/api-publisher/v1.0/widgets/{WIDGET_ID}/statistics?secureCode={SECURE_CODE}
Wymagane parametry:
| Nazwa | Opis | Typ |
|---|---|---|
| SECURE_CODE | Kod bezpieczeństwa, wygenerowany w panelu. Można przekazać w linku lub w nagłówku "secureCode: {SECURE_CODE}". | string |
| WIDGET_ID | Identyfikator widgetu, pobrany z listy widgetów. Widget spoza konta Wydawcy zwraca odpowiedź 404 | integer |
Przykładowa odpowiedź:
{
"id": 1,
"name": "Kody rabatowe - sidebar",
"statistics": {
"impressions": {"today": 1840, "yesterday": 2310, "last7days": 8230, "last30days": 31450},
"clicks": {"today": 46, "yesterday": 57, "last7days": 204, "last30days": 781},
"ctr": {"today": 2.5, "yesterday": 2.47, "last7days": 2.48, "last30days": 2.48}
}
}
Struktura obiektu statistics jest identyczna jak w sekcji "Lista widgetów kodów i promocji".
Przykładowa implementacja w języku PHP:$ch = curl_init();
// Get statistics of a single widget
$url = "https://system.inis360.com/api-publisher/v1.0/widgets/{WIDGET_ID}/statistics?secureCode={SECURE_CODE}";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$statistics = json_decode(curl_exec($ch), true)["statistics"];
// Save impressions, clicks and CTR in your db
curl_close($ch);