Skip to content

Mesajlar API ​

Mesajlari programatik olarak yonetin ve gonderin.

Endpoints ​

MethodEndpointAciklama
GET/messagesMesaj listesi
GET/messages/:idMesaj detayi
POST/messagesYeni mesaj gonder
POST/messages/templateSablon mesaj gonder

Mesaj Gonderme ​

Metin Mesaji ​

http
POST /api/v1/messages
json
{
  "to": "+905551234567",
  "channel": "whatsapp",
  "type": "text",
  "text": "Merhaba! Siparisiniaz hazirlandi."
}

Resim Mesaji ​

json
{
  "to": "+905551234567",
  "channel": "whatsapp",
  "type": "image",
  "mediaUrl": "https://example.com/image.jpg",
  "caption": "Urun gorseli"
}

Video Mesaji ​

json
{
  "to": "+905551234567",
  "channel": "whatsapp",
  "type": "video",
  "mediaUrl": "https://example.com/video.mp4",
  "caption": "Tanitim videosu"
}

Belge Mesaji ​

json
{
  "to": "+905551234567",
  "channel": "whatsapp",
  "type": "document",
  "mediaUrl": "https://example.com/doc.pdf",
  "filename": "fatura.pdf"
}

Konum Mesaji ​

json
{
  "to": "+905551234567",
  "channel": "whatsapp",
  "type": "location",
  "latitude": 41.0082,
  "longitude": 28.9784,
  "name": "DOLU.ai Ofis",
  "address": "Kadikoy, Istanbul"
}

Sablon Mesajlari ​

WhatsApp onaylanmis sablonlari gonderin:

http
POST /api/v1/messages/template
json
{
  "to": "+905551234567",
  "channel": "whatsapp",
  "templateName": "siparis_bildirim",
  "templateLanguage": "tr",
  "components": [
    {
      "type": "body",
      "parameters": [
        { "type": "text", "text": "Ahmet" },
        { "type": "text", "text": "12345" },
        { "type": "text", "text": "Yarin" }
      ]
    }
  ]
}

Butonlu Sablon ​

json
{
  "to": "+905551234567",
  "templateName": "onay_talebi",
  "components": [
    {
      "type": "body",
      "parameters": [
        { "type": "text", "text": "Siparis #12345" }
      ]
    },
    {
      "type": "button",
      "sub_type": "quick_reply",
      "index": 0,
      "parameters": [
        { "type": "payload", "payload": "confirm_12345" }
      ]
    }
  ]
}

Toplu Mesaj ​

Birden fazla kisiye mesaj gonderin:

http
POST /api/v1/messages/bulk
json
{
  "recipients": [
    "+905551234567",
    "+905559876543"
  ],
  "channel": "whatsapp",
  "templateName": "kampanya_duyuru",
  "components": [...]
}

Segment Bazli ​

json
{
  "segmentId": "segment_vip",
  "templateName": "ozel_teklif",
  "components": [...]
}

Mesaj Durumu ​

Durum Sorgulama ​

http
GET /api/v1/messages/:id/status

Ornek Yanit ​

json
{
  "success": true,
  "data": {
    "id": "msg_abc123",
    "status": "delivered",
    "sentAt": "2024-01-21T10:00:00Z",
    "deliveredAt": "2024-01-21T10:00:02Z",
    "readAt": null
  }
}

Durum Degerleri ​

DurumAciklama
pendingKuyrukta
sentGonderildi
deliveredTeslim edildi
readOkundu
failedBasarisiz

Medya Yukleme ​

Gonderilecek medyayi onceden yukleyin:

http
POST /api/v1/media/upload
Content-Type: multipart/form-data

Ornek Yanit ​

json
{
  "success": true,
  "data": {
    "mediaId": "media_xyz789",
    "url": "https://cdn.dolu.ai/media/xyz789.jpg",
    "type": "image/jpeg",
    "size": 245000,
    "expiresAt": "2024-01-28T10:00:00Z"
  }
}

Rate Limiting ​

Mesaj gonderim limitleri:

KanalLimit
WhatsApp80 mesaj/saniye
Instagram40 mesaj/saniye
Telegram30 mesaj/saniye

Limit asildiginda 429 Too Many Requests yaniti alirsiniz.

Webhooks ​

Mesaj olaylari icin webhook'lar:

  • message.sent - Mesaj gonderildi
  • message.delivered - Mesaj teslim edildi
  • message.read - Mesaj okundu
  • message.failed - Mesaj basarisiz

Webhook Payload ​

json
{
  "event": "message.delivered",
  "timestamp": "2024-01-21T10:00:02Z",
  "data": {
    "messageId": "msg_abc123",
    "conversationId": "conv_xyz",
    "status": "delivered"
  }
}

Hata Kodlari ​

KodMesajAciklama
400Invalid phoneGecersiz telefon numarasi
404Contact not foundKisi bulunamadi
429Rate limitedLimit asildi
503Channel unavailableKanal kulanilamaz

DOLU.ai - AI Destekli CRM Platformu