Belgelere geç
PHP

Taslaklar

`drafts->list`, `listAll`, `iterate`, `get`, `create`, `update` ve `delete`.

Her yöntem

drafts.php
$page = $client->drafts->list(query: 'invoice', limit: 25);$draft = $client->drafts->get('draft-5f0c2a9e-8b1d-4e7a-a3c6-2d9f41b7e0c8');echo count($page), ' ', $draft['subject'], PHP_EOL; $created = $client->drafts->create([    'to' => ['[email protected]'],    'cc' => [],    'bcc' => [],    'subject' => 'Your September invoice',    'html' => '<p>Draft body.</p>',    'from' => '[email protected]',    'threadId' => 'CAHk7pQ2x9LmZ4-mail.example.com',]); $updated = $client->drafts->update($created['id'], ['subject' => 'Revised']);$client->drafts->delete($updated['id']);

update taslağın kimliğini korur; bu yüzden yanıt verdiği değer her zaman geçirdiğiniz değerdir. Bilinmeyen bir kimlik yeni bir taslak değil, NotFoundException olarak fırlatılan bir 404 verir.

Bir taslağın alanları, API'deki adlarıyla tek bir dizinin anahtarlarıdır; bu yüzden bir taslağın yanıt verdiği konuşma dizisi threadId olarak verilir. Bir taslak camelCase anahtarlı bir dizi olarak döner; bu yüzden $draft['subject'] konuyu okur. Her yazma işlemi yalnızca object ve id ile yanıt verir; taslağın tamamını get ile okuyun.

list, threads->list gibi sayfalar. API'nin pageToken değeri nextCursor olarak döner ve cursor: olarak geri verilir; listAll ve iterate onu sizin için izler. iterate, taslakları birer birer veren bir Generator döndürür. limit: en fazla 100'e kadar istemedikçe bir sayfa 25 taslak içerir. query:, threads->list arama sözdizimini alır ve arama asla taslakların dışına çıkmaz. Bir satır yalnızca object ve id içerir; alıcılar, konu ve gövde için get çağırın.

Taslak listesi hasMore belirtmez; bu yüzden bir cursor döndüğünde hasMore her zaman true olur. Sunucu bir sayfa dolu olduğunda her seferinde bir cursor sunar; bu yüzden tesadüfen dolu olan son sayfanın ardından bir boş sayfa gelir.

Bir taslak DRAFT etiketli bir konuşma dizisi olarak saklanır; $client->threads->list(folder: 'draft') çağrısının aynı taslakları listelemesinin nedeni budur. threads->get sıradan bir konuşma dizisi kimliğini açsa da get, update ve delete ona 404 ile yanıt verir. delete bir taslağı kalıcı olarak kaldırır. Çöp Kutusu'na gitmez ve geri alınamaz.

Bir taslağı göndermek için kimliğini emails->send çağrısına draftId olarak geçirin. İçeriği taslak, zarfı gönderim sağlar. Bir taslak template ya da translate ile birlikte kullanılamaz.

send_draft.php
$client->emails->send([    'from' => '[email protected]',    'to' => '[email protected]',    'draftId' => 'draft-5f0c2a9e-8b1d-4e7a-a3c6-2d9f41b7e0c8',]);

Parametreler: drafts->create ve drafts->update

toarray
Alıcı adresleri, `emails->send` çağrısının kabul ettiği dizi biçimlerinde değil, dizelerden oluşan bir liste olarak verilir, çünkü bu uç nokta listeyi sürücünün istediği virgülle ayrılmış dizeye birleştirir. Bir dize, `Ada Lovelace <[email protected]>` örneğinde olduğu gibi bir görünen ad taşıyabilir; ancak virgül içeren bir ad iki bozuk alıcıya bölünür. `emails->send` çağrısından farklı olarak istemci burada tek bir dizeyi bir liste içine sarmaz; bu yüzden `['[email protected]']` geçirin. Oluşturmada belirtilmeyen bir liste boş olarak kaydedilir. Güncellemede belirtilmeyen bir alan saklanan alıcılara dokunmaz, çünkü işleyici önce taslağı okur ve birleştirir.
ccarray
`to` ile aynı biçimde Cc adresleri. Belirtilmezse oluşturmada boş kalır, güncellemede ise değişmez.
bccarray
`to` ile aynı biçimde Bcc adresleri. Belirtilmezse oluşturmada boş kalır, güncellemede ise değişmez.
subjectstring
Taslağın konusu; en fazla 998 karakter (RFC 5322 satır sınırı). Oluşturmada varsayılanı boş bir dizedir ve boş bir konu `(no subject)` olarak saklanır; bu yüzden bir taslağın her zaman bir konusu vardır.
htmlstring
İşaretleme olarak taslak gövdesi; en fazla 1.000.000 karakter. Kazanan gövde budur. `html` ve `text` sürücünün tek ileti alanını besler; bu yüzden ikisini birden göndermek bunu saklar.
textstring
Düz metin bir gövde; en fazla 1.000.000 karakter, yalnızca `html` yoksa kullanılır. Taslak iki parça değil tek bir gövde saklar; bu yüzden burada verilen metin, taslak okunduğunda dönüştürülmeden `html` üzerinde geri gelir.
fromstring or null
Taslağa kaydedilecek gönderen adresi; görünen adla ya da adsız. Oluşturmada belirtilmezse taslağın göndereni olmaz. Güncellemede belirtilmezse saklanan taslaktan aktarılır. Sürücü iletinin tamamını kendisine verilenden yeniden oluşturur; bu yüzden bu alanı düşüren kısmi bir değişiklik seçilen göndereni sessizce değiştirirdi. Güncellemede boş bir dize ya da null onu temizler.
threadIdstring
Taslağı mevcut bir konuşma dizisine bağlar; böylece bir yanıt olarak kaydedilir. `from` gibi, güncellemede belirtilmezse aktarılır, çünkü iletiyi onsuz yeniden oluşturmak yanıtı konuşma dizisinden koparırdı. Güncellemede boş bir dize bağlantıyı koparır. Taslak yine de kendi kimliğiyle ayrı bir konuşma dizisi olarak saklanır; bu yüzden yanıt verdiği konuşma dizisinin içinde değil, taslaklarla birlikte listelenir.

Bir alanı korumak için onu belirtmeyin. null geçirmek aynı şey değildir. İstemci null'u gönderir ve güncellemedeki from dışında her alan onu 422 invalid_parameter ile reddeder; o alanda null göndereni temizler. İsteğe bağlı değerlerden oluşan bir diziyi geçirmeden önce array_filter($fields, static fn(mixed $value): bool => $value !== null) içinden geçirin. Gövde de katıdır. Bu sekiz alanın dışındaki bir alan da aynı şekilde reddedilir ve ekler için bir alan yoktur.

Yanıt: bir taslak (drafts->get)

objectstring
Her zaman `draft`.
idstring
Taslağın kimliği: `draft-` ve ardından bir UUID. Yazma işlemleri taslağın tamamıyla değil, yalnızca `object` ve `id` ile yanıt verir; bu yüzden gönderdiğiniz kimliği yeniden kullanmak yerine kimliği sonuçtan okuyun.
toarray
Taslağın sakladığı hâliyle alıcı adresleri; çıplak, görünen ad atılmış olarak. Taslağın alıcısı yoksa null değil, boş bir liste.
ccarray
Saklandığı hâliyle Cc adresleri. Taslakta yoksa null değil, boş bir liste.
bccarray
Saklandığı hâliyle Bcc adresleri. Taslakta yoksa null değil, boş bir liste.
subjectstring
Saklanan konu, asla null değil. Konusuz kaydedilmiş bir taslakta posta kutusunun sakladığı yer tutucu olan `(no subject)` okunur; bu yüzden boş bir dize olup olmadığını denetlemek yerine bununla karşılaştırın.
htmlstring
Saklanan gövde; taslağın gövdesi yoksa boş bir dize. Yanıtta ayrı bir metin alanı yoktur; bu yüzden yalnızca `text` ile kaydedilmiş bir taslak burada döndürülür.
fromstring or null
Taslağın kaydedildiği adres; yalnızca çalışma alanı hâlâ o adresle gönderebiliyorsa bildirilir. Göndereni olmadan ya da o zamandan beri kaldırılmış bir adresle kaydedilmiş bir taslak için null.
threadIdstring or null
Taslağın yanıt verdiği konuşma dizisi; yeni bir yazışma başlatan bir taslak için null.
attachmentsarray
Her kayıt yalnızca `filename` ve `contentType` içerir, çünkü taslak ekleri içerik olmadan ad ve tür olarak saklanır. Bir `update` bu listeyi boşaltır.