NAV
shell

Giriş

IYS Consent Lookup API dökümanına hoşgeldiniz! Bu API ile kullanıcılarınıza ait gönderim izinlerinizi tekli veya çoklu bir biçimde çok hızlı bir şekilde kontrol edebilirsiniz.

Kimlik Doğrulama

Sisteme istek yapmak için kullanacağınız Token ları , aşağıdaki kod ile alabilirsiniz:


curl --request POST \
--url "https://api.iyspanel.com/live/oauth/token" \
--data "grant_type=client_credentials" \
--data "client_id=<CLIENT_ID>" \
--data "client_secret=<CLIENT_SECRET>" \
--header "content-type:application/x-www-form-urlencoded"

<CLIENT_ID> ve <CLIENT_SECRET> değerlerini, size iletilen değerler ile değiştirmeyi unutmayın.

IYSPanel Consent Lookup Gateway, Oauth2.0 doğrulama spesifikasyonunu ve "client credentials flow" akış yapısını kullanır. Yeni bir API kullanıcısı oluşturmak için bize api-destek@hermesiletisim.net eposta adresinden ulaşabilirsiniz. Size iletilecek client ID ve client Secret verilerini yeni token alırken kullanacaksınız.

HTTP Request

POST https://api.iyspanel.com/live/oauth/token

Query Parameters

Parameter Description
client_id Client ID
client_secret Client Secret

Sisteme yapılan tüm istekler, geçerli bir access token içermelidir. Bu access token, yapılacak isteklerin Authorization header ında , aşağıdaki şekilde belirtilmelidir:

Authorization: Bearer ACCESS_TOKEN

İzin Kontrolü

Tekli İzin Kontrolü

curl -v --request GET "https://api.iyspanel.com/live/clg/ConsentLookup/{iysCode}/{brandCode}/single?recipient=<RECIPIENT>&recipientType=<RECIPIENT_TYPE>&transactionType=<TRANSACTION_TYPE>" \
     --header "Authorization: Bearer <TOKEN>"
 Mümkün olan en yüksek performans ve izin kontrolü işleminin kullanım senaryosu gereği, 
 yukarıdaki istek , geçerli bir izin bulunması durumunda HTTP200, aksi taktirde HTTP404 döner.
 Uygulama geliştirici, sadece cevabın HTTP koduna bakarak, kontrolün sonucuna varabilir. Bu sayede HTTP isteğinin gövdesinde bir data transferi yapılmaz ve HTTP isteğinin gövdesinin okunup işlenmesine gerek kalmaz.

Status Code
HTTP 200 : izin var
HTTP 401 : izin yok

Tekli İzin kontrolü

HTTP Request

GET https://api.iyspanel.com/live/clg/ConsentLookup/{iysCode}/{brandCode}/single

Parametreler

Parameter Description
iys_code Hizmet Sağlayıcı IYS kodu
brand_code Hizmet Sağlayıcı Marka kodu
RecipientType Alıcı tipi. "BIREYSEL" ya da "TACIR"
Recipient Bir eposta adresi en fazla 256 karakter uzunluğunda olmalıdır. Bir telefon numarası E164 format ([+][country code][area code][local phone number]) formatında olmalıdır
transactionType Gönderi tipi. "ARAMA" , "MESAJ" ya da "EPOSTA"

Çoklu izin kontrolü

curl -v --request GET "https://api.iyspanel.com/live/clg/ConsentLookup/{iysCode}/{brandCode}/multiple?recipientsCSV=<RECIPIENT>&recipientType=<RECIPIENT_TYPE>&transactionType=<TRANSACTION_TYPE>" \
    --header "Authorization: Bearer <TOKEN>"

Bu işlem, aşağıdaki gibi bir CSV döndürür:

## A CSV
1,0,1

Bu endpoint ile bir defada birden fazla alıcıya ait izin kontrolü çok hızlı bir şekilde yapılabilir

HTTP Request

GET https://api.iyspanel.com/live/clg/ConsentLookup/{iysCode}/{brandCode}/multiple

Parametreler

Parameter Description
iys_code Hizmet Sağlayıcı IYS kodu
brand_code Hizmet Sağlayıcı Marka kodu
recipientType Alıcı tipi. "BIREYSEL" ya da "TACIR"
recipientsCSV Virgülle ayrılmış alıcı değerleri (telefon numaraları ya da eposta adresleri): Bir telefon numarası ya da bir eposta adresi. Bir eposta adresi en fazla 256 karakter uzunluğunda olmalıdır. Bir telefon numarası E164 format ([+][country code][area code][local phone number]) formatında olmalıdır. Maksimum alıcı sayısı:100
transactionType Gönderi tipi. "ARAMA" , "MESAJ" ya da "EPOSTA"

İzinler

İzin ekleme

curl -X POST "https://api.iyspanel.com/live/rest/Iys/{iysCode}/Brands/{brandCode}/Consents/{Recipient}/{RecipientType}/{Type}" \
    --data "Status=ONAY" \
    --data "Source=HS_MOBIL" \
    --data "ConsentDate=2019-04-04" \
    --header "Authorization: Bearer <ACCESS_TOKEN>" \
    --header "content-type:application/x-www-form-urlencoded"

Aşağıdaki gibi bir JSON objesi dönülür:

{
  "sid": "MRXXXXXXXXXXXXXXXXXXXXXXXXX",
  "organization_sid": "ORXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "iys_code": "XXXXXXX",
  "brand_code": "XXXXXXXXXXX",
  "type": "EPOSTA",
  "recipient_type": "BIREYSEL",
  "recipient": "ergergerg@lll.com",
  "status": "RET",
  "source": "HS_KARAR",
  "consent_date": "2018-02-01 21:00:00",
  "api_user_sid": "XXXXXXXXXXXXX",
  "date_created": "2021-03-30 08:44:47",
  "sync_status": "awaiting_confirmation"
}

Bu endpoint, izin ekleme işlemleri için kullanılır.Başarılı bir istek sonucunda bir MetaRecord oluşur ve bu nesne daha sonra iys.org.tr üzerinde bir izine dönüşür.

HTTP Request

POST https://api.iyspanel.com/live/rest/Iys/{IysCode}/Brands/{BrandCode}/Consents/{Recipient}/{RecipientType}/{Type}

Parametreler

Parameter Description
IysCode Hizmet Sağlayıcı IYS kodu
BrandCode Hizmet Sağlayıcı Marka kodu
RecipientType Alıcı tipi. "BIREYSEL" ya da "TACIR"
Recipient Bir telefon numarası ya da bir eposta adresi. Bir eposta adresi en fazla 256 karakter uzunluğunda olmalıdır. Bir telefon numarası E164 format ([+][country code][area code][local phone number]) formatında olmalıdır.
Type Gönderi tipi. "ARAMA" , "MESAJ" ya da "EPOSTA"
Status izin status değeri."ONAY" ya da "RET"
Source izin kaynağı. RecipientType:TACIR durumunda opsiyonel. RecipientType:BIREYSEL durumunda zorunlu. Listelenen değerlerden biri olmalıdır:HS_FIZIKSEL_ORTAM,HS_ISLAK_IMZA,HS_WEB,HS_CAGRI_MERKEZI,HS_SOSYAL_MEDYA,HS_EPOSTA,HS_MESAJ,HS_MOBIL,HS_EORTAM,HS_ETKINLIK,HS_2015,HS_ATM ya da HS_KARAR
ConsentDate izin tarihi. RecipientType:TACIR durumunda opsiyonel. 2 format tan birinde olmalıdır:"yyyy-MM-dd" ya da ""yyyy-MM-dd HH:mm"
RetailerCode Opsiyonel. İznin alınmasına aracılık eden bayinin bayi kodu
RetailerAccess Opsiyonel. İzinden yararlanacak bayilerin bayi kodlarının bir listesi. CSV formatında

Tekli İzin sorgulama

curl -v --request GET "https://api.iyspanel.com/live/rest/Iys/{iysCode}/Brands/{brandCode}/Consents/{Recipient}/{RecipientType}/{Type}" \
     --header "Authorization: Bearer <ACCESS_TOKEN>" 

Aşağıdaki gibi bir JSON objesi dönülür:

{
  "sid": "IRXXXXXXXXXXXXXXXXXXXXXXXXX",
  "organization_sid": "ORXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "iys_code": "XXXXXXX",
  "brand_code": "XXXXXXXXXXX",
  "type": "EPOSTA",
  "recipient_type": "BIREYSEL",
  "recipient": "ergergerg@lll.com",
  "status": "RET",
  "source": "HS_KARAR",
  "consent_date": "2018-02-01 21:00:00",
  "api_user_sid": "XXXXXXXXXXXXX",
  "date_created": "2021-03-30 08:44:47"
}

Bu endpoint ile tekli izin sorgulama yapılır

HTTP Request

GET https://api.iyspanel.com/live/rest/Iys/{IysCode}/Brands/{BrandCode}/Consents/{Recipient}/{RecipientType}/{Type}

Parametreler

Parameter Description
IysCode Hizmet Sağlayıcı IYS kodu
BrandCode Hizmet Sağlayıcı Marka kodu
RecipientType Alıcı tipi. "BIREYSEL" ya da "TACIR"
Recipient Bir telefon numarası ya da bir eposta adresi. Bir eposta adresi en fazla 256 karakter uzunluğunda olmalıdır. Bir telefon numarası E164 format ([+][country code][area code][local phone number]) formatında olmalıdır.
Type Gönderi tipi. "ARAMA" , "MESAJ" ya da "EPOSTA"

Markalar

Marka Listeleme

curl -v --request GET "https://api.iyspanel.com/live/rest/Iys/{iysCode}/Brands" \
     --header "Authorization: Bearer <ACCESS_TOKEN>"

Aşağıdaki gibi bir JSON Array dönülür:

{{
  "brands": [
    {
      "organization_sid": "ORXXXXXXXXXXXXXXXXXXXXXXXX",
      "iys_code": "XXXXXXX",
      "name": "iysbrandselc",
      "brand_code": "XXXXXXXX",
    },
    {
      "organization_sid": "ORXXXXXXXXXXXXXXXXXXXXXXXX",
      "iys_code": "XXXXXXXXXX",
      "name": "iysbrandselcxxx",
      "brand_code": "XXXXXXXX"
    }
  ]
}

Bu endpoint bir IYS hesabına ait markaları listeler

HTTP Request

GET https://api.iyspanel.com/live/rest/Iys/{IysCode}/Brands

Parametreler

Parameter Description
IysCode Hizmet Sağlayıcı IYS kodu

Bayiler

Bayi Listeleme

curl -v --request GET "https://api.iyspanel.com/live/rest/Iys/{iysCode}/Retailers" \
     --header "Authorization: Bearer <ACCESS_TOKEN>"

Aşağıdaki gibi bir JSON Array dönülür:

{
  "retailers": [
    {
      "organization_sid": "ORXXXXXXXXXXXXXXXX",
      "iys_code": "XXXXXXXXX",
      "iys_retailer_code": "XXXXXXXXXXX",
      "name": "iysbayi1",
      "brand_code": "XXXXXXXXXX"
    },
    {
      "organization_sid": "ORXXXXXXXXXXXXXXXX",
      "iys_code": "XXXXXXXXX",
      "iys_retailer_code": "XXXXXXXXXXX",
      "name": "iysbayi2",
      "brand_code": "YYYYYYYYYY"
    }
  ]
}

Bu endpoint ile bir IYS hesabına ait Bayiler listelenir

HTTP Request

GET https://api.iyspanel.com/live/rest/Iys/{IysCode}/Retailers

Parametreler

Parameter Description
IysCode Hizmet Sağlayıcı IYS kodu

Kişiler

Kişi sorgulama

curl -v --request GET "https://api.iyspanel.com/live/rest/Iys/{iysCode}/Persons/{Recipient}" \
     --header "Authorization: Bearer <ACCESS_TOKEN>"

The above command returns a JSON Array of JSON Objects:

{
  "sid": "PEXXXXXXXXXXXXXXXXXXXX",
  "organization_sid": "ORXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "recipient": "+905556667788",
  "name": "JOHN DOE",
  "consents": []
}

IYSPanel ürünü üzerinde, her alıcı değeri bir Person nesnesi ile temsil edilir ve bu alıcıya isim ve benzeri farklı bilgi alanları eklenebilir. Alıcı değeri ile bir Person sorgulandığında , consents alanı içerisinde, o alıcıya ait tüm farklı izinler listelenebilir.

HTTP Request

GET https://api.iyspanel.com/live/rest/Iys/{IysCode}/Persons/{Recipient}

Parametreler

Parameter Description
IysCode Hizmet Sağlayıcı IYS kodu
Recipient Bir telefon ya da eposta adresi.Bir eposta adresi en fazla 256 karakter uzunluğunda olmalıdır. Bir telefon numarası E164 format ([+][country code][area code][local phone number]) formatında olmalıdır

Hata kodları

Hata Kodu Açıklama
400 Bad Request -- Geçersiz istek
401 Unauthorized -- Geçersiz access token. Kimlik Doğrulama başarısız
404 Not Found -- Kaynak bulunamadı
405 Method Not Allowed -- İstek yapılan HTTP methodu geçersiz
406 Not Acceptable -- İstenen dönüş formatı geçersiz
429 Too Many Requests -- Rate limit aşıldı. Bekleyip tekrar istek yapılabılır
500 Internal Server Error -- beklenmeyen bir hata oluştu