Adapty Mail API aracılığıyla e-posta ve işlem gönderme

Adapty Mail API, kullanıcı profillerini ve işlemleri Adapty SDK üzerinden yönlendirmeye gerek kalmadan doğrudan sunucunuzdan Adapty Mail’e göndermenizi sağlar. Şu durumlarda kullanabilirsiniz:

  • Adapty Mail’de henüz bir tabanınız yokken abone ekleyin.
  • Diğer uygulamalarınızdaki abone tabanını yeniden kullanın.
  • Adapty Mail’i sunucudan sunucuya besleyin; arka ucunuz gerçeğin kaynağı olsun.
Note

API mi SDK mi? Çoğu uygulama, e-postaları ve satın almaları otomatik olarak toplayan Adapty SDK aracılığıyla Adapty Mail’e veri gönderir — bkz. Adapty’yi Adapty Mail’e Bağlama. API’yi şu durumlarda tercih edin: uygulamanızda Adapty SDK yoksa, veriler zaten sunucunuzda bulunuyorsa veya başka bir kaynaktan aboneleri içe aktarıyorsanız. API’yi başka bir giriş noktasıyla birlikte de kullanabilirsiniz: Adapty Mail, gelen verileri customer_user_id ve e-posta adresine göre eşleştirir ve kişi başına tek bir profil tutar.

Başlamadan önce

Warning

Veri göndermeden önce Adapty Mail kurulumunu tamamlayın — bu, bir kampanya, segment (gerekiyorsa), web paywall ve başlatılmış bir flow anlamına gelir. Adapty Mail, yalnızca bu kurulum tamamlandıktan sonra oluşturulan profillere e-posta gönderir; daha önce gönderdiğiniz profiller hiçbir e-posta almaz. Önce Adapty Mail ile başlarken adımlarını takip edin, ardından buraya dönün.

API anahtarınıza ve temel URL’nize de ihtiyacınız olacak:

  • Gizli API anahtarı: Adapty Mail’de Settings bölümüne gidin ve gizli API anahtarınızı kopyalayın. Anahtar projeye özgüdür; bu sayede API hangi projeye ait olduğunu bilir.
  • Temel URL: Tüm istekler https://api-mail.adapty.io adresine gönderilir.
  • Kimlik doğrulama: Anahtarı Authorization başlığında Bearer {your_secret_api_key} biçiminde gönderin.
Important

E-postaları toplayıp Adapty Mail’e göndermeden önce kullanıcılardan açık rıza alın. GDPR, CAN-SPAM ve faaliyet gösterdiğiniz pazarlardaki benzer düzenlemelere uyum sağlamak sizin sorumluluğunuzdadır.

Kullanıcı profilleri gönderme

Profil, kullanıcının e-posta adresini ve özelliklerini içerir. Profil oluşturmak veya güncellemek için /api/v1/profile/save/ adresine POST isteği gönderin.

Üç alan zorunludur:

  • Uygulamanıza veya backend’inize ait sabit bir external_profile_id
  • Adapty Mail’in kampanyaları iletmek için kullandığı email
  • external_created_at — segment’lerde kullanabileceğiniz kullanıcı oluşturma zamanı
Important

Her zaman sabit bir external_profile_id gönderin; anonim veya kuruluma özel bir değer kullanmayın. Adapty Mail, e-postaları, tıklamaları ve satın almaları tek bir profile bağlamak için bu alanı kullanır.

Aynı kişi Adapty SDK üzerinden de Adapty Mail’e ulaşıyorsa, customer_user_id ekleyin — Adapty.identify() fonksiyonuna ilettiğiniz kendi kullanıcı kimliğiniz. Adapty Mail bunu eşleştirerek her iki kaynağı tek bir profil altında tutar; böylece kişiye iki kez e-posta gönderen bir kopya profil oluşturulmaz.

curl --request POST \
  --url 'https://api-mail.adapty.io/api/v1/profile/save/' \
  --header 'Authorization: Bearer {your_secret_api_key}' \
  --header 'Content-Type: application/json' \
  --data '{
    "external_profile_id": "user_12345",
    "external_created_at": "2026-06-01T10:30:00Z",
    "email": "jane@example.com",
    "country": "US",
    "custom_attributes": {
      "plan": "trial"
    }
  }'

Kullanılabilir her alan için Profili kaydet referansına bakın.

İşlem olaylarını gönder

Note

never purchased flow’unda kullanıcılara ulaşmak için e-posta içeren bir profil yeterlidir. Diğer tüm flow’lardaki kullanıcılar için işlem olayları da gereklidir.

never purchased dışındaki tüm flow’lar satın alma geçmişiyle çalışır. Satın alma, yenileme ve iptalleri işlerken profil işlem olaylarını gönderin; böylece Adapty Mail kullanıcıyı doğru flow’a yerleştirebilir. İşlem olayları aynı zamanda gelir attribution’ını da destekler. Yalnızca never purchased kampanyaları yürütüyorsanız bu adımı atlayabilirsiniz. Bir işlemi kaydetmek için /api/v1/profile/transaction-event/save/ adresine POST isteği gönderin. Adapty Mail’in işlemi doğru kullanıcıyla ilişkilendirebilmesi için profille birlikte gönderdiğiniz external_profile_id değerini kullanın.

curl --request POST \
  --url 'https://api-mail.adapty.io/api/v1/profile/transaction-event/save/' \
  --header 'Authorization: Bearer {your_secret_api_key}' \
  --header 'Content-Type: application/json' \
  --data '{
    "event_type": "subscription_started",
    "event_id": "evt_abc123",
    "event_datetime": "2026-06-10T14:20:05Z",
    "external_profile_id": "user_12345",
    "store": "app_store",
    "store_product_id": "premium_monthly",
    "store_transaction_id": "1000000123456789",
    "store_original_transaction_id": "1000000123456789",
    "purchased_at": "2026-06-10T14:20:00Z",
    "originally_purchased_at": "2026-06-10T14:20:00Z",
    "price_usd": "9.99"
  }'

Save transaction event referansına her mevcut alan için bakın.

Bir profil oluşturulmadan önce transaction gönderebilirsiniz. Adapty Mail, etkinliği bağlanmamış olarak saklar ve ardından aynı external_profile_id’yi içeren bir sonraki kaydetme işleminde onu profile bağlar.

Bir profili silme

Silinme hakkı talebini yerine getirmek için profilin tanımlayıcılarını /api/v1/profile/delete/ adresine gönderin. Adapty Mail, profilin kişisel verilerini siler ve zamanlanmış e-postalarını iptal eder.

curl --request POST \
  --url 'https://api-mail.adapty.io/api/v1/profile/delete/' \
  --header 'Authorization: Bearer {your_secret_api_key}' \
  --header 'Content-Type: application/json' \
  --data '{
    "external_profile_id": "user_12345"
  }'

Profili external_profile_id, customer_user_id veya email ile tanımlayın — en az birini gönderin. Silme işlemi kalıcıdır: aynı tanımlayıcıları taşıyan sonraki bir kayıt, profili yeniden oluşturmaz.

Yeniden denemeyi güvenli kılmak için profili external_profile_id veya customer_user_id ile tanımlayın. Yalnızca email ile yapılan bir silme işlemini tekrarlamak 404 döndürür; çünkü silme, kayıtlı adresi temizler. Ayrıntılar için Profil sil referansına bakın.

Olaylarınızı flow’larla eşleştirin

Yaşanan olayı temsil eden event_type değerini gönderin. Adapty Mail, profilin durumunu olay geçmişinden çıkarır ve onu uygun flow’a yönlendirir.

event_typeNe zaman gönderilirFlow
subscription_startedBir kullanıcı yeni bir abonelik başlattığında.Aktif — yeniden etkileşim flow’u yok
subscription_renewedBir abonelik otomatik olarak yenilendiğinde.Aktif — yeniden etkileşim flow’u yok
subscription_renewal_reactivatedBir kullanıcı otomatik yenilemeyi yeniden açtığında.Aktif — yeniden etkileşim flow’u yok
non_subscription_purchaseBir kullanıcı tek seferlik satın alma yaptığında.Aktif — yeniden etkileşim flow’u yok
subscription_renewal_cancelledBir kullanıcı otomatik yenilemeyi kapattığında (süre dolana kadar hâlâ aktif).Yenileme iptal edildi
billing_issue_detectedYenileme ödemesi başarısız olduğunda.Ödeme sorunu
entered_grace_periodÖdeme başarısız olsa da kullanıcı hâlâ ek süre içindeyken.Ödeme sorunu
subscription_expiredAbonelik sona erip erişim bittiğinde.Süresi doldu
subscription_refundedBir abonelik satın alımı iade edildiğinde.İade edildi
non_subscription_purchase_refundedTek seferlik satın alma iade edildiğinde.İade edildi