Ajan API’si ve MCP sunucusu
Varsayılan olarak her gönderim onayınızı bekler. Ücretli planlarda güvendiğiniz tek bir anahtarın veya uygulamanın sınırlar dahilinde sormadan çalışmasına izin verebilirsiniz: Onaysız çalıştırma. Yeni: Webhook’lar.
reply2mail, harici bir yapay zeka ürününe (Claude, ChatGPT, Cursor veya herhangi bir MCP ya da REST istemcisi) reply2mail’deki e-postalarınıza, takviminize ve takip konularınıza erişim verebilir. Ürün, reply2mail araçlarını Model Context Protocol (MCP) ya da düz bir REST API üzerinden çağırır. Hangi ürünlerin bağlanacağına ve neler yapabileceklerine siz karar verirsiniz; reply2mail panelinde Entegrasyonlar bölümünden istediğiniz zaman iptal edebilirsiniz. Entegrasyonlar panelinizde henüz görünmüyorsa, hesabınız için açık değildir.
1. Claude veya ChatGPT’yi bağlayın (giriş yapın, bir şey yapıştırmayın)
claude.ai, Claude uygulamaları ve ChatGPT için reply2mail’i özel bağlayıcı (custom connector) olarak ekleyin ve şu adresi verin:
https://mcp.reply2mail.app/mcpÜrün sizi giriş yapmak için reply2mail’e yönlendirir. Ardından reply2mail panelinde, ürünün istediği izinleri listeleyen bir onay ekranı görürsünüz; vermek istemediklerinizin işaretini kaldırıp İzin ver’i seçin. Hiçbir yere anahtar kopyalanmaz. Bağlantı daha sonra Entegrasyonlar altında görünür; izinlerini oradan değiştirebilir veya bağlantıyı kesebilirsiniz.
2. API anahtarıyla bağlayın (Claude Code, Cursor, herhangi bir MCP veya REST istemcisi)
Panelde Entegrasyonlar’ı açın ve bir API anahtarı oluşturun. İzinlerini ve ne kadar geçerli olacağını seçin. Anahtar r2m_pat_ ile başlar ve yalnızca bir kez gösterilir: o anda kopyalayın, çünkü reply2mail yalnızca tek yönlü bir özetini (hash) saklar ve tekrar gösteremez.
Anahtarı bir ortam değişkenine koyun. Aşağıdaki yapılandırma örnekleri yalnızca değişkene başvurur; böylece yapılandırma dosyası anahtarın kendisini asla içermez:
export R2M_TOKEN=PASTE_YOUR_KEY_HERE$env:R2M_TOKEN = 'PASTE_YOUR_KEY_HERE'API anahtarları kendi adreslerini kullanır:
https://api.reply2mail.app/mcpClaude Code, tek komut (R2M_TOKEN’ın tanımlı olduğu terminalde çalıştırın):
claude mcp add --transport http reply2mail https://api.reply2mail.app/mcp --header "Authorization: Bearer $R2M_TOKEN"Claude Code, proje dosyası .mcp.json (değişken Claude Code başlarken okunur):
{
"mcpServers": {
"reply2mail": {
"type": "http",
"url": "https://api.reply2mail.app/mcp",
"headers": {
"Authorization": "Bearer ${R2M_TOKEN}"
}
}
}
}Cursor, ~/.cursor/mcp.json (veya projede .cursor/mcp.json):
{
"mcpServers": {
"reply2mail": {
"url": "https://api.reply2mail.app/mcp",
"headers": {
"Authorization": "Bearer ${env:R2M_TOKEN}"
}
}
}
}Diğer MCP istemcileri: yukarıdaki adresi Authorization: Bearer <anahtarınız> HTTP başlığıyla kullanın. Köprü veya proxy gerekmez.
3. REST API
API anahtarları https://api.reply2mail.app/v1 adresindeki REST API ile de çalışır. REST ve MCP aynı sonuç nesnesini döndürür.
- GET /v1/me: bu anahtarın ne olduğu ve neler yapabileceği.
- GET /v1/tools: bu anahtarın çağırabileceği araçlar (MCP istemcilerinin gördüğü listenin aynısı).
- POST /v1/tools/<ad>: tek bir aracı çağırır. Gövde {"arguments": {...}} biçimindedir; argümanı olmayan bir araç için boş olabilir.
- GET /v1/openapi.json: API’nin tamamı, herkese açık bir OpenAPI 3.1 belgesi olarak (anahtar gerekmez).
- Kendi kodun için kaynaklar: /v1/messages, /v1/threads, /v1/events, /v1/trackers, /v1/accounts ve dahası; izinler ve onaylar aynıdır. Geliştiriciler sayfasına bak (/tr/developers).
curl -H "Authorization: Bearer $R2M_TOKEN" https://api.reply2mail.app/v1/me
curl -H "Authorization: Bearer $R2M_TOKEN" https://api.reply2mail.app/v1/tools
curl -X POST -H "Authorization: Bearer $R2M_TOKEN" -H "Content-Type: application/json" \
-d '{"arguments": {"query": "invoice", "newer_than_days": 30}}' \
https://api.reply2mail.app/v1/tools/search_inbox/v1 içinde değişiklikler yalnızca eklemedir: yeni araçlar, yeni isteğe bağlı parametreler, yeni sonuç alanları. İstemciler tanımadıkları sonuç alanlarını yok saymalıdır.
İzinler
Her anahtarın veya bağlantının kendi izinleri vardır ve aşağıdaki gruplara ayrılır. Bunları Entegrasyonlar altında istediğiniz zaman değiştirebilirsiniz.
| Grup | Neye izin verir | Nasıl çalışır |
|---|---|---|
| mail:read | E-posta arama, listeleme ve sayma; bir mesajı, yazışmayı veya ek metnini okuma; klasörler; hesaplar; yanıt ve e-posta önizlemeleri (hiçbir şey saklanmaz veya gönderilmez); günlük özet | Yalnızca okuma |
| calendar:read | Etkinlikleri listeleme, çakışmaları bulma, önerilen etkinlikleri listeleme | Yalnızca okuma |
| trackers:read | Takip konularını listeleme ve birini okuma | Yalnızca okuma |
| mail:organize | Bir mesajı okundu veya okunmadı işaretleme, yıldızlama | Hemen çalışır, her seferinde tek mesaj (varsayılan); önce sormaya ayarlanabilir |
| mail:reply | Bir mesaja yanıt gönderme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| mail:send | Yeni e-posta gönderme, e-posta iletme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| mail:manage | Tek bir mesajı arşivleme, Çöp Kutusu’na taşıma, taşıma veya etiketleme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| mail:bulk | Birden çok mesajı arşivleme, Çöp Kutusu’na taşıma, etiketleme veya okundu işaretleme; okunmamış tüm postaları okundu işaretleme; yakın zamanda silinen postaları geri yükleme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| mail:folders | Klasör oluşturma veya silme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| calendar:write | Etkinlik oluşturma, önerme, güncelleme, onaylama ve silme; birden çok etkinliği güncelleme veya silme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| trackers:write | Takip konusu oluşturma, ona mesaj veya etkinlik bağlama, not ekleme, açık veya beklemede olarak işaretleme | Hemen çalışır (varsayılan); önce sormaya ayarlanabilir |
| trackers:remove | Bir veya birden çok takip konusunu çözüldü olarak kapatma veya silme | Onayınızı bekler (varsayılan); ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir |
| memory:read | reply2mail’in hafızasındakileri okuma | Varsayılan olarak kapalı; açıldığında yalnızca okuma |
| memory:write | Hafızaya kayıt ekleme, düzenleme veya silme | Varsayılan olarak kapalı; açıldığında onayınızı bekler (ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir) |
| rules:read | Kurallarınızı listeleme | Varsayılan olarak kapalı; açıldığında yalnızca okuma |
| rules:write | Kural ekleme, açma, kapatma, silme veya kuralları değiştirme | Varsayılan olarak kapalı; açıldığında onayınızı bekler (ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir) |
| profile:read | Kişiliğinizi (persona), imzanızı, marka sesinizi, dilinizi ve yanıt şablonlarınızı okuma | Varsayılan olarak kapalı; açıldığında yalnızca okuma |
| profile:write | Kişiliğinizi, imzanızı, marka sesinizi veya dilinizi değiştirme; yanıt şablonu ekleme | Varsayılan olarak kapalı; açıldığında onayınızı bekler (ücretli planlarda tek bir anahtar veya uygulama için onaysız çalışabilir) |
| account:read | Plan ve krediler, kullanım, kurulum durumu, reply2mail’in kendi asistanının yaptıkları | Varsayılan olarak kapalı; açıldığında yalnızca okuma |
Onay açıkken (varsayılan), hiçbir şey o isteği tek tek onaylamadan e-posta göndermez veya postanızı değiştirmez. Bir anahtar veya uygulama için onayı kapatırsanız aşağıdaki Onaysız çalıştırma bölümüne bakın. Toplu seçimler, istek oluşturulduğu anda açık bir mesaj listesine dönüştürülür: en fazla 50 mesaj, ücretsiz planda 25. Bir klasörü silerken klasörde kaç mesaj olduğu gösterilir; Gelen Kutusu, Gönderilenler, Taslaklar, Çöp Kutusu, Spam ve Tüm Postalar silinemez.
Hafıza, kural ve profil değişiklikleri kalıcıdır: sonraki e-postaları da etkilemeye devam eder. Bunların onay kartı değişiklikten önceki ve sonraki metni gösterir; bağlantıları, e-posta adreslerini ve talimat gibi görünen ifadeleri ayrıca belirtir. reply2mail’in kendi asistanı, bir ajan üzerinden yazılan metni sizin talimatınız olarak değil, veri olarak ele alır.
API anahtarı oluştururken veya bir bağlantıyı onaylarken kullanabileceğiniz hazır ayarlar:
- Yalnızca okuma: mail:read, calendar:read, trackers:read.
- Okuma ve düzenleme: Yalnızca okuma ile birlikte mail:organize.
- Tam: varsayılan olarak kapalı olmayan tüm gruplar. Onay gerektiren gruplar yine önce sorar; trackers:write hemen çalışır.
Hafıza, kural, profil ve hesap grupları hiçbir hazır ayarda yer almaz. Bunları her anahtar veya bağlı uygulama için ayrıca açın.
Onaylar
- Onay gerektiren bir işlem, siz onaylayana kadar asla gönderildi veya yapıldı olarak bildirilmez. Ürün bunun yerine "onay bekliyor" sonucu alır.
- Onaylama veya reddetme yalnızca reply2mail panelindeki Onaylar sayfasında yapılır, başka hiçbir yerde değil.
- reply2mail, bir ajanın gönderdiği veya bir e-postanın içindeki bağlantı ya da düğme üzerinden asla onay istemez. Böyle bir bağlantıya şüpheyle yaklaşın.
- Karar vermediğiniz bir istek 24 saat sonra geçersiz olur.
- Aynı isteğin yeniden gönderilmesi yeni bir istek oluşturmaz, mevcut isteği döndürür. Reddettiğiniz bir istek bir saat boyunca yeniden kabul edilmez.
- İstek ile onayınız arasında hedef değiştiyse (mesaj taşındı, etkinlik veya kural düzenlendi, imza değişti), hiçbir şey çalışmaz ve istek başarısız olarak bildirilir.
- Ürün sonucu get_approval (MCP) veya GET /v1/approvals/<id> (REST) ile kontrol eder. outcome_unknown sonucu, işlemin gerçekleşmiş de gerçekleşmemiş de olabileceği anlamına gelir; yeniden denenmemelidir.
Onaysız çalıştırma (doğrudan mod)
E-posta, takvim etkinliği, takip konusu, hafıza, kural veya profil gönderen ya da değiştiren her grupta onay varsayılan olarak açıktır. Ücretli planda, tek seferde bir anahtar veya bağlı uygulama ve bir grup için onayı kapatabilirsiniz ("doğrudan"). O gruptaki istekler bundan sonra aşağıdaki sınırlar içinde, size sormadan hemen çalışır. Bunu yalnızca posta kutunuzu emanet edeceğiniz bir ajan için yapın.
Nasıl açılır:
- Yalnızca reply2mail panelinden: Entegrasyonlar altında anahtarı veya uygulamayı açın, grubu onaysız çalışacak şekilde ayarlayın ve inceleme penceresinde onaylayın. Anahtar oluştururken, Claude veya ChatGPT’deki izin ekranında ya da ajan tarafından açılamaz. Bir anahtar veya uygulama kendi izinlerini değiştiremez, kendi isteklerini onaylayamaz.
- Yalnızca ücretli planlar. Planınız ücretsize dönerse tüm gruplar onaya döner.
- mail:reply, mail:send ve mail:bulk için yeniden giriş yaparsınız ve aynı adımda iki adımlı doğrulama kodunuzu, iki adımlı doğrulama kullanmıyorsanız hesap parolanızı girersiniz. Yalnızca Google veya Microsoft ile giriş yapıyor ve iki adımlı doğrulama kullanmıyorsanız önce onu açın.
- Onaysız gönderim (mail:reply, mail:send) yalnızca API anahtarları ile Claude ve ChatGPT bağlantıları için kullanılabilir.
Açarken değiştirebileceğiniz varsayılanlar:
| Ayar | Varsayılan | Değiştirebilirsiniz |
|---|---|---|
| Alıcılar | Yanıt, yeni e-posta veya iletme, yalnızca gönderen hesabın daha önce yazdığı adreslere sormadan gider (tam adres, o hesabın Gönderilenler klasöründen). Diğer her şey, tanımadığınız birinin e-postasına yanıt dahil, onay isteğine dönüşür. | Bir adres listesine veya herkese izin verme |
| Gönderim sınırı | Anahtar veya uygulama başına saatte 10, günde 50. Fazlası onay isteğine dönüşür. | Sayıları değiştirme |
| Süre | 30 gün; sonra grup onaya döner | 24 saat, 7 gün veya siz kapatana kadar |
| Gönderim yapan API anahtarları | Ömrü 30 güne kısalır | Özgün ömrü koruma |
| Posta hesapları | Bir anahtarı veya uygulamayı bazı posta hesaplarınızla sınırlayabilirsiniz. Başka bir hesaptan gönderim veya başka bir hesapta değişiklik reddedilir. | Hesapları seçme |
Ne seçerseniz seçin her zaman geçerli olanlar:
- Güvenlik filtresinin durdurduğu bir e-posta her zaman sizi bekler. Filtre bir şey bulursa (parola, anahtar veya kimlik numarası gibi), hata verirse veya kapalıysa, gönderim tıpkı onay açıkken olduğu gibi bir onay isteğine dönüşür ve onaylamak iki adım gerektirir. Onaysız gönderimler sıkı filtreyle denetlenir.
- 10 dakika içinde tekrarlanan aynı istek ilk sonucu döndürür; iki kez çalışmaz.
- Filtre bir anahtar veya uygulamadan 24 saat içinde üç e-posta durdurursa, o anahtar veya uygulama onaya döner ve size bildirilir.
- Bazı işlemler, onaysız çalışan bir grupta bile her zaman sorar: klasör silme, takip konusu silme, etkinlik iptali, hafıza kaydı silme veya düzenleme, kural silme veya kuralları topluca değiştirme.
- Parolanızı değiştirmek veya iki adımlı doğrulamayı kapatmak tüm anahtar ve uygulamaları onaya döndürür ve size bildirilir.
- Hemen durdurmak için: anahtarı veya uygulamayı duraklatın ya da Entegrasyonlar altında Her şey için onay iste seçeneğini açın.
Sonrasında: onaysız çalışan her şey Onaylar sayfasındaki Geçmiş’te onaysız çalıştı olarak işaretli görünür ve size e-postayı içermeyen kısa bir bildirim gelir. reply2mail’in kendi asistanı ve otomatik yanıtlar etkilenmez: her zaman onayınızı bekler.
Riskler, açıkça:
- Size e-posta gönderebilen herkes, ajanı sizin adınıza e-posta göndermeye zorlamayı deneyebilir. Filtre parolaları ve kimlik numaralarını yakalar; bir sözleşmeyi, fiyat listesini veya ikna edici zararlı bir mesajı yakalamaz.
- Bunu sonradan öğrenirsiniz. Gönderilmiş e-posta geri alınamaz.
- Sızan bir anahtar, süresi dolana veya siz duraklatana kadar sizin adınıza gönderir.
- Bu yolla yapılan kural, hafıza ve imza değişiklikleri, ajanın bağlantısını kestikten sonra da sonraki e-postaları etkilemeye devam eder.
- O anahtar veya uygulama için “reply2mail onayınız olmadan asla göndermez” artık doğru değildir.
Webhook’lar
Sürekli sorgulamak yerine, yeni e-posta geldiğinde veya anahtarınızın açtığı bir onay isteği sonuçlandığında sunucunuz reply2mail’den bir HTTPS POST isteği alabilir.
Kurulum:
- Panelde: Entegrasyonlar → Webhook’lar. Her uç nokta tek bir API anahtarına aittir.
- Adres HTTPS kullanmalı ve herkese açık bir internet adresine çözümlenmelidir. Yönlendirmeler izlenmez.
- Ücretsiz plan: 1 uç nokta. Ücretli planlar: 10.
- İmzalama sırrı (whsec_…) uç noktayı oluşturduğunuzda yalnızca bir kez gösterilir. Panelden yenileyebilirsiniz (rotate).
Olaylar:
| Olay | Ne zaman gönderilir |
|---|---|
| message.received | Bağlı herhangi bir hesabın Gelen Kutusu’na (INBOX) yeni e-posta geldi. Yalnızca uç nokta oluşturulduktan sonra gelen e-postalar için (ilk içe aktarma hariç) ve yalnızca anahtarda Postaları okuma (mail:read) izni varsa. |
| approval.decided | O anahtarın açtığı bir onay isteği onaylandı, reddedildi, çalıştırıldı, başarısız oldu veya outcome_unknown ile sonuçlandı. data.state şunlardan biridir: approved, rejected, executed, failed, outcome_unknown. |
| webhook.test | Paneldeki test olayı gönderme düğmesine (Send test event) bastığınızda gönderilir. |
Yük (payload) yalnızca kimlikleri ve asgari üst veriyi taşır; konu, gönderen veya gövde asla gönderilmez. İçeriği aynı anahtarla REST üzerinden alın: GET /v1/messages/{id} veya GET /v1/approvals/{id}.
{"id":"evt_3kTq…","type":"message.received","created_at":"2026-10-08T12:00:00Z","api_version":"v1","data":{"account_id":12,"message_id":"m1_…"}}{"id":"evt_…","type":"approval.decided","created_at":"…","api_version":"v1","data":{"approval_id":"apr_…","state":"executed","account_id":12}}{"id":"evt_…","type":"webhook.test","created_at":"…","api_version":"v1","data":{"endpoint_id":"wh_12"}}İstek:
| Başlık | Değer |
|---|---|
| (yöntem) | POST |
| Content-Type | application/json |
| User-Agent | reply2mail-webhooks/1.0 |
| Reply2mail-Event-Id | Olayın tekil kimliği. Tekrarları ayıklamak için kullanın. |
| Reply2mail-Event-Type | message.received, approval.decided veya webhook.test |
| Reply2mail-Delivery-Attempt | 1 ile 6 arası |
| Reply2mail-Signature | t=<unix saniye>,v1=<hex> |
İmzayı doğrulama:
- v1, t + "." + ham istek gövdesinin, uç nokta sırrıyla (whsec_… dizesinin tamamı, UTF-8 olarak) anahtarlanmış HMAC-SHA256 değerinin hex hâlidir.
- Doğrulamayı JSON’u ayrıştırmadan önce, ham gövde baytları üzerinde yapın. Ayrıştırılıp yeniden yazılan JSON eşleşmez.
- Başlığı "," ile, her parçayı ilk "=" ile bölün. Birden fazla v1 olabilir: sırrı yeniledikten sonraki 24 saat boyunca başlık, yeni sır için bir, eski sır için bir v1 taşır. Herhangi biri eşleşirse isteği kabul edin.
- t, saatinizden 300 saniyeden fazla farklıysa isteği reddedin (tekrar oynatma penceresi).
- İmzaları sabit sürede (constant time) karşılaştırın.
SECRET='whsec_PASTE_YOUR_SECRET'
URL='https://example.com/webhooks/reply2mail'
BODY='{"id":"evt_test_1","type":"webhook.test","created_at":"2026-10-08T12:00:00Z","api_version":"v1","data":{"endpoint_id":"wh_12"}}'
T=$(date +%s)
SIG=$(printf '%s' "$T.$BODY" | openssl dgst -sha256 -hmac "$SECRET" | sed 's/^.*= //')
curl -X POST "$URL" \
-H 'Content-Type: application/json' \
-H 'User-Agent: reply2mail-webhooks/1.0' \
-H 'Reply2mail-Event-Id: evt_test_1' \
-H 'Reply2mail-Event-Type: webhook.test' \
-H 'Reply2mail-Delivery-Attempt: 1' \
-H "Reply2mail-Signature: t=$T,v1=$SIG" \
--data-binary "$BODY"const crypto = require('node:crypto')
const express = require('express')
const SECRET = process.env.R2M_WEBHOOK_SECRET // the whole whsec_… string
const TOLERANCE_S = 300
function verify(rawBody, header) {
let t = null
const sigs = []
for (const part of (header || '').split(',')) {
const i = part.indexOf('=')
if (i === -1) continue
const key = part.slice(0, i).trim()
const value = part.slice(i + 1).trim()
if (key === 't') t = value
else if (key === 'v1') sigs.push(value)
}
if (!t || !/^\d+$/.test(t) || sigs.length === 0) return false
if (Math.abs(Date.now() / 1000 - Number(t)) > TOLERANCE_S) return false
const expected = crypto.createHmac('sha256', SECRET)
.update(t + '.', 'utf8')
.update(rawBody)
.digest()
return sigs.some((s) => /^[0-9a-f]{64}$/i.test(s) &&
crypto.timingSafeEqual(Buffer.from(s, 'hex'), expected))
}
const app = express()
// express.raw keeps the body as bytes: no express.json() in front of this route
app.post('/webhooks/reply2mail', express.raw({ type: 'application/json' }), (req, res) => {
if (!Buffer.isBuffer(req.body) || !verify(req.body, req.get('Reply2mail-Signature'))) {
return res.sendStatus(400)
}
const eventId = req.get('Reply2mail-Event-Id')
// skip if eventId was already handled; otherwise store it and do the work later
const event = JSON.parse(req.body.toString('utf8'))
res.sendStatus(204)
})
app.listen(3000)import hashlib, hmac, os, time
from flask import Flask, abort, request
SECRET = os.environ["R2M_WEBHOOK_SECRET"].encode("utf-8") # the whole whsec_… string
TOLERANCE_S = 300
app = Flask(__name__)
def verify(raw, header):
t, sigs = None, []
for part in (header or "").split(","):
key, sep, value = part.strip().partition("=")
if not sep:
continue
if key == "t":
t = value
elif key == "v1":
sigs.append(value)
if not t or not (t.isascii() and t.isdigit()) or not sigs:
return False
if abs(time.time() - int(t)) > TOLERANCE_S:
return False
expected = hmac.new(SECRET, t.encode() + b"." + raw, hashlib.sha256).hexdigest()
return any(hmac.compare_digest(expected.encode(), s.lower().encode()) for s in sigs)
@app.post("/webhooks/reply2mail")
def reply2mail_webhook():
raw = request.get_data() # raw bytes: verify before parsing JSON
if not verify(raw, request.headers.get("Reply2mail-Signature")):
abort(400)
event_id = request.headers["Reply2mail-Event-Id"]
# skip if event_id was already handled; otherwise store it and do the work later
event = request.get_json()
return "", 204Teslimat ve yeniden denemeler:
- 10 saniye içinde gelen bir 2xx cevabı teslim edildi sayılır. Bunun dışındaki her şey, 3xx yönlendirme dahil, başarısızdır.
- Başarısız bir teslimat yeniden denenir, toplam en fazla 6 deneme. Yeniden denemeler bir önceki denemeden 1 dakika, 10 dakika, 1 saat, 6 saat ve 16 saat sonra yapılır (ilkinden sonuncusuna yaklaşık 23 saat).
- Olaylar birden fazla kez ve sırasız gelebilir. Reply2mail-Event-Id ile tekrarları ayıklayın. Hızlı cevap verin: olayı kaydedin, işi sonra yapın.
- En az 24 saate yayılan art arda 20 başarısız denemeden sonra uç nokta otomatik olarak kapatılır. Size bildirim gelir; panelden yeniden açabilirsiniz.
- Panel her uç nokta için bir teslimat kaydı gösterir: durum kodu, gecikme süresi ve deneme numarası.
- OpenAPI belgesi (https://api.reply2mail.app/v1/openapi.json), olayları webhooks bölümünde tanımlar (OpenAPI 3.1).
Bir anahtarın veya uygulamanın yaptığı değişiklikler
Bir API anahtarının veya bağlı uygulamanın oluşturduğu ya da değiştirdiği her şey; Kurallar, Hafıza, Ajan ayarları ve takip konularında, ayrıca reply2mail’in size gönderdiği e-postalarda (takip konusu özeti, etkinlik hatırlatmaları) onun adıyla etiketlenir. Panelde her anahtarın veya uygulamanın sayfası, yaptığı değişiklikleri ve etkinlik kaydını listeler.
ChatGPT için hassas e-posta filtresi
ChatGPT’den kurulan bağlantılarda reply2mail, giriş kodu, parola sıfırlama ve güvenlik kodu olarak sınıflandırdığı e-postaları sonuçların dışında bırakır ve sonuçta neden dışarıda bırakıldıklarını belirtir. API anahtarları ve Claude bağlantıları filtrelenmez. Sınıflandırma bir e-postayı kaçırabilir; bu yüzden filtre bir garanti değildir.
Sınırlar
Bağlı ürünlerden gelen çağrılar aylık mail kredilerinizi kullanmaz. Bu sınırlar posta kutunuzu ve hizmeti korur; hesabınız için güncel değerler Entegrasyonlar altında gösterilir.
| Sınır | Ücretsiz plan | Ücretli planlar |
|---|---|---|
| Etkin anahtar ve bağlı uygulama | 1 | 10 |
| Dakikada çağrı, anahtar veya bağlantı başına | 20 | 60 |
| Dakikada okundu / okunmadı / bayrak, anahtar veya bağlantı başına | 10 | 20 |
| Günde çağrı, tüm anahtar ve bağlantılar toplamı | 200 | 5.000 |
| Aynı anda çalışan çağrı, anahtar veya bağlantı başına | 2 | 2 |
| İstek boyutu | 256 KB | 256 KB |
| Yanıt boyutu | 64 KB | 64 KB |
| Saatte yeni anahtar | 5 | 5 |
Bir sınırı aşan çağrı, sınırı ve geçerliyse ne zaman yeniden denenebileceğini belirten bir hata döndürür (REST’te Retry-After başlığı).
Anahtar süresi ve bağlantı ömrü
- API anahtarları seçtiğiniz sürenin sonunda geçersiz olur: varsayılan 90 gün, en fazla 180 gün.
- Panel, 7 gün veya daha az kalan bir anahtarı turuncu ile işaretler. Süresi dolmadan yenileyin (rotate): yenileme size yeni bir anahtar verir, eskisi ise yapılandırmanızı güncelleyebilmeniz için 24 saat (kendi süresi daha erken bitiyorsa o zamana kadar) çalışmaya devam eder.
- Claude veya ChatGPT’den giriş yaparak kurulan bir bağlantı, en az 30 günde bir kullanıldığı sürece geçerli kalır.
Bağlamadan önce bilmeniz gerekenler
- mail:read izni olan bir ürün, reply2mail’e bağlı tüm posta hesaplarınızdaki her e-postayı, başka hizmetlerden gelen parola sıfırlama bağlantıları ve tek kullanımlık giriş kodları dahil, okuyabilir. Tek istisna yukarıdaki ChatGPT filtresidir. Bir ürüne posta kutusu parolanızı vermeyecekseniz, onu bağlamayın.
- E-postalar talimat içerebilir. Başkasının e-postası, bağlı yapay zekaya ne yapacağını söylemeye çalışabilir. reply2mail e-posta içeriğini yapay zeka için güvenilmeyen içerik olarak işaretler, ancak yapay zekanın onu yok sayacağını garanti edemez.
- Bağlı ürünün okuduğu verilerle yaptıkları (saklama, paylaşma, kendi araçlarıyla gönderme, eğitim) o ürünün şartlarına tabidir ve reply2mail’in kontrolü dışındadır.
- API anahtarına parola gibi davranın. Paylaşılan koda veya herkese açık yerlere koymayın.
Duraklatma ve iptal
Entegrasyonlar altında herhangi bir anahtarı veya bağlı uygulamayı duraklatabilir, iptal edebilir ya da bağlantısını kesebilirsiniz. Bir sonraki istekte çalışmayı bırakır. reply2mail’i Claude veya ChatGPT içinde kaldırmak o ürünün bağlantıyı kullanmasını durdurur; reply2mail tarafında da sona erdiğinden emin olmak için panelden de iptal edin. Bir anahtarın sızdığını düşünüyorsanız hemen iptal edin.
Ayrıca bkz.: Geliştiriciler (REST API) · REST API referansı · Gizlilik Politikası · Kullanım Şartları