MesajPilot API
MesajPilot'un tüm özelliklerini kendi uygulamanızdan kullanın: mesaj yükleyin, pazaryerlerini senkronize edin, AI yanıt taslağı üretin, çevirin, yanıtlayın, şablon yönetin ve rapor alın. WhatsApp ve Instagram mesajları da aynı uçlardan akar.
⚠️ Önemli: yanıt göndermek geri alınamaz
API bağlantılı bir kanaldan (Trendyol, Hepsiburada, WhatsApp, Instagram) gelen mesajı yanıtladığınızda (hariciId dolu ve bağlantı kuruluysa) yanıt gerçekten müşteriye gider. Panelde bu adımdan önce insan onayı vardır; API'de bu sorumluluk sizin uygulamanıza geçer. Otomatik gönderim kurgularken bunu göz önünde bulundurun.
Taban adres
https://mesajpilot.com.trKimlik doğrulama
Her istekte API anahtarınızı Authorization başlığında Bearer olarak gönderin. Anahtarı panelde API sekmesinden oluşturursunuz ve yalnızca bir kez gösterilir.
Authorization: Bearer mp_live_xxxxxxxxxxxxxxxxxxxxxxxx🔒 Anahtarınız hesabınızın tüm mesaj verilerine erişir. Tarayıcıda çalışan istemci koduna, herkese açık depolara ya da sohbet ekranlarına asla yapıştırmayın. Sunucu tarafında ortam değişkeninde tutun.
Uçlar
| GET | /api/v1/kullanim | Hesap bilgisi ve kalan kota. |
| GET | /api/v1/mesajlar | Mesajları filtreleyerek listeler. Parametreler: pazaryeri, tip, durum, duygu, gun, q, limit, atla. |
| POST | /api/v1/mesajlar | Toplu mesaj ekler (istek başına en fazla 500). Yinelenenler parmak izine göre atlanır.(aylık mesaj) |
| GET | /api/v1/mesajlar/{id} | Tek mesajın tüm alanları ve varsa üretilmiş taslakları. |
| POST | /api/v1/mesajlar/{id}/taslak | Üç üslupta (kısa, detaylı, empatik) AI yanıt taslağı üretir. Ürün bilgi bankanız ve (Hepsiburada sorusunda sipariş varsa) siparişin canlı kargo durumu taslağa otomatik yansır.(aylık AI taslağı) |
| POST | /api/v1/mesajlar/{id}/yanit | Mesajı yanıtlar. API bağlantısı olan kanallardan gelen mesajlarda yanıt gerçekten gönderilir: pazaryeri sorusunda (Trendyol, Hepsiburada, n11, Çiçeksepeti) pazaryerinde yayınlanır, WhatsApp/Instagram mesajında müşteriye DM gider. `islem: "geri-al"` ile yanıt geri alınır. |
| GET | /api/v1/sablonlar | Kayıtlı yanıt şablonları. |
| POST | /api/v1/sablonlar | Yeni şablon oluşturur. |
| PATCH | /api/v1/sablonlar/{id} | Şablonun başlığını veya metnini günceller. |
| DELETE | /api/v1/sablonlar/{id} | Şablonu siler. |
| GET | /api/v1/rapor | Dönem raporu (JSON). `gun` parametresi 1-90 arası, varsayılan 7. |
| GET | /api/v1/rapor/pdf | Aynı raporun PDF hâli (application/pdf). |
| POST | /api/v1/senkron | Bağlı pazaryerlerinin (Trendyol, Hepsiburada, n11, Çiçeksepeti) sorularını çeker ve gelen kutusuna yazar.(aylık mesaj) |
| POST | /api/v1/arac | AI araçları. Gövde: { islem: "turkceye|ingilizceye|ozetle|duzelt", metin }. Çeviri ve özet taslak kotasından düşmez. |
Mesaj nesnesi
Mesaj uçlarının döndürdüğü nesnenin dikkat isteyen alanları. `pazaryeri` değeri katalogdaki kodlardan biridir; WhatsApp ve Instagram mesajları da aynı nesneyle, pazaryeri kodu "whatsapp" / "instagram" olarak gelir.
| pazaryeri | Kaynak kanal kodu: trendyol, hepsiburada, n11, ciceksepeti, whatsapp, instagram… (tam liste belgedeki kanal bölümünde). |
| tip | "soru" ya da "yorum". |
| durum | "yanitlanmadi" ya da "yanitlandi". |
| duygu / riskSkoru / acil / konu | AI analizi: olumlu-nötr-olumsuz, 0-10 risk, aciliyet bayrağı ve konu (kargo, iade, beden…). |
| hariciId | Kanaldaki kaydın kimliği. Doluysa yanıt ucu cevabı GERÇEKTEN gönderir (pazaryerinde yayınlar ya da DM atar); boşsa (CSV) yalnızca yerelde işaretlenir. |
| siparisNo | Soru bir sipariş üzerinden sorulduysa pazaryeri sipariş numarası (şimdilik yalnızca Hepsiburada verir). |
| otomatikYanit | true ise yanıt, güven eşikli otomatik mod tarafından insan onayı olmadan gönderilmiştir. |
| sla | 24 saat kuralına göre kalan süre ve seviye (guvenli / uyari / kritik / gecikti). |
Geçerli pazaryeri kodları (canlı katalogdan üretilir)
trendyolhepsiburadan11amazontrpazaramapttavmciceksepetiidefixteknosakoctaspasajlcwboyneretsyaliexpresstemuebayamazonglobalzalandowhatsappinstagramdiger
Örnekler
Yanıtlanmamış mesajları listele
curl https://mesajpilot.com.tr/api/v1/mesajlar?durum=yanitlanmadi \
-H "Authorization: Bearer $MESAJPILOT_ANAHTARI"Mesaj yükle
curl -X POST https://mesajpilot.com.tr/api/v1/mesajlar \
-H "Authorization: Bearer $MESAJPILOT_ANAHTARI" \
-H "Content-Type: application/json" \
-d '{
"mesajlar": [
{
"pazaryeri": "trendyol",
"tip": "soru",
"metin": "Bu ürün indüksiyonlu ocakta kullanılır mı?",
"urunAdi": "Granit Tava 24cm",
"musteriAdi": "Murat B.",
"mesajTarihi": "2026-08-11T09:15:00Z"
}
]
}'Taslak üret (Node.js)
const yanit = await fetch(
`https://mesajpilot.com.tr/api/v1/mesajlar/${mesajId}/taslak`,
{
method: "POST",
headers: { Authorization: `Bearer ${process.env.MESAJPILOT_ANAHTARI}` },
},
);
const { taslaklar, kaynak } = await yanit.json();
// taslaklar: [{ uslup: "kisa", metin: "…" }, …]Yanıt gönder (Python)
import os, requests
r = requests.post(
f"https://mesajpilot.com.tr/api/v1/mesajlar/{mesaj_id}/yanit",
headers={"Authorization": f"Bearer {os.environ['MESAJPILOT_ANAHTARI']}"},
json={"yanit": "Merhaba, ürün indüksiyonla uyumludur.", "duzenlendi": True},
)
print(r.json()) # {"durum": "yanitlandi", "pazaryerineGonderildi": true}Hata kodları
Hatalar sabit bir gövde döndürür. İstemci kodunuz metne değil `kod` alanına dallanmalıdır — metin değişebilir, kod değişmez.
{ "hata": { "kod": "limit_asildi", "mesaj": "…" } }| yetkisiz | 401 | Anahtar geçersiz, iptal edilmiş veya gönderilmemiş. |
| gecersiz_istek | 400 | Gövde ya da parametre hatalı. |
| bulunamadi | 404 | Kayıt yok ya da bu hesaba ait değil. |
| limit_asildi | 402 | Aylık plan kotası doldu. |
| hiz_siniri | 429 | Dakikalık istek sınırı aşıldı. |
| pazaryeri_hatasi | 502 | Pazaryeri tarafında hata (kimlik, hız sınırı, erişim). |
| sunucu_hatasi | 500 | Beklenmeyen hata. |
Hız sınırı
Sınırlar anahtar başına uygulanır, IP'ye göre değil. Aşıldığında 429 ve `Retry-After` başlığı döner.
- Okuma uçları: dakikada 120 istek
- Yazma uçları: dakikada 60 istek
- AI uçları: dakikada 30 istek
Kotalar ve fiyat
API ayrı ücretlendirilmez; planınıza dahildir. API üzerinden yüklenen mesajlar ve üretilen taslaklar panelle aynı aylık kotayı kullanır. Kotanız dolduğunda ilgili uç 402 `limit_asildi` döner.
| Plan | Aylık ücret | Mesaj / ay | AI taslağı / ay |
|---|---|---|---|
| Başlangıç | ₺499 | 1.000 | 500 |
| Profesyonel | ₺999 | 5.000 | 3.000 |
| Kurumsal | ₺2.499 | 25.000 | 15.000 |
Başlamaya hazır mısınız? Panelinizden anahtar oluşturun.
API anahtarı oluştur