API v2

Başlangıç

Bu dökümantasyon Efecell API'lerinin nasıl kullanılacağı ve sisteminize hızlı ve kolay bir şekilde nasıl entegre edebileceğinize ilişkin talimatları içermektedir. Efecell API'leri REST standartlarına dayanmaktadır.

Dökümasyonda bulunan birçok programlama dilindeki örnek kodlar ile hızlı bir entegrasyon sağlayabilirsiniz.

Örnek istekler, cevaplar ve birçok programlama dilindeki örnek kodlar bu tarafta yer almaktadır.

Yetkilendirme

API'lerin yetkilendirmesi API Key'leri ile yapılmaktadır. Sahip olduğunuz API Key'ini HTTP isteğinin Header kısmında "Authorization: Key API_KEY" formatında göndermeniz gerekmektedir.
API Key'inizi Ayarlar > API Key sayfasında bulabilirsiniz.

GET /v2/* HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

Bakiye Sorgulama

[GET/POST] http://api.efecell.com.tr/v2/get/balance

Cevap

balance:
integer Kullanıcıya ait kredi miktarı.
GET /v2/get/balance HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

Cevap:
----------------------------------------------
{
    "status": {
        "code": 200,
        "successful": true
    },
    "response": {
        "balance": 100
    }
}
Hazırlanıyor..

Başlıkları Sorgulama

[GET/POST] http://api.efecell.com.tr/v2/get/originators

Cevap

originators:
string array Kullanıcının kullanabileceği başlıkların listesi.
GET /v2/get/originators HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

Cevap:
----------------------------------------------
{
    "status": {
        "code": 200,
        "successful": true
    },
    "response": {
        "originators": [
            "EFECEL",
            "EFECELL"
        ]
    }
}
Hazırlanıyor..

Başlıkları Sorgulama

[GET/POST] http://api.efecell.com.tr/v2/get/originators/detailed

Cevap

originators:
array
name:
string Başlık
status:
string Başlık Durumu

0: Onay Bekliyor
1: Onaylı
2: Pasif
GET /v2/get/originators/detailed HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

Cevap:
----------------------------------------------
{
  "status": {
    "code": 200,
    "successful": true
  },
  "response": {
    "originators": [
      {
        "name": "EFECEL",
        "status": 1
      },
      {
        "name": "EFECELL",
        "status": 1
      },
      {
        "name": "EFECELCOM",
        "status": 2
      },
      {
        "name": "EFECELLCOM",
        "status": 0
      }
    ]
  }
}
Hazırlanıyor..

SMS Gönderimi

[POST] http://api.efecell.com.tr/v2/sms/basic

Bir veya birden fazla numaraya SMS gönderimi yapmak için kullanılır.

İstek

originator:
string Mesajın gönderileceği başlık.
message:
string Mesaj metni.
to:
string array Mesajın gönderileceği numaralar.
(opsiyonel) encoding:
string ( default / utf-8 / turkish / auto | default: default) Gönderilen mesajın dil seçimi.
default karakter setinde 1 kısa mesaj 160 karakter olabilir. Eğer uzun mesaj gönderilecek ise her parça 153 karakter olacak şekilde gönderim yapılır. Maksimum 612 karakter (4 x 153) uzunluğunda mesaj gönderilebilir.
utf-8 karakter setinde 1 kısa mesaj 70 karakter olabilir. Eğer uzun mesaj gönderilecek ise her parça 67 karakter olacak şekilde gönderim yapılır. Maksimum 268 karakter (4 x 67) uzunluğunda mesaj gönderilebilir.
tr karakter setinde karakter sınırı default ile aynıdır fakat Türkçe karakterler ve ^ { } \ [ ] ~ | € karakterlerinin her biri 2 karakter olarak sayılır.
İpucu: Otomatik (auto) seçiminde mesajın karakter kodlamasına göre otomatik karakter seti seçimi yapılır.

Cevap

message:
array Gönderilen mesajın detayları.
POST /v2/sms/basic HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

{
  "originator":"EFECELL",
  "message":"Test SMS.",
  "to":["535535XX01","535535XX02"],
  "encoding":"auto"
}

Cevap:
----------------------------------------------
{
  "status":{
    "code":200,
    "successful":true
  },
  "response":{
    "message":{
      "id":13544,
      "originator":"EFECELL",
      "message":"Test SMS.",
      "count":2,
      "price":1,
      "total_price":2
    }
  }
}
Hazırlanıyor..

Çoklu SMS Gönderimi

[POST] http://api.efecell.com.tr/v2/sms/multi

Birden fazla numaraya, farklı farklı mesajlarla SMS gönderimi yapmak için kullanılır.

İstek

originator:
string Mesajın gönderileceği başlık.
messages:
array
message:
string Mesaj metni.
to:
string Mesajın gönderileceği numara.
(opsiyonel) encoding:
string ( default / utf-8 / turkish / auto | default: default) Gönderilen mesajın dil seçimi.
default karakter setinde 1 kısa mesaj 160 karakter olabilir. Eğer uzun mesaj gönderilecek ise her parça 153 karakter olacak şekilde gönderim yapılır. Maksimum 612 karakter (4 x 153) uzunluğunda mesaj gönderilebilir.
utf-8 karakter setinde 1 kısa mesaj 70 karakter olabilir. Eğer uzun mesaj gönderilecek ise her parça 67 karakter olacak şekilde gönderim yapılır. Maksimum 268 karakter (4 x 67) uzunluğunda mesaj gönderilebilir.
tr karakter setinde karakter sınırı default ile aynıdır fakat Türkçe karakterler ve ^ { } \ [ ] ~ | € karakterlerinin her biri 2 karakter olarak sayılır.
İpucu: Otomatik (auto) seçiminde mesajın karakter kodlamasına göre otomatik karakter seti seçimi yapılır.

Cevap

message:
array Gönderilen mesajın detayları.
POST /v2/sms/multi HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

{
  "originator":"EFECELL",
  "messages": [
    {
      "to": "535535XX01",
      "message": "Test SMS 1."
    },
    {
      "to": "535535XX02",
      "message": "Test SMS 2."
    }
  ],
  "encoding":"auto"
}

Cevap:
----------------------------------------------
{
  "status":{
    "code":200,
    "successful":true
  },
  "response":{
    "message":{
      "id":13544,
      "originator":"EFECELL",
      "count":2,
      "total_price":2
    }
  }
}
Hazırlanıyor..

Raporlama

[GET/POST] http://api.efecell.com.tr/v2/get/report

Gönderilmiş SMS'in raporunu almak için kullanılır.

İstek

id:
integer Rapor alınacak mesajın id'si.

Cevap

message:
array Mesajın detayları.
status:
codes 0: Bekliyor
1: Gönderildi
2: Gönderildi & Rapor Tamamlandı
3: Gönderildi & İadeler Yapıldı
4: İleri Tarihli
10: Onay Bekliyor
91: Gönderilemedi (Bakiye Yetersiz)
92: Gönderilemedi (Gönderimler Durdurulmuştu)
93: Gönderilemedi (Teknik Arıza)
94: Gönderim Engellendi
95: İptal Edildi
details > status:
codes 0: Bekliyor
1: İletildi
2: İletilemedi
99: Bilgi Yok
POST /v2/get/report HTTP/1.1
Host: api.efecell.com.tr
Authorization: Key vHRE9NW3pDeNX90K7Lib5Bx2JB2q8yZ9qAPneNM6i9
Content-Type: application/json
Accept: application/json

{
   "id":302
}

Cevap:
----------------------------------------------
{
	"status": {
		"code": 200,
		"successful": true
	},
	"response": {
		"message": {
			"id": 13544,
			"originator": "EFECELL",
			"message": "Test SMS.",
			"count": 302,
			"price": 302,
			"status": 3,
			"details": [
				{
					"to": "535535XX01",
					"message": "Test SMS.",
					"price": 1,
					"status": 1,
					"time": "2018-04-04 06:44:35"
				},
				{
					"to": "535535XX02",
					"message": "Test SMS.",
					"price": 1,
					"status": 1,
					"time": "2018-04-04 06:44:35"
				}
			]
		}
	}
}
Hazırlanıyor..

Durum Kodları

Olası dönebilecek hata ve başarı kodları.

Cevap

code:
integer Durum Kodu
successful:
boolean İşlemin başarılı olup olmadığı
description:
string İşlem başarısızsa hata açıklaması
200 - İşlem başarılı.
400 - İstemci hatası (Numara girilmemiş, mesaj girilmemiş, başlık geçersiz)
401 - API Key Hatalı
402 - Yetersiz kredi
403 - Yapmak istediğiniz işlem için yetkiniz yok
406 - Verilen numaraya SMS atılamıyor
407 - Hesap aktif değil
413 - Mesaj metni izin verilen boyuttan daha büyüktür (İngilizce karakterli sms için 612 karakter, Türkçe karakterli sms için 268 karakterdir.)
500 - Sunucu hatası (bu durum kodu çok nadir durumlarda karşınıza çıkar)