Ana içeriğe geç

Popups

Popup modulu; kampanya, duyuru veya yonlendirme popup'larini cok dilli icerik, yayin penceresi ve URL/page hedefleme kurallari ile yonetmek icin kullanilir.

Base URL: /api/tenant/popups
Yetkilendirme: Bearer Token + X-Api-Key
Modul: popups

Headers:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
X-Api-Key: customer-api-key

Veri Modeli

  • code, name, status, isActive, priority
  • publishStartDate, publishEndDate
  • triggerType (OnPageLoad, Delay) ve delaySeconds
  • showOncePerSession, openInNewTab
  • translations[]: title, description, body, ctaLabel, ctaUrl, imageMediaFileId, mobileImageMediaFileId
  • rules[]: matchType (Homepage, ExactUrl, PrefixUrl, PageCode), pattern, sortOrder, isActive
bilgi

translations icinde varsayilan dil kaydi zorunludur. Ayrica en az bir rules kaydi bulunmalidir.


POST /

Yeni popup kaydi olusturur.

Request Body:

{
"code": "home-spring-campaign",
"name": "Homepage Spring Campaign",
"status": "Published",
"isActive": true,
"priority": 100,
"publishStartDate": "2026-04-01T00:00:00Z",
"publishEndDate": "2026-04-30T23:59:59Z",
"triggerType": "Delay",
"delaySeconds": 5,
"showOncePerSession": true,
"openInNewTab": false,
"translations": [
{
"languageId": "9cd14a82-1111-1111-1111-111111111111",
"title": "Ilk sipariste %20 indirim",
"description": "Nisan ayina ozel kampanya",
"body": "Kupon kodu: ILK20",
"ctaLabel": "Kampanyayi Gor",
"ctaUrl": "https://example.com/kampanya",
"imageMediaFileId": "11111111-1111-1111-1111-111111111111",
"mobileImageMediaFileId": "22222222-2222-2222-2222-222222222222"
}
],
"rules": [
{
"matchType": "Homepage",
"pattern": "/",
"sortOrder": 1,
"isActive": true
}
]
}

Response - 201 Created: data alani olusturulan popup kaydini (id, metadata, translations, rules) dondurur.


GET /

Popup kayitlarini filtreli ve sayfali listeler.

Query Parametreleri:

ParametreTipVarsayilanAciklama
pageint1Sayfa numarasi
pageSizeint10Sayfa basina kayit
statusDraft | Published | Archived-Durum filtresi
isActivebool-Aktiflik filtresi
searchstring-code, name, translation title aramasi
langstringtenant default diliListe satirinda title secilecek dil kodu

Response - 200 OK: PaginatedResult<PopupListResponse> dondurur.


GET /{id}

Tek popup kaydini id ile detayli getirir (translations ve rules dahil).


GET /by-code/{code}

Popup detayini benzersiz code alani ile getirir.


PUT /{id}

Mevcut popup kaydini gunceller.

Not: translations ve rules alanlari replace mantigi ile guncellenir; gonderilen liste kayitlari esas alinir.


DELETE /{id}

Popup kaydini soft delete ile siler.

Response - 204 No Content


Olasi Hatalar

KodDurum
400Gecersiz request veya eksik zorunlu alan
401Token eksik/gecersiz
403Tenant yetkisi veya X-Api-Key sorunu
404Popup bulunamadi
409code cakisiyor