Şablon gönderme akışı
Panelde (/mytemplates) hazırladığınız şablonu Developer API ile tek istekte belgeye çevirip gönderebilirsiniz. PDF yükleme ve configuration adımları gerekmez; alanlar ve alıcı iskeleti şablondan kopyalanır.
Tüm path’ler base /api/v1 üzerinedir. Auth: API anahtarı. PDF’den sıfır belge (önerilen tek istek): Tek istekte belge gönderme. Adım adım: Belge gönderme akışı.
Adımlar
1. Şablon listesi
Workspace’teki hazır şablonları listeleyin. items[].operationId değeri şablon kimliğidir (templateOperationId).
GET /developer/templates
(scope: documents:read)
2. Şablon detayı (önerilen)
Göndermeden önce kaç alıcı gerektiğini, role / order, vekil bilgisi ve recipientExternalId (GUID) değerlerini öğrenin.
GET /developer/templates/{templateOperationId}
(scope: documents:read) — recipients[] içinde recipientExternalId (GUID), order, role döner.
3. Şablondan gönder
Şablondan tek istekte yeni belge üretir ve gönderimi başlatır. PDF yükleme ve configuration adımları gerekmez.
POST /developer/documents/from-template/{templateOperationId}/send
(scope: documents:create)
4. Durum
Yanıttaki operationId ile üretilen belgenin durumunu izleyin.
GET /developer/documents/{operationId}
(scope: documents:read)
Token workspace’i şablonun workspace’i ile aynı olmalıdır.
Alıcı eşleme
recipientExternalId: "r1" çalışmaz (configuration örneğidir). Şablon alıcı eşlemesi:
1. GUID ile eşleme
recipientExternalId değerini şablon alıcısının GUID değeri olarak gönderin (DocumentRecipient.Id / panel externalId). Configuration örneklerindeki r1 gibi kısa string çalışmaz.
2. Sıra ve rol ile eşleme
GUID göndermiyorsanız order ve role değerlerini şablondakiyle birlikte aynı tutun.
deliveryPlans sayısı şablon alıcı sayısına eşitse sıra ile eşlenir (GUID zorunlu değil).
Detay yanıtındaki recipients[] alanlarını (recipientExternalId, order, role) from-template body’de doldurun.
Örnek istek
Tek alıcılı şablon (privateNote, uyruk, vekil, OTP dahil):
{
"isOrderedFlow": true,
"privateNote": "ERP sipariş #4521 — iç not",
"recipients": [
{
"order": 1,
"role": "Signee",
"fullName": "Ayşe Yılmaz",
"email": "[email protected]",
"phone": "+905551112233",
"recipientProfile": {
"firstName": "Ayşe",
"lastName": "Yılmaz",
"principalEmail": "[email protected]",
"principalPhone": "+905551112233",
"personCategory": "TurkishCitizen",
"identityDocumentKind": "TcKimlik",
"tcKimlikNo": "12345678901",
"useRepresentativeForDelivery": true,
"representative": {
"personCategory": "TurkishCitizen",
"identityDocumentKind": "TcKimlik",
"tcKimlikNo": "10987654321",
"firstName": "Mehmet",
"lastName": "Demir",
"email": "[email protected]",
"phone": "+905559998877"
},
"verification": {
"phoneOtpVerification": true
}
}
}
],
"deliveryPlans": [
{ "channels": ["email", "sms"] }
]
}
personCategory: TurkishCitizen | Foreign | Stateless. Vekil yoksa useRepresentativeForDelivery ve representative alanlarını göndermeyin.
İki alıcılı şablon: recipients ve deliveryPlans içinde şablondaki kadar kayıt gönderin (order: 1, order: 2 …).
Gönderim sonrası
Yanıt data:
| Alan | Tip | Açıklama |
|---|---|---|
operationId | guid | Üretilen yeni belge operasyon kimliği |
enqueuedJobCount | number | Kuyruğa alınan gönderim işi |
initialRecipientAccessCode | string | İlk alıcı erişim kodu (open_on_device) |
openOnThisDeviceForActiveRecipient | boolean | Bu cihazda aç yönlendirmesi |
Şablon kimliği path’tedir; yanıt operationId üretilen belgenindir.
İmza linki:
{appBase}/r/{code}
Durum polling: Durum takibi. İmza türleri ve public link: İmzalama akışı.
Alan tabloları ve tam şema: Geliştirici belgeleri — Şablondan gönder.
Hızlı deneme: Playground.