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 |