Developer Documents API

Base path: /api/v1/developer/documents

MethodPathScope
GET/developer/documents?page=&pageSize=documents:read
GET/developer/documents/{operationId}documents:read
POST/developer/documentsdocuments:create
POST/developer/documents/{operationId}/pdfdocuments:create
PUT/developer/documents/{operationId}/configurationdocuments:create
POST/developer/documents/{operationId}/senddocuments:create
DELETE/developer/documents/{operationId}documents:delete

Referans: alan (element) tipleri

Konfigürasyonda her alan elementType ile belirtilir. Büyük/küçük harf duyarsızdır; önerilen kanonik değerler:

elementTypeAnlamı
INPUT / input / textTek satır metin
TEXT_AREA / text_areaÇok satırlı metin
SELECT / selectAçılır liste
CHECKBOX / checkboxOnay kutusu
RADIO / radioRadyo seçenek
SIGNATURE / signatureKlasik çizim imza
BIOMETRIC_SIGNATURE / biometric_signatureBiyometrik imza
ELECTRONIC_SIGNATURE / electronic_signatureElektronik imza (masaüstü istemci)
IMAGE / imageResim yükleme
NOTE / noteBilgilendirme notu (salt görüntü)
IYS_CONSENT / iys_consentİYS onay kutusu
MONEY_CURRENCY / money_currencyPara / birim

Ek alanlar:

  • externalId — alan kimliği (benzersiz string)
  • pageNumber — konumlu alanlarda PDF sayfa numarası (≥ 1); ayrık bileşenlerde 0
  • recipientExternalId — alanın atanacağı alıcının externalId değeri
  • x, y, width, height — konumlu alanlarda sayfa üzerindeki konum (piksel); ayrıkta x/y anlamsızdır (0 yeterlidir), width/height final yerleşim için önerilir
  • config — isteğe bağlı props (required, label, placeholder, isDetached, seçenek listesi vb.)

Ayrık bileşenler (config.isDetached)

PDF üzerine konum vermeden imza, metin vb. istemek için kullanılır. Alıcı /r/{code} ekranında alanı PDF dışı doldurma adımlarında doldurur; nihai PDF’te değerler belgenin sonuna ek sayfada alt alta basılır.

Akış aynıdır: create → PDF yükle → configuration → send. Fark yalnızca configuration elements içeriğindedir.

KuralDeğer
config.isDetachedtrue
pageNumber0 (pages listesinde olmak zorunda değil)
x / y0 veya atlanabilir
width / heightönerilir (ör. imza 180×48)
pagesPDF sayfa meta bilgisi yine gönderilir (ör. [{ "pageNumber": 1, ... }])

Örnek — yalnızca ayrık imza (konum yok):

{
  "operationType": "document",
  "displayFileName": "sozlesme.pdf",
  "recipients": [
    {
      "externalId": "r1",
      "fullName": "Ayşe Yılmaz",
      "email": "[email protected]",
      "role": "Signee",
      "order": 1
    }
  ],
  "pages": [
    { "pageNumber": 1, "width": 595, "height": 842 }
  ],
  "elements": [
    {
      "externalId": "e-sig-detached",
      "pageNumber": 0,
      "recipientExternalId": "r1",
      "elementType": "SIGNATURE",
      "x": 0,
      "y": 0,
      "width": 180,
      "height": 48,
      "config": {
        "isDetached": true,
        "required": true,
        "label": "İmza"
      }
    }
  ]
}

Referans: gönderim kanalları (channels)

POST .../send içindeki deliveryPlans[].channels dizisinde kullanılır:

KodAnlamıGereksinim
emailE-posta ile imza linkiAlıcıda email dolu olmalı
smsSMS ile kısa linkAlıcıda phone dolu olmalı
kioskEşleşmiş kiosk cihazına gönderimkioskDeviceId (GUID) plan’da verilmeli
open_on_deviceBu cihazda aç (anında public ekran)Genelde ilk / aktif alıcı için

Kopya bildirim (copyNotificationChannels) yalnızca email ve sms kabul eder.


Referans: diğer sabitler

AlanGeçerli değerler
operationTypedocument (belge), template (şablon)
Alıcı roleÖrn. Signee (imzacı), Approver, Viewer
isOrderedFlowtrue = sıralı alıcılar; false = paralel

workspaceId create isteğinde token workspace’i ile aynı olmalıdır.


Create — POST /developer/documents

{
  "workspaceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "operationType": "document",
  "description": "Sözleşme — örnek"
}

PDF — POST /developer/documents/{operationId}/pdf

multipart/form-data; alan adı file (PDF).

Configuration — PUT /developer/documents/{operationId}/configuration

Gerçek model: düz recipients + pages + elements listeleri (pages içinde nested elements yok).

{
  "operationType": "document",
  "displayFileName": "sozlesme.pdf",
  "description": "İki taraflı imza akışı",
  "privateNote": "İç not",
  "useUniqueDeliveryKey": true,
  "showOtherRecipientsFields": false,
  "showOtherRecipientsFieldsAsRendered": false,
  "isOrderedFlow": true,
  "saveAsDraft": false,
  "recipients": [
    {
      "externalId": "r1",
      "fullName": "Ayşe Yılmaz",
      "email": "[email protected]",
      "phone": "+905551112233",
      "role": "Signee",
      "order": 1
    },
    {
      "externalId": "r2",
      "fullName": "Mehmet Demir",
      "email": "[email protected]",
      "phone": "+905559998877",
      "role": "Signee",
      "order": 2
    }
  ],
  "pages": [
    { "pageNumber": 1, "width": 595, "height": 842 }
  ],
  "elements": [
    {
      "externalId": "e-sig-1",
      "pageNumber": 1,
      "recipientExternalId": "r1",
      "elementType": "SIGNATURE",
      "x": 120,
      "y": 640,
      "width": 180,
      "height": 48,
      "config": { "required": true, "label": "İmza" }
    }
  ]
}

Send — POST /developer/documents/{operationId}/send

{
  "isOrderedFlow": true,
  "deliveryPlans": [
    {
      "recipientExternalId": "r1",
      "channels": ["email", "sms"]
    },
    {
      "recipientExternalId": "r2",
      "channels": ["email"]
    }
  ]
}

Kiosk örneği:

{
  "recipientExternalId": "r1",
  "channels": ["kiosk"],
  "kioskDeviceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Liste yanıtı (data)

  • items[]: operationId, displayFileName, status, publicShortCode, createdAtUtc
  • totalCount, page, pageSize

Detay yanıtı (data)

  • operationId, workspaceId, operationType, status, description, publicShortCode

Akış özeti: Belge gönderme. Deneme: Playground.

Developer Documents | Dokümantasyon | Argelabs Dijital İmza