Ana içeriğe geç

Rehbere SMS gönderme

POST 

/directory/send

İstek: POST https://ext-api.netgsm.com.tr/sms/v3/directory/send
Canlı ortam: https://ext-api.netgsm.com.tr/sms/v3

Rehberdeki kişi gruplarına, istekte verilen kişilere ya da her ikisine tek bir metinle gönderimi kuyruğa alır. Gruplar ve kişiselleştirme, yanıt döndükten sonra işlenir.

  • En az bir grup (groupIds) ya da kişi (contacts) belirtmelisiniz. Yalnızca numaralara göndermek için POST /send'i kullanın.
  • UNICODE kodlaması bu uç noktada desteklenmez.
  • Onay için bekletilen bir görev de 202 alır; neyin beklettiğini review söyler.

İstek sınırı. Hesap başına dakikada 60 istek, /send sınırından ayrı. Süre penceresi ilk istekle başlar ve sabittir. Aşıldığında 429 Retry-After başlığıyla döner.

Yeniden deneme. Aynı istek iki kez gönderilirse iki görev oluşur ve gruplara iki kez mesaj gider. 503 ya da 504 aldıysanız yeniden göndermeden önce GET /report ile kontrol etmelisiniz.

Request​

Bodyrequired

    senderstringrequired

    Gönderici başlığı, POST /send'deki gibi: hesaba kayıtlı bir başlıkla yazıldığı gibi birebir eşleşmelidir, büyük/küçük harf dahil. Eşleşmezse istek 422 REJECTED_HEADER ile reddedilir.

    Possible values: non-empty and <= 35 characters

    Example: NETGSM
    textstringrequired

    Mesaj metni; tüm alıcılara aynı metin gider, addressType ile kişiselleştirilebilir. En fazla uzunluk DEFAULT için 917, TURKISH için 888 karakterdir (çğışĞİŞ iki karakter sayılır); alfanümerik bir gönderici başlığında her sınır 5 karakter azdır. Sınırı aşan metin 400 ile reddedilir.

    Possible values: non-empty and <= 917 characters

    encodingstring

    Metnin karakter kodlaması, POST /send'deki gibi. Büyük/küçük harfe duyarlıdır. UNICODE bu uç noktada 400 ile reddedilir.

    Possible values: [DEFAULT, TURKISH]

    Default value: DEFAULT
    iysFilterstring

    İYS filtresi; değerler POST /send'deki gibidir ve büyük/küçük harf fark etmez. Listede olmayan bir değer NONE sayılır. Filtreyi platform uygular; bu başlık ya da hesap için uygulanamıyorsa istek 422 REJECTED_IYS ile reddedilir.

    Possible values: [NONE, BRAND, RETAILER, BRAND_AND_RETAILER]

    Default value: NONE
    groupIdsint64[]

    Hesabın rehberindeki kişi grupları.

    contacts object[]
  • Array [
  • numberstringrequired

    Alıcının numarası. Biçimini platform denetler.

    Possible values: non-empty and <= 20 characters

    namestring

    Alıcının adı. İsteğe bağlı.

    Possible values: <= 100 characters

    surnamestring

    Alıcının soyadı. İsteğe bağlı.

    Possible values: <= 100 characters

    addressstring

    Kişiye özel hitap, örneğin "Sayın". Kullanılıp kullanılmayacağını addressType belirler. İsteğe bağlı.

    Possible values: <= 500 characters

  • ]
  • recipientsstring[]

    Kişiselleştirme uygulanmayan düz numaralar. Yalnızca groupIds ya da contacts ile birlikte kullanılabilir. Numaranın biçimini platform denetler.

    address1string

    Tüm alıcılar için aynı olan ön hitap, örneğin "Sayın". Kullanılıp kullanılmayacağını addressType belirler.

    Possible values: <= 500 characters

    address2string

    Tüm alıcılar için aynı olan son hitap, örneğin "Bey/Hanım,". Kullanılıp kullanılmayacağını addressType belirler.

    Possible values: <= 500 characters

    addressTypeinteger

    Mesaj metninin başına hangi kişisel bilgilerin ekleneceğini belirler. Seçilen parçalar aşağıdaki sırayla ve aralarında birer boşlukla metnin başına eklenir; alıcıda boş olan parça atlanır. 0 ile 17 dışındaki bir değer INVALID_REQUEST ile reddedilir.

    • Ad ve soyad, rehberdeki kişi kaydından ya da contacts içindeki name ve surname alanlarından gelir.
    • Kişi hitabı, rehberdeki kişinin hitap bilgisi ya da contacts içindeki address alanıdır; her alıcı için ayrıdır.
    • recipients içinde düz numara olarak verilen alıcılara kişiselleştirme uygulanmaz.
    DeğerMetnin başına eklenen
    0Hiçbir şey; metin olduğu gibi gönderilir (varsayılan)
    1address1 + ad
    2address1 + ad + soyad
    3address1 + soyad
    4address1 + ad + address2
    5address1 + ad + soyad + address2
    6address1 + soyad + address2
    7ad
    8soyad
    9ad + soyad
    10kişi hitabı
    11kişi hitabı + ad
    12kişi hitabı + ad + soyad
    13kişi hitabı + soyad
    14kişi hitabı + address2
    15kişi hitabı + ad + address2
    16kişi hitabı + ad + soyad + address2
    17kişi hitabı + soyad + address2

    Örnek: addressType 5, address1 "Sayın", address2 "Bey," ve metin "siparişiniz kargoya verildi." ise Ahmet Yılmaz'a giden mesaj "Sayın Ahmet Yılmaz Bey, siparişiniz kargoya verildi." olur.

    Possible values: >= 0 and <= 17

    Default value: 0
    startAtdate-time

    En erken gönderim zamanı, saat dilimi farkıyla. Europe/Istanbul saatine çevrilir ve dakikaya yuvarlanır; saniyeler dikkate alınmaz.

    stopAtdate-time

    En geç gönderim zamanı, saat dilimi farkıyla; startAt gibi dakikaya yuvarlanır. startAt'tan 1 ile 21 saat sonra olmalıdır. Aralığı platform denetler; kabul etmezse istek 400 INVALID_SEND_WINDOW ile reddedilir.

Responses​

Kuyruğa alındı. Gönderim, gönderim aralığı içinde yapılır.

Schema
    jobIdstringrequired

    Oluşturulan görevin numarası. Rapor ve istatistik için kullanılır; destek taleplerinde belirtmelisiniz.

    statusstringrequired

    Her zaman QUEUED; startAt ileride olsa da.

    Possible values: [QUEUED]

    reviewstringrequired

    Görevin gönderilmeden önce bekletilip bekletilmediği:

    DeğerAnlamı
    NONEBekletilmedi; gönderim aralığında gönderilir.
    ADMIN_APPROVALYönetici onayı bekliyor: hesap onay kontrolünde ya da gönderim hesabın sınırından büyük.
    FORBIDDEN_WORDMetin yasaklı bir kelime içerdiği için bekletiliyor.
    UNKNOWNGörev kuyruğa alındı ama bekletme nedeni bilinmiyor.

    Possible values: [NONE, ADMIN_APPROVAL, FORBIDDEN_WORD, UNKNOWN]

Örnek istek​

curl -X POST 'https://ext-api.netgsm.com.tr/sms/v3/directory/send' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"sender": "NETGSM",
"text": "Merhaba",
"encoding": "TURKISH",
"groupIds": [
7,
8
],
"contacts": [
{
"number": "905xxxxxxxxx",
"name": "Ali",
"surname": "Veli"
}
]
}'