Template'leri listeleme
GET/templates
İstek: GET https://ext-sandbox.netgsm.com.tr/sms/v3/templates
Sandbox: https://ext-sandbox.netgsm.com.tr/sms/v3
Hesabın POST /send/template ile kullanabileceği template'leri, en yenisi önce, sayfa sayfa listeler:
hesabın kendi template'leri ve herkese açık template'ler. Yalnızca hesabın kendi template'leri için
includePublic=false verilir. Boş bir sayfa da 200 döner.
Her template, gönderimde params içinde verilmesi gereken parametreleri ve her birinin kabul
ettiği değer türünü taşır.
İstek sınırı. Hesap başına dakikada 20 istek. Pencere ilk istekle başlar ve sabittir;
reddedilen istekler de sayılır. Aşıldığında 429 Retry-After başlığıyla döner.
Request
Query Parameters
false yalnızca hesabın kendi template'lerini listeler; herkese açık template'ler dahil edilmez.
truePossible values: <= 100 characters
Template tipi, birebir eşleşir.
Possible values: <= 100 characters
Açıklamada geçen metin; büyük/küçük harf fark etmez.
Possible values: <= 100 characters
Template metninde geçen metin; büyük/küçük harf fark etmez.
Possible values: >= 0
Sıfırdan başlayan sayfa numarası.
0Possible values: >= 1 and <= 100
Sayfa başına template.
20Responses
- 200
- 400
- 401
- 429
- 500
- 503
Bir sayfa template; en yenisi önce. Boş olabilir.
- application/json
- Schema
- Example (auto)
- Example
Schema
- Array [
- Array [
- ]
- ]
Bu sayfadaki template sayısı.
İstenen sayfa.
Filtreye uyan template'lerin tüm sayfalardaki toplamı.
Bu size ile toplam sayfa sayısı.
templates object[]required
Template'in kimliği; POST /send/template kayıtlarındaki templateId.
3Template metni. Yer tutucular ${ad} biçimindedir ve gönderimde params ile doldurulur.
Dogrulama kodunuz: ${otpCode}Template tipi, örn. AUTH_OTP, SECURITY_ALERT, SERVICE_ALERT.
Template'in açıklaması.
Herkese açık bir template'se true, hesabın kendi template'iyse false.
parameters object[]required
Template'in yer tutucuları; gönderimde her birini params içinde vermelisiniz.
Yer tutucunun adı; params anahtarı.
otpCodeKabul edilen değer türü; biçimleri POST /send/template params açıklamasındadır.
Possible values: [BIGINT, FLOAT, TEXT, DATE, DATETIME]
En fazla değer uzunluğu; yalnızca TEXT için dolu.
Template'in kayıt zamanı, saat dilimi farkıyla.
2026-05-18T11:25:12.502+03:00{
"count": 0,
"page": 0,
"total": 0,
"totalPages": 0,
"templates": [
{
"templateId": 3,
"content": "Dogrulama kodunuz: ${otpCode}",
"type": "string",
"description": "string",
"public": true,
"parameters": [
{
"name": "otpCode",
"type": "BIGINT",
"maxLength": 0
}
],
"createdAt": "2026-05-18T11:25:12.502+03:00"
}
]
}
{
"count": 1,
"page": 0,
"total": 1,
"totalPages": 1,
"templates": [
{
"templateId": 3,
"content": "Dogrulama kodunuz: ${otpCode}",
"type": "AUTH_OTP",
"description": "Giriş kodu",
"public": false,
"parameters": [
{
"name": "otpCode",
"type": "BIGINT",
"maxLength": null
}
],
"createdAt": "2026-05-18T11:25:12.502+03:00"
}
]
}
INVALID_REQUEST. message şunlardan biridir:
message | Anlamı |
|---|---|
page must not be negative | page negatif. |
size must be between 1 and 100 | size aralık dışında. |
type must be at most 100 characters | Bir filtre (type, search, content) 100 karakterden uzun. |
- application/json
- Schema
- Example (auto)
Schema
- Array [
- ]
- Array [
- ]
Possible values: [INVALID_REQUEST]
Okunabilir ayrıntı. UNAUTHENTICATED için no bearer token ya da invalid or expired token. REJECTED_HEADER için ret adıdır; yalnızca rakamlardan oluşan bir göndericide (subscriber number headers were not offered) ekini taşıyabilir. RATE_LIMITED için sınırı belirtir; FORBIDDEN ve REJECTED_IYS için sabit bir cümledir. SERVICE_UNAVAILABLE ve INTERNAL_ERROR genel bir cümle taşır; bildirirken requestId değerini paylaşmanız gerekir.
İsteğe özgü kimlik, 32 onaltılık karakter. Bir sorun bildirirken bu değeri paylaşmanız, isteğin kayıtlarda bulunmasını sağlar.
violations object[]nullablerequired
Yalnızca gövde doğrulamasından gelen INVALID_REQUEST için dolu, aksi halde null.
rejectedItems object[]
Yalnızca NO_DELIVERABLE_MESSAGES yanıtında bulunur; diğer hatalarda alan hiç yer almaz. Reddedilen kayıtlar, index sırasıyla ilk 100 tanesi; 202 yanıtındaki rejectedItems ile aynıdır.
Possible values: <= 100
Kaydın istekteki messages dizisindeki sırası, sıfırdan başlar.
Kayıttaki alıcı. Kayıt null ise ya da alıcısı yoksa null.
| Değer | Ne zaman |
|---|---|
INVALID_RECIPIENT | Numara eksik ya da biçimi yanlış; bkz. recipient. |
INVALID_MESSAGE | Metin eksik ya da boş. |
MESSAGE_TOO_LONG | Metin, encoding ve gönderici türüne göre sınırı aşıyor; bkz. encoding. |
MALFORMED_ENTRY | Kayıt null. |
DUPLICATE_RECIPIENT | Aynı alıcı istekte daha sonra yeniden geçiyor. Yalnızca son geçen kayıt gönderilir, öncekiler bu nedenle reddedilir; son kayıt başka bir nedenle reddedilse bile. Numaralar yazıldığı gibi karşılaştırılır. Mükerrer gönderime izin verilen hesaplarda uygulanmaz. |
NO_INTERNATIONAL_PERMISSION | Numara yurt dışı (- ile başlıyor) ve hesabın yurt dışı gönderim izni yok. İzin için destek ekibiyle iletişime geçmelisiniz. Yalnızca başka bir hatası olmayan kayıtlarda bildirilir. |
Bir kayıt birden fazla nedenle hatalıysa tek neden bildirilir; öncelik: DUPLICATE_RECIPIENT,
MALFORMED_ENTRY, MESSAGE_TOO_LONG, INVALID_RECIPIENT, INVALID_MESSAGE,
NO_INTERNATIONAL_PERMISSION.
Possible values: [INVALID_RECIPIENT, INVALID_MESSAGE, MESSAGE_TOO_LONG, MALFORMED_ENTRY, DUPLICATE_RECIPIENT, NO_INTERNATIONAL_PERMISSION]
Yalnızca rejectedItems ile birlikte bulunur. 100'den fazla kayıt reddedildiğinde true.
{
"code": "INVALID_REQUEST",
"message": "string",
"requestId": "string",
"timestamp": "2024-07-29T15:51:28.071Z",
"violations": [
{
"field": "string",
"message": "string"
}
],
"rejectedItems": [
{
"index": 0,
"recipient": "string",
"reason": "INVALID_RECIPIENT"
}
],
"rejectedItemsTruncated": true
}
UNAUTHENTICATED. Bearer token yok ya da token geçersiz veya süresi dolmuş; message no bearer token ya da invalid or expired token.
- application/json
- Schema
- Example (auto)
Schema
- Array [
- ]
- Array [
- ]
Possible values: [UNAUTHENTICATED]
Okunabilir ayrıntı. UNAUTHENTICATED için no bearer token ya da invalid or expired token. REJECTED_HEADER için ret adıdır; yalnızca rakamlardan oluşan bir göndericide (subscriber number headers were not offered) ekini taşıyabilir. RATE_LIMITED için sınırı belirtir; FORBIDDEN ve REJECTED_IYS için sabit bir cümledir. SERVICE_UNAVAILABLE ve INTERNAL_ERROR genel bir cümle taşır; bildirirken requestId değerini paylaşmanız gerekir.
İsteğe özgü kimlik, 32 onaltılık karakter. Bir sorun bildirirken bu değeri paylaşmanız, isteğin kayıtlarda bulunmasını sağlar.
violations object[]nullablerequired
Yalnızca gövde doğrulamasından gelen INVALID_REQUEST için dolu, aksi halde null.
rejectedItems object[]
Yalnızca NO_DELIVERABLE_MESSAGES yanıtında bulunur; diğer hatalarda alan hiç yer almaz. Reddedilen kayıtlar, index sırasıyla ilk 100 tanesi; 202 yanıtındaki rejectedItems ile aynıdır.
Possible values: <= 100
Kaydın istekteki messages dizisindeki sırası, sıfırdan başlar.
Kayıttaki alıcı. Kayıt null ise ya da alıcısı yoksa null.
| Değer | Ne zaman |
|---|---|
INVALID_RECIPIENT | Numara eksik ya da biçimi yanlış; bkz. recipient. |
INVALID_MESSAGE | Metin eksik ya da boş. |
MESSAGE_TOO_LONG | Metin, encoding ve gönderici türüne göre sınırı aşıyor; bkz. encoding. |
MALFORMED_ENTRY | Kayıt null. |
DUPLICATE_RECIPIENT | Aynı alıcı istekte daha sonra yeniden geçiyor. Yalnızca son geçen kayıt gönderilir, öncekiler bu nedenle reddedilir; son kayıt başka bir nedenle reddedilse bile. Numaralar yazıldığı gibi karşılaştırılır. Mükerrer gönderime izin verilen hesaplarda uygulanmaz. |
NO_INTERNATIONAL_PERMISSION | Numara yurt dışı (- ile başlıyor) ve hesabın yurt dışı gönderim izni yok. İzin için destek ekibiyle iletişime geçmelisiniz. Yalnızca başka bir hatası olmayan kayıtlarda bildirilir. |
Bir kayıt birden fazla nedenle hatalıysa tek neden bildirilir; öncelik: DUPLICATE_RECIPIENT,
MALFORMED_ENTRY, MESSAGE_TOO_LONG, INVALID_RECIPIENT, INVALID_MESSAGE,
NO_INTERNATIONAL_PERMISSION.
Possible values: [INVALID_RECIPIENT, INVALID_MESSAGE, MESSAGE_TOO_LONG, MALFORMED_ENTRY, DUPLICATE_RECIPIENT, NO_INTERNATIONAL_PERMISSION]
Yalnızca rejectedItems ile birlikte bulunur. 100'den fazla kayıt reddedildiğinde true.
{
"code": "UNAUTHENTICATED",
"message": "string",
"requestId": "string",
"timestamp": "2024-07-29T15:51:28.071Z",
"violations": [
{
"field": "string",
"message": "string"
}
],
"rejectedItems": [
{
"index": 0,
"recipient": "string",
"reason": "INVALID_RECIPIENT"
}
],
"rejectedItemsTruncated": true
}
RATE_LIMITED, message template list rate limit exceeded. Hesap başına dakikada 20 istek aşıldı; Retry-After kadar bekleyip yeniden denemelisiniz.
Response Headers
Yeniden denemeden önce beklenecek saniye.
- application/json
- Schema
- Example (auto)
Schema
- Array [
- ]
- Array [
- ]
Possible values: [RATE_LIMITED]
Okunabilir ayrıntı. UNAUTHENTICATED için no bearer token ya da invalid or expired token. REJECTED_HEADER için ret adıdır; yalnızca rakamlardan oluşan bir göndericide (subscriber number headers were not offered) ekini taşıyabilir. RATE_LIMITED için sınırı belirtir; FORBIDDEN ve REJECTED_IYS için sabit bir cümledir. SERVICE_UNAVAILABLE ve INTERNAL_ERROR genel bir cümle taşır; bildirirken requestId değerini paylaşmanız gerekir.
İsteğe özgü kimlik, 32 onaltılık karakter. Bir sorun bildirirken bu değeri paylaşmanız, isteğin kayıtlarda bulunmasını sağlar.
violations object[]nullablerequired
Yalnızca gövde doğrulamasından gelen INVALID_REQUEST için dolu, aksi halde null.
rejectedItems object[]
Yalnızca NO_DELIVERABLE_MESSAGES yanıtında bulunur; diğer hatalarda alan hiç yer almaz. Reddedilen kayıtlar, index sırasıyla ilk 100 tanesi; 202 yanıtındaki rejectedItems ile aynıdır.
Possible values: <= 100
Kaydın istekteki messages dizisindeki sırası, sıfırdan başlar.
Kayıttaki alıcı. Kayıt null ise ya da alıcısı yoksa null.
| Değer | Ne zaman |
|---|---|
INVALID_RECIPIENT | Numara eksik ya da biçimi yanlış; bkz. recipient. |
INVALID_MESSAGE | Metin eksik ya da boş. |
MESSAGE_TOO_LONG | Metin, encoding ve gönderici türüne göre sınırı aşıyor; bkz. encoding. |
MALFORMED_ENTRY | Kayıt null. |
DUPLICATE_RECIPIENT | Aynı alıcı istekte daha sonra yeniden geçiyor. Yalnızca son geçen kayıt gönderilir, öncekiler bu nedenle reddedilir; son kayıt başka bir nedenle reddedilse bile. Numaralar yazıldığı gibi karşılaştırılır. Mükerrer gönderime izin verilen hesaplarda uygulanmaz. |
NO_INTERNATIONAL_PERMISSION | Numara yurt dışı (- ile başlıyor) ve hesabın yurt dışı gönderim izni yok. İzin için destek ekibiyle iletişime geçmelisiniz. Yalnızca başka bir hatası olmayan kayıtlarda bildirilir. |
Bir kayıt birden fazla nedenle hatalıysa tek neden bildirilir; öncelik: DUPLICATE_RECIPIENT,
MALFORMED_ENTRY, MESSAGE_TOO_LONG, INVALID_RECIPIENT, INVALID_MESSAGE,
NO_INTERNATIONAL_PERMISSION.
Possible values: [INVALID_RECIPIENT, INVALID_MESSAGE, MESSAGE_TOO_LONG, MALFORMED_ENTRY, DUPLICATE_RECIPIENT, NO_INTERNATIONAL_PERMISSION]
Yalnızca rejectedItems ile birlikte bulunur. 100'den fazla kayıt reddedildiğinde true.
{
"code": "RATE_LIMITED",
"message": "string",
"requestId": "string",
"timestamp": "2024-07-29T15:51:28.071Z",
"violations": [
{
"field": "string",
"message": "string"
}
],
"rejectedItems": [
{
"index": 0,
"recipient": "string",
"reason": "INVALID_RECIPIENT"
}
],
"rejectedItemsTruncated": true
}
INTERNAL_ERROR, message internal error. Beklenmeyen hata; bildirirken requestId değerini paylaşmanız gerekir.
- application/json
- Schema
- Example (auto)
Schema
- Array [
- ]
- Array [
- ]
Possible values: [INTERNAL_ERROR]
Okunabilir ayrıntı. UNAUTHENTICATED için no bearer token ya da invalid or expired token. REJECTED_HEADER için ret adıdır; yalnızca rakamlardan oluşan bir göndericide (subscriber number headers were not offered) ekini taşıyabilir. RATE_LIMITED için sınırı belirtir; FORBIDDEN ve REJECTED_IYS için sabit bir cümledir. SERVICE_UNAVAILABLE ve INTERNAL_ERROR genel bir cümle taşır; bildirirken requestId değerini paylaşmanız gerekir.
İsteğe özgü kimlik, 32 onaltılık karakter. Bir sorun bildirirken bu değeri paylaşmanız, isteğin kayıtlarda bulunmasını sağlar.
violations object[]nullablerequired
Yalnızca gövde doğrulamasından gelen INVALID_REQUEST için dolu, aksi halde null.
rejectedItems object[]
Yalnızca NO_DELIVERABLE_MESSAGES yanıtında bulunur; diğer hatalarda alan hiç yer almaz. Reddedilen kayıtlar, index sırasıyla ilk 100 tanesi; 202 yanıtındaki rejectedItems ile aynıdır.
Possible values: <= 100
Kaydın istekteki messages dizisindeki sırası, sıfırdan başlar.
Kayıttaki alıcı. Kayıt null ise ya da alıcısı yoksa null.
| Değer | Ne zaman |
|---|---|
INVALID_RECIPIENT | Numara eksik ya da biçimi yanlış; bkz. recipient. |
INVALID_MESSAGE | Metin eksik ya da boş. |
MESSAGE_TOO_LONG | Metin, encoding ve gönderici türüne göre sınırı aşıyor; bkz. encoding. |
MALFORMED_ENTRY | Kayıt null. |
DUPLICATE_RECIPIENT | Aynı alıcı istekte daha sonra yeniden geçiyor. Yalnızca son geçen kayıt gönderilir, öncekiler bu nedenle reddedilir; son kayıt başka bir nedenle reddedilse bile. Numaralar yazıldığı gibi karşılaştırılır. Mükerrer gönderime izin verilen hesaplarda uygulanmaz. |
NO_INTERNATIONAL_PERMISSION | Numara yurt dışı (- ile başlıyor) ve hesabın yurt dışı gönderim izni yok. İzin için destek ekibiyle iletişime geçmelisiniz. Yalnızca başka bir hatası olmayan kayıtlarda bildirilir. |
Bir kayıt birden fazla nedenle hatalıysa tek neden bildirilir; öncelik: DUPLICATE_RECIPIENT,
MALFORMED_ENTRY, MESSAGE_TOO_LONG, INVALID_RECIPIENT, INVALID_MESSAGE,
NO_INTERNATIONAL_PERMISSION.
Possible values: [INVALID_RECIPIENT, INVALID_MESSAGE, MESSAGE_TOO_LONG, MALFORMED_ENTRY, DUPLICATE_RECIPIENT, NO_INTERNATIONAL_PERMISSION]
Yalnızca rejectedItems ile birlikte bulunur. 100'den fazla kayıt reddedildiğinde true.
{
"code": "INTERNAL_ERROR",
"message": "string",
"requestId": "string",
"timestamp": "2024-07-29T15:51:28.071Z",
"violations": [
{
"field": "string",
"message": "string"
}
],
"rejectedItems": [
{
"index": 0,
"recipient": "string",
"reason": "INVALID_RECIPIENT"
}
],
"rejectedItemsTruncated": true
}
SERVICE_UNAVAILABLE. Hiçbir şey yapılmadı; yeniden denemek güvenlidir.
- application/json
- Schema
- Example (auto)
Schema
- Array [
- ]
- Array [
- ]
Possible values: [SERVICE_UNAVAILABLE]
Okunabilir ayrıntı. UNAUTHENTICATED için no bearer token ya da invalid or expired token. REJECTED_HEADER için ret adıdır; yalnızca rakamlardan oluşan bir göndericide (subscriber number headers were not offered) ekini taşıyabilir. RATE_LIMITED için sınırı belirtir; FORBIDDEN ve REJECTED_IYS için sabit bir cümledir. SERVICE_UNAVAILABLE ve INTERNAL_ERROR genel bir cümle taşır; bildirirken requestId değerini paylaşmanız gerekir.
İsteğe özgü kimlik, 32 onaltılık karakter. Bir sorun bildirirken bu değeri paylaşmanız, isteğin kayıtlarda bulunmasını sağlar.
violations object[]nullablerequired
Yalnızca gövde doğrulamasından gelen INVALID_REQUEST için dolu, aksi halde null.
rejectedItems object[]
Yalnızca NO_DELIVERABLE_MESSAGES yanıtında bulunur; diğer hatalarda alan hiç yer almaz. Reddedilen kayıtlar, index sırasıyla ilk 100 tanesi; 202 yanıtındaki rejectedItems ile aynıdır.
Possible values: <= 100
Kaydın istekteki messages dizisindeki sırası, sıfırdan başlar.
Kayıttaki alıcı. Kayıt null ise ya da alıcısı yoksa null.
| Değer | Ne zaman |
|---|---|
INVALID_RECIPIENT | Numara eksik ya da biçimi yanlış; bkz. recipient. |
INVALID_MESSAGE | Metin eksik ya da boş. |
MESSAGE_TOO_LONG | Metin, encoding ve gönderici türüne göre sınırı aşıyor; bkz. encoding. |
MALFORMED_ENTRY | Kayıt null. |
DUPLICATE_RECIPIENT | Aynı alıcı istekte daha sonra yeniden geçiyor. Yalnızca son geçen kayıt gönderilir, öncekiler bu nedenle reddedilir; son kayıt başka bir nedenle reddedilse bile. Numaralar yazıldığı gibi karşılaştırılır. Mükerrer gönderime izin verilen hesaplarda uygulanmaz. |
NO_INTERNATIONAL_PERMISSION | Numara yurt dışı (- ile başlıyor) ve hesabın yurt dışı gönderim izni yok. İzin için destek ekibiyle iletişime geçmelisiniz. Yalnızca başka bir hatası olmayan kayıtlarda bildirilir. |
Bir kayıt birden fazla nedenle hatalıysa tek neden bildirilir; öncelik: DUPLICATE_RECIPIENT,
MALFORMED_ENTRY, MESSAGE_TOO_LONG, INVALID_RECIPIENT, INVALID_MESSAGE,
NO_INTERNATIONAL_PERMISSION.
Possible values: [INVALID_RECIPIENT, INVALID_MESSAGE, MESSAGE_TOO_LONG, MALFORMED_ENTRY, DUPLICATE_RECIPIENT, NO_INTERNATIONAL_PERMISSION]
Yalnızca rejectedItems ile birlikte bulunur. 100'den fazla kayıt reddedildiğinde true.
{
"code": "SERVICE_UNAVAILABLE",
"message": "string",
"requestId": "string",
"timestamp": "2024-07-29T15:51:28.071Z",
"violations": [
{
"field": "string",
"message": "string"
}
],
"rejectedItems": [
{
"index": 0,
"recipient": "string",
"reason": "INVALID_RECIPIENT"
}
],
"rejectedItemsTruncated": true
}
Örnek istek
curl -X GET 'https://ext-sandbox.netgsm.com.tr/sms/v3/templates?type=AUTH_OTP' \
-H 'Authorization: Bearer <token>'