# Messaging Gateways
###### tags: `ready`
## SMS
SMS gönderim ve izleme servis kümesidir.
### Post : /message-gateway/out/sms/send
SMS gönderimi için kullanılan servistir.
#### Request Body
```json
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"number": "5302896073",
"message": "hesaptan paraciklar cikti bilader",
"type": "private-info",
"sim-change-check-days": 7
}
```
**type** alanı *enumaration* olup içeriğin tipini tanımlar.
- Eğer içerik bir pazarlama kampanyası ise **campaign** seçilir. Örneğik kredi kampanyası, kişiye özel kredi limit bilgisi, özel dönem kampanya mailleri gibi. Bu tip mail gönderiminde iletişim izni kontrolü sağlanır.
- Eğer içerik kişiye özel bir bilgilendirme ise **private-info** seçilir. Örneğin ektreler, hesap kesim bilgisi, fatura ödeme bilgisi gibi içerikler bu sınıfta değerlendirilebilir.
- Eğer içerik genel bir bilgilendirme ise **public-info** seçilir. Örneğin şube açılışı, banka iletişim bilgisi değişimi gibi içerikler bu sınıfta değerlendirilebilir.
- Eğer içerik yasal bir bilgilendirme ise **legal** seçilir. Örneğin BDDK bilgilendirmeleri, vergi değişim bildirimi gibi içerikler bu sınıfta değerlendirilebilir.
- Eğer içerik güvenlik doğrulaması ise **OTP** seçilir. Örneğin internet bankacılığı girişi bu sınıfta değerlendirilebilir.
**sim-change-check-days** Sim kartin operator değişikliği veya kayıp/çalıntı gibi sebeblerle kontrol edilmesini gereken gün sayısını belirler.
Gün sayısından daha kısa sürede değişiklik varsa ve bir müşteri tarafından durum doğrulanmamışsa gönderim yapılmaz.
#### Responses
>200 Kayıt başarı ile alındı ve hemen gönderime geçildi.
>202 Kayıt başarı ile alındı ve gönderime için kuyruğa atıldı.
>452-498 Hata kodları
### Get : /message-gateway/out/sms/log/{id}
Gönderilen sms kaydının durumunun sorgulandığı servistir
:::info
Her bir iz kaydı oluştuğunda **Message Center** tarafından sağlanan servis ile durum güncellemeleri paylaşılacak.
:::
#### Responses
>200 İz kayıtlarına başarı ile erişildi.
```json
{
"status": "queue | in-progress | completed-with-success |completed-with-failure",
"actions": [
{
"time-stamp": "2020-04-28T07:29:03+00:00",
"status": "in-progress",
"descriptrion": "SMS Turkcell OTP kanalından gönderildi."
},
{
"time-stamp": "2020-04-28T07:30:00+00:00",
"status": "in-progress",
"descriptrion": "3 güm önce SIM kart değişikliği tespit edildi."
},
{
"time-stamp": "2020-04-28T07:32:00+00:00",
"status": "completed-with-failure",
"descriptrion": "Mesaj gönderimi iptal edildi."
}
]
}
```
>452-498 Hata kodları
### Get : /message-gateway/out/sms/history/{number}/{page-index}/{page-size}
Belirli bir numaraya gönderilen sms kayıtlarını listeler
:::warning
History servisi müşteriye giden içeriği dönmez. İçerik kontorulu ve takibi **Message Center** üzerinden yapılır. Bu servis doğrulama servisi Message center tarafından müşteri bazlı sorgulama yapıldığında çapraz kontroller için çağrılır.
:::
#### Responses
>200 Gönderilere başarı ile erişildi.
```json
{
"has-more" : true,
[
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"status": "in-progress",
"created-at": "2020-04-28T07:29:03+00:00"
},
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"status": "in-progress",
"created-at": "2020-04-28T07:29:03+00:00"
}
]
}
```
>204 Numaraya bir gönderi bulunamadı.
>452-498 Hata kodları
### Post : /message-gateway/out/sms/sim-change-validation
Sim kart değişikliği durumunda doğrulama için kullanılır.
:::danger
Sim kart değişikliği ile ilgili süreç bu servis kümesinin sorumluluk alanına girmemektedir. Bu servisi çağıran sitemin uygun şekilde doğrulama yaptığından emin olunmalıdır.
:::
#### Request Body
```json
{
"number": "5302896073",
"date": "2020-04-28",
"validation-data": {
"user":"ebt\ukaratas",
"system":"backoffice"
}
}
```
**date** müşteri ile iletişim kurularak sim card değişikliğinin yapıldığı günü belirler.
**validation-data** serbest json formatıdır. Raporlama amaçlı olarak veritabanına serialize edilir.
#### Responses
>200 Kayıt başarı ile alındı.
>452-498 Hata kodları
## E-Mail
E-posta gönderim ve izleme servis kümesidir.
### Post : /message-gateway/out/email/send
E-posta gönderimi için kullanılan servistir.
:::info
Gönderimler spam yönetimi amacıyla belli *domain*ler için yavaşlatılabilir. Bu konunun sorumlusu e-mail gatewaydir.
:::
#### Request Body
```json
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"to": "ukaratas@rocketmail.com",
"cc": "ukaratas@burgan.com.tr, ukaratas@hotrmail.com",
"bcc": "bireyselizleme@burgan.com.tr",
"subject": "BurganBank - Paraciklar",
"body": "<b>hesaptan</b> paraciklar cikti bilader",
"type": "private-info",
"attachments": [
{
"name": "list.pdf",
"type": "PDF",
"render-id": "8058310a-3eef-46d7-97cf-c2065d4d6e9b"
},
{
"file-name": "gdpr.html",
"type": "Plain",
"render-id": "9058310a-3eef-46d7-97cf-c2065d4d6e9b"
}
]
}
```
**attachments** alanı e-postanın eklerini tanımlar. E-posta gönderimi yapılacağı zaman **Templating Engine** üzerinden sorgulanarak çekilir ve gönderilecek e-postaya ek olarak eklenir.
:::info
Eklerin *stream* olarak servise gönderilmesinden gerek connection süresini uzatması, gerek network trafiğiniarttırması sebebiyle bilinçli olarak kaçınılmaktadır.
:::
#### Responses
>200 Kayıt başarı ile alındı ve hemen gönderime geçildi.
>452-498 Hata kodları
### Get : /message-gateway/out/email/log/{id}
Gönderilen e-posta kaydının durumunun sorgulandığı servistir
:::info
Her bir iz kaydı oluştuğunda **Message Center** tarafından sağlanan servis ile durum güncellemeleri paylaşılacak.
:::
#### Responses
>200 İz kayıtlarına başarı ile erişildi.
```json
{
"status": "queue | in-progress | completed-with-success |completed-with-failure",
"actions": [
{
"time-stamp": "2020-04-28T07:29:03+00:00",
"status": "in-progress",
"descriptrion": "E-posta Buregan SMTP kanalından gönderildi."
},
{
"time-stamp": "2020-04-28T07:32:00+00:00",
"status": "completed-with-failure",
"descriptrion": "E-posta adresi dolu, mail kabul edilmedi."
}
]
}
```
>452-498 Hata kodları
### Get : /mesage-gateway/out/email/history/{email}/{page-index}/{page-size}
Belirli bir e-posta adresine gönderilen (to, cc veya bcc) e-posta kayıtlarını listeler
:::warning
History servisi müşteriye giden içeriği dönmez. İçerik kontrolu ve takibi **Message Center** üzerinden yapılır. Bu servis doğrulama servisi Message center tarafından müşteri bazlı sorgulama yapıldığında çapraz kontroller için çağrılır.
:::
#### Responses
>200 Gönderilere başarı ile erişildi.
```json
[
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"status": "in-progress",
"created-at": "2020-04-28T07:29:03+00:00"
},
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"status": "in-progress",
"created-at": "2020-04-28T07:29:03+00:00"
}
]
```
>204 e-posta adresine bir gönderi bulunamadı.
>452-498 Hata kodları
## Mobile Push Notification
Mobil uygulamaya mesaj gönderim ve izleme servis kümesidir.
### Post : /message-gateway/out/mobile-push/send
Mobil uygulamaya mesaj gönderimi için kullanılan servistir.
:::info
Gönderimler spam yönetimi amacıyla için yavaşlatılabilir. Bu konunun sorumlusu gatewaydir.
:::
#### Request Body
```json
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"application": "burgan-mobile-banking-retail",
"device-reference": "bbed16c5-85ab-40e9-96e6-d9a5b1058e5e",
"title": "BurganBank - Paraciklar",
"sub-title": "Hesaptan Para Cikisi",
"body": "<b>hesaptan</b> paraciklar cikti bilader",
"type": "private-info",
"actions": [
{
"command": "display-statement",
"title": "Dekont Goster",
"icon": "ic_statement",
"parameter": "1787612"
},
{
"command": "ignore",
"title": "Tamam",
"icon": "ic_close"
}
]
}
```
**application** kullanılara banka tarafından kurulan uygulamanın adıdır. Kullanıcı cihazında birden fazla uygulamamız olabileceğinden uygulama seçimi mesaj için zorunlu tutulmulştur.
**device-reference** müşterinin eşleştirilmiş cihazının referans numarasısıdır. gönderim eşleştirilmiş cihazlar üzerinden yönetilir.
#### Responses
>200 Kayıt başarı ile alındı ve hemen gönderime geçildi.
>452-498 Hata kodları
### Get : /message-gateway/out/mobile-push/log/{id}
Gönderilen mesajların kaydının durumunun sorgulandığı servistir
:::info
Her bir iz kaydı oluştuğunda **Message Center** tarafından sağlanan servis ile durum güncellemeleri paylaşılacak.
:::
#### Responses
>200 İz kayıtlarına başarı ile erişildi.
```json
{
"status": "queue | in-progress | completed-with-success |completed-with-failure",
"actions": [
{
"time-stamp": "2020-04-28T07:29:03+00:00",
"status": "in-progress",
"descriptrion": "Push mesajı başarı ile iletildi."
},
{
"time-stamp": "2020-04-28T07:32:00+00:00",
"status": "completed-with-success",
"descriptrion": "'Dekont Goster' komutu ile tammalandı."
}
]
}
```
>452-498 Hata kodları
### Get : /mesage-gateway/out/mobile-push/history/{device-reference}/{page-index}/{page-size}
Belirli bir cihaza gönderilen mesaj kayıtlarını listeler
:::warning
History servisi müşteriye giden içeriği dönmez. İçerik kontrolu ve takibi **Message Center** üzerinden yapılır. Bu servis doğrulama servisi Message center tarafından müşteri bazlı sorgulama yapıldığında çapraz kontroller için çağrılır.
:::
#### Responses
>200 Gönderilere başarı ile erişildi.
```json
[
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"status": "in-progress",
"created-at": "2020-04-28T07:29:03+00:00"
},
{
"id": "b15e6285-04ea-413e-8afc-7d7613e043bb",
"status": "in-progress",
"created-at": "2020-04-28T07:29:03+00:00"
}
]
```
>204 Cihaza bir gönderi kaydı bulunamadı.
>452-498 Hata kodları
### Get : /mesage-gateway/out/mobile-push/application
Kayıtlı uygulama listesini döner
#### Responses
>200 Gönderilere başarı ile erişildi.
```json
[
{
"name": "burgan-mobile-banking-retail",
"description": "Bireysel Interent Bankaciligi",
"created-at": "2020-04-28T07:29:03+00:00"
},
{
"name": "burgan-mobile-banking-corporate",
"description": "Kurumsal Internet Bankaciligi",
}
]
```
>452-498 Hata kodları
### Get : /mesage-gateway/out/mobile-push/users/{citizenship-number}
Kullanıcının kayıtlı cihaz ve uygulama listesini döner.
#### Responses
>200 Cihaz kayıtlarına başarı ile erişildi.
```json
[
{
"device-reference": "44305085-6479-424c-b00d-4e6e6f6427f5",
"device-info":"Samsung Note 9 - Android 10"
"applications": [
"burgan-mobile-banking-retail",
"burgan-mobile-banking-kurumsal"
]
}
]
```
>452-498 Hata kodları