// REST API

REST API belgeleri

Araç uç noktaları GET kullanır ve { "status": "success", "data": … } biçiminde JSON döndürür. Giriş yaptıktan sonra API Docs sayfasından aldığınız ?api_key= parametresiyle kimlik doğrulayın.

Uç noktalar

Temel URL: https://mailsmmo.com

GET/api/v1/services

Hizmetler — fiyat ve stok

?service= olmadan tüm listeyi döndürür. ?service= ile tek bir hizmetin fiyatını ve stokunu döndürür. API key gerekmez.

Kimlik doğrulama yok

  • service (isteğe bağlı) — Tüm liste için boş bırakın; bir kod tek bir hizmeti döndürür (facebook gibi yalın kodlar kabul edilir)

Başarılı

{ "status": "success", "data": { "services": [
    { "code": "otp_gmail_facebook", "name": "Facebook", "price": 5000, "stock": 42 }
  ] } }

GET/api/v1/me

Hesap bilgisi

Çağrıyı yapan API key'in ID'si, e-postası ve bakiyesi.

API key gerekli

Başarılı

{ "status": "success", "data": { "id": "b7e5...-uuid", "email": "demo@mailsmmo.com", "balance": 1000000, "created_at": "2026-01-15T08:30:00Z" } }

GET/api/v1/orders

Sipariş oluştur

İkisi için tek endpoint: Gmail OTP kodu (otp_gmail_*) bir OTP posta kutusu verir; stok ürün kodu (hotmail_*…) adede göre satın alır. Bakiyeden listelenen fiyat düşülür.

API key gerekli

  • service — OTP hizmet kodu (otp_gmail_*) veya stok ürün kodu (ör. hotmail_imap_12m_36m)
  • quantity (isteğe bağlı) — Yalnızca tek seferlik satılan e-postalar için — adet (varsayılan 1)
  • unique_key (isteğe bağlı) — Kendi ürettiğiniz UUID — yeniden göndermek iki kez oluşturmaz veya ücretlendirmez

Başarılı

{ "status": "success", "data": {
    "id": "b7e5a1c2-3d4e-4f60-8a91-2c3d4e5f6a7b", "email": "zurhansuzu@gmail.com",
    "service": "otp_gmail_facebook", "amount": 5000
  } }

GET/api/v1/orders/otp

Siparişe göre OTP al

Bir siparişin OTP'sini okur. API key gerekmez — sipariş kodu (order_id) erişim anahtarıdır.

Kimlik doğrulama yok

  • order_id — Sipariş kodu (sipariş oluşturulunca döndürülür)
  • unique_key (isteğe bağlı) — Her çağrı için kendi ürettiğiniz yeni bir UUID
  • from (isteğe bağlı) — Unix saniye — daha yeni bir kod yoksa otp/received_at atlanır

Başarılı

{ "status": "success", "data": {
    "otp": "481253", "amount": 5000, "received_at": 1732000000,
    "from": "security@facebookmail.com", "otp_history": [
      { "value": "481253", "received_at": 1732000000 }
    ] } }

GET/api/v1/otp/orders

OTP sipariş listesi

Kiralanan Gmail OTP siparişleri, sayfalı, her siparişin en son OTP'siyle.

API key gerekli

  • page (isteğe bağlı) — Sayfa (varsayılan 1)
  • page_size (isteğe bağlı) — Sayfa başına satır (varsayılan 20, en fazla 200)

Başarılı

{ "status": "success", "data": { "orders": [
    { "id": "b7e5a1c2-3d4e-4f60-8a91-2c3d4e5f6a7b", "email": "...", "service": "otp_gmail_facebook",
      "latest_otp": "481253", "latest_link": null }
  ], "page": 1, "page_size": 20, "total": 137 } }

GET/api/v1/mail

Tüm mesajları oku

Bir posta kutusundaki tüm mesajlar, ayıklanan OTP/bağlantıyla birlikte.

API key gerekli

  • order_id — Sipariş kodu

Başarılı

{ "status": "success", "data": { "count": 1, "messages": [
    { "id": 88, "from": "...", "subject": "...", "otp": "481253", "received_at": "..." }
  ] } }

yaygın hata kodları

{ "status": "error", "message": "out_of_stock", "retryable": true }
  • unauthorized — API key geçersiz veya eksik (HTTP 401)
  • invalid_request — Geçersiz istek parametreleri (HTTP 400)
  • not_found — Hizmet, sipariş veya endpoint bulunamadı (HTTP 404)
  • insufficient_balance — Yetersiz bakiye (HTTP 402)
  • out_of_stock — Stokta yok (HTTP 409) — Gmail OTP: retryable, birkaç saniye sonra tekrar deneyin; kesin satış e-posta: yeniden stok bekleyin
  • service_unavailable — Sunucu siparişi şu anda tamamlayamadı — aynı unique_key ile tekrar deneyin (HTTP 503, retryable)
  • in_progress — Sipariş sonuçlandırılıyor veya sağlayıcıda zaten mevcut olabilir — aynı unique_key ile tekrar deneyin (HTTP 409, retryable)
  • forbidden — Bu kaynak için yetki yok (HTTP 403)
  • idempotency_mismatch — unique_key farklı bir istek için kullanıldı — yeni bir unique_key kullanın (HTTP 422)
  • order_cancelled — Sipariş ücretlendirilmeden önce serbest bırakıldı, ücret alınmadı — tekrar deneyin (HTTP 409, retryable)
  • too_many_requests — Çok fazla istek — bekleyip tekrar deneyin (HTTP 429, retryable)
  • auth_unavailable — API key şu anda kontrol edilemedi, key sorunsuz — tekrar deneyin (HTTP 503, retryable)
  • shutting_down — Sunucu yeniden başlatılıyor — birkaç saniye sonra tekrar deneyin (HTTP 503, retryable)
  • payload_too_large — İstek gövdesi çok büyük (HTTP 413)
  • internal_server_error — Sunucu hatası, lütfen daha sonra tekrar deneyin (HTTP 500)

Yapay zekâ ve araçlar için belgeler

Markdown formatındaki belgelerin tamamı https://mailsmmo.com/llms.txt adresindedir — entegrasyon kodu üretmek için Cursor, Claude veya ChatGPT'ye yapıştırın.

unique_key ile güvenli yeniden deneme

Her siparişle birlikte bir unique_key (kendi ürettiğiniz bir UUID) gönderin. Bağlantı koparsa aynı unique_key ile yeniden deneyin: aynı siparişi geri alırsınız; yeni sipariş oluşmaz, ikinci kez ücret alınmaz.

Hata formatı

Hata durumunda yanıt yalnızca status, message (snake_case bir hata kodu) ve yeniden denemeniz gerekip gerekmediğini belirten retryable alanlarını içerir.

MailSMMO ile başlayın

Ücretsiz kaydolun, cüzdanınıza bakiye yükleyin ve ilk mailinizi dakikalar içinde kiralayın.

Hesap oluştur →