MailLandDocs
Hesap

Çalışma Alanları

Farklı projeler veya müşteriler için birden fazla çalışma alanı oluşturun ve yönetin

Çalışma alanları (tenant'lar), e-posta operasyonlarınız için izole edilmiş ortamlardır. Her çalışma alanının kendi alan adları, aboneleri, API anahtarları ve faturalandırması vardır. Tek bir kullanıcı hesabı birden fazla çalışma alanına ait olabilir.

Bu sayfa /v1/account/tenants altındaki tenant API'sini kapsar: bu sayfadaki "çalışma alanı" bir tenanttır (faturalandırma/alan adı izolasyon sınırı). /v1/account/workspaces farklı, ayrı bir özelliktir: bir tenant içindeki kaynakları düzenlemek için kullanılan alt çalışma alanlarıdır ve bu sayfada belgelenmemiştir.

Alt çalışma alanları düzenler, tenant'lar ayırır

Bir alt çalışma alanı (/v1/account/workspaces) kaynakları yalnızca tek bir tenant içinde, mevcut rollerle düzenler. Faturalandırma, teslim edilebilirlik veya güvenlik sınırı değildir. Aşağıdakiler her zaman tenant'a aittir:

  • Faturalandırma: plan, abonelik ve faturalar
  • Bastırma (suppression) listesi
  • Gönderim limitleri ve kotalar
  • Gönderim IP'leri ve gönderici itibarı
  • API anahtarı güvenliği

Bağımsız bir işletme yürütüyorsanız veya ayrı bir müşteriye hizmet veriyorsanız, bunun için alt çalışma alanı değil, ayrı bir tenant oluşturun. Aksi halde o müşteri, tenant içindeki herkesle bastırma listesini, gönderim limitlerini ve itibarı paylaşır.

Doğrulama Seviyeleri

Her çalışma alanının gönderim yeteneklerini belirleyen bir doğrulama seviyesi vardır:

SeviyeDeğerAçıklama
Restricted-1Gönderim devre dışı (ihlal tespit edildi)
Sandbox0Yeni çalışma alanları için varsayılan: yalnızca çalışma alanının sandbox izin listesine gönderim yapılabilir
BasicVerified1E-posta, telefon ve 2FA hepsi doğrulandı, orta düzeyde sınırlar
SenderVerified2Alan adı kimlik doğrulaması veya doğrulanmış tek bir gönderen, standart sınırlar
BusinessVerified3İş doğrulama tamamlandı: tam sınırlar

Yeni çalışma alanları, gönderimin çalışma alanına özel bir izin listesiyle sınırlı olduğu Sandbox seviyesinde başlar. BasicVerified, yalnızca e-posta değil, e-posta, telefon ve iki faktörlü kimlik doğrulamanın birlikte olmasını gerektirir. SenderVerified, alan adı kimlik doğrulaması (SPF+DKIM+DMARC) veya doğrulanmış tek bir gönderen gerektirir: ikisinden biri, özellikle alan adı doğrulaması değil.

Çalışma Alanlarını Listeleme

Mevcut kullanıcının ait olduğu tüm çalışma alanlarını görüntülemek için:

GET https://api.mail.land/v1/account/tenants
List workspaces
curl https://api.mail.land/v1/account/tenants \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Çalışma alanları listesi yanıtı
[
  {
    "publicId": "k3m9x2p7qw4rtz",
    "name": "My Company",
    "role": "owner",
    "isActive": true,
    "status": "active"
  },
  {
    "publicId": "t2p9k4m7x1n6w3",
    "name": "Client Project",
    "role": "member",
    "isActive": true,
    "status": "active"
  }
]

Yanıt, { "tenants": [...] } değil, düz bir dizidir. Burada roleName, verificationLevel, verificationLevelName, isCurrent veya createdAt yoktur, isActive ve status, isCurrent'ın yerini alır ve doğrulama seviyesi ayrıca alınır (bkz. Faturalandırma). id, tenantın dahili sayısal tanımlayıcısıdır; publicId, API çağrılarında ve arayüzlerde kullanılması gereken değerdir (sayısal id alanı yalnızca mevcut API bunu döndürdüğü için burada gösterilmektedir: bunun etrafında istemci mantığı kurmayın, çünkü istemciye yönelik yanıtlardan kaldırılmaktadır).

Çalışma Alanı Oluşturma

POST https://api.mail.land/v1/account/tenants
Çalışma alanı oluşturma isteği
{
  "name": "New Project",
  "description": "Optional workspace description"
}
AlanTipZorunluAçıklama
namestringEvetÇalışma alanı adı, 1-255 karakter
descriptionstringHayırİsteğe bağlı açıklama, en fazla 500 karakter
Create a workspace
curl -X POST https://api.mail.land/v1/account/tenants \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "New Project" }'

Yanıt

Çalışma Alanını Değiştir yanıtıyla aynı şekilde 201 Created döner: yeni çalışma alanına özel yeni tokenlar, artı tenant altında iç içe geçmiş çalışma alanı kaydı:

Çalışma alanı yanıtı
{
  "accessToken": "eyJhbGciOiJIUzI1NiIs...",
  "refreshToken": "rt_new_token...",
  "expiresAt": "2026-02-17T13:00:00Z",
  "tenant": {
    "publicId": "u6w1m8k3p5x9n2",
    "name": "New Project",
    "role": "owner",
    "isActive": true,
    "status": "active"
  }
}

Oluşturan kullanıcıya otomatik olarak Owner rolü atanır. Bu yanıtta verificationLevel/verificationLevelName yoktur: doğrulama/politika durumu için Faturalandırma sayfasına bakın.

Çalışma Alanı Değiştirme

Sonraki API çağrılarında aktif çalışma alanını değiştirin:

POST https://api.mail.land/v1/account/tenants/switch
Çalışma alanı değiştirme isteği
{
  "tenantId": "t2p9k4m7x1n6w3",
  "refreshToken": "rt_a1b2c3d4e5..."
}

refreshToken isteğe bağlıdır: atlanırsa, bunun yerine refresh token çerezindeki değer kullanılır. tenantId, Çalışma Alanlarını Listele'den gelen çalışma alanının publicId değeridir.

Switch workspace
curl -X POST https://api.mail.land/v1/account/tenants/switch \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{ "tenantId": "t2p9k4m7x1n6w3" }'
Çalışma alanı değiştirme yanıtı
{
  "accessToken": "eyJhbGciOiJIUzI1NiIs...",
  "refreshToken": "rt_new_token...",
  "expiresAt": "2026-09-25T15:00:00Z",
  "tenant": {
    "publicId": "t2p9k4m7x1n6w3",
    "name": "Client Project",
    "role": "member",
    "isActive": true,
    "status": "active"
  }
}

Çalışma alanı değiştirmek, hedef çalışma alanına kapsamlandırılmış yeni token'lar verir. Tenant alanları, Çalışma alanlarını listele yanıtıyla aynı şekle sahiptir; tenantId/tenantName/role olarak düz değil, tenant altında iç içedir.

Çalışma Alanını Güncelleme

Mevcut çalışma alanı ayarlarını güncelleyin:

PUT https://api.mail.land/v1/account/tenants/current
Çalışma alanı güncelleme isteği
{
  "name": "Updated Project Name",
  "description": "Optional workspace description"
}

name 2-100 karakter uzunluğundadır; description isteğe bağlıdır, en fazla 500 karakter.

Update workspace
curl -X PUT https://api.mail.land/v1/account/tenants/current \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Updated Project Name" }'

Çalışma alanını yalnızca Owner ve Admin güncelleyebilir. Member, Viewer ve API anahtarları tipli bir 403 INSUFFICIENT_PERMISSIONS alır (eksik izin tenant.edit, details.permission içinde).

Yanıt

200 OK döner:

Çalışma alanı güncelleme yanıtı
{
  "publicId": "t2p9k4m7x1n6w3",
  "name": "Updated Project Name",
  "description": "Optional workspace description",
  "status": "Active",
  "createdAt": "2026-01-15T08:00:00Z"
}

Çalışma Alanı Bağlamı

Tüm API istekleri aktif çalışma alanına kapsamlandırılmıştır. Çalışma alanı, token'ın aktif çalışma alanı talebi tarafından belirlenir. Kaynaklar (alan adları, aboneler, kampanyalar, API anahtarları) çalışma alanları arasında izole edilmiştir.

API anahtarları kullanıldığında, her anahtar tek bir çalışma alanına kapsamlandırılmıştır. Çalışma alanı değiştirmeye gerek yoktur, anahtar otomatik olarak bağlamı belirler.

Hata Yanıtları

DurumKodAçıklama
400VALIDATION_FAILEDGeçersiz çalışma alanı adı
403FORBIDDENHedef çalışma alanının üyesi değil
403INSUFFICIENT_PERMISSIONSYalnızca güncellemede: çağıran Member, Viewer veya bir API anahtarı, hiçbiri tenant.edit iznine sahip değil
404TENANT_NOT_FOUNDÇalışma alanı bulunamadı (yalnızca güncellemede: bilinmeyen veya başka bir kiracıya ait çalışma alanına geçiş her zaman 403 FORBIDDEN döner, 404 değil)

Sonraki Adımlar

Bu sayfada