eSign.AIeSign.AI
Pusat Pengembang

Tambah Penandatangan

POST/esignglobal/v1/envelope/recipients/addSigners

Deskripsi Antarmuka

Menambahkan penandatangan ke amplop; penandatangan merupakan tugas penandatangan. Termasuk menambahkan kontrol, metode autentikasi identitas, dan informasi lainnya untuk penandatangan.

Perhatian:

  • Amplop yang dimulai secara bertahap perlu diakhiri secara manual.
  • Sebelum proses amplop selesai, penandatangan dapat ditambahkan kapan saja.
  • Saat menambahkan penandatangan baru,hanya dapat ditambahkan di akhir alur saat ini, tidak boleh disisipkan di depan orang yang sedang menandatangani atau sudah menyelesaikan penandatangan.
  • Dalam urutan penandatanganan yang sama, satu penandatangan (didahulukan berdasarkan email, jika tidak ada email maka berdasarkan nomor telepon) tidak boleh ditambahkan berulang kali. Jika perlu mengubah informasi, hapus terlebih dahulu lalu tambahkan kembali.
  • Satu amplop hanya boleh memiliki maksimal 10 penandatangan.

 

Parameter Permintaan

Nama Parameter

Tipe

Wajib Diisi

Keterangan

envelopeId

string

true

ID Amplop

signerInfos

array

true

Kumpulan informasi penandatangan

 

businessId

string

false

Nomor bisnis kustom pengembang, panjang 500

 

roleTypes

array

false

Metode operasi penandatangan, nilai default adalah ["sign", "fill"]

fill-isian

sign-tanda tangan

 deliveryMethods

string

false

Metode notifikasi, default auto
auto- Kirim notifikasi email saat userEmail dimasukkan, kirim notifikasi SMS saat phoneNumber dimasukkan
none- Tidak mengirim notifikasi pesan
email- Kirim notifikasi email
sms- Kirim notifikasi SMS
WhatsApp- Kirim notifikasi WhatsApp

 

userEmail

string

false

Alamat email penandatangan

 minimumReadingDurationintfalseAtur waktu hitung mundur wajib membaca halaman, nilai default 0 (satuan: detik, maksimum 999)
0 atau tidak memasukkan berarti tidak diaktifkan, tidak perlu hitung mundur membaca
 readToEndRequiredbooleanfalseMenunjukkan apakah harus dibaca sampai akhir. Default false;
true menunjukkan aktif, false atau tidak mengirim menunjukkan tidak aktif.

 

documentVisibility

object

false

Konfigurasi visibilitas file, default semua terlihat.

 

 

documentViewType

string

false

Strategi visibilitas, default all; all berarti dapat melihat semua dokumen penandatanganan dalam amplop, limited berarti hanya dapat melihat dokumen penandatanganan sendiri dan dokumen tambahan yang terlihat.

 

 

viewableFileKeys

array

false

Daftar fileKey tambahan yang diizinkan untuk dilihat oleh pihak penandatangan; hanya boleh dikirim dan berlaku saat documentViewType=limited.

 

phoneNumber

object

false

Wajib diisi jika perlu notifikasi SMS, countryCode dan number harus dimasukkan sebagai parameter input, default kosong

 

 

countryCode

string

false

Kode internasional negara/wilayah, tidak perlu memasukkan "+"

 

 

number

string

false

Tidak ada validasi format, panjang maksimal 13 karakter

 

customizeSettings

object

false

Konfigurasi kustom

 

 

notificationSettings

object

false

Konfigurasi kustom untuk notifikasi

 

 

 

customizeMessage

string

false

Notifikasi pesan khusus, batas karakter 200

  

 

notificationLanguage

string

false

Bahasa notifikasi, default menggunakan konfigurasi "bahasa notifikasi default"

en-US Bahasa Inggris

zh-CN Bahasa Mandarin Sederhana

zh-Hant Bahasa Mandarin Tradisional

ja-JP Bahasa Jepang

es-MX bahasa Spanyol

pt-PT bahasa Portugis
th-TH bahasa Thailand
id-ID bahasa Indonesia
vi-VN bahasa Vietnam
ms-MY bahasa Melayu
fil-PH bahasa Filipina
de-DE bahasa Jerman
fr-FR bahasa Prancis
ru-RU bahasa Rusia
it-IT bahasa Italia
ko-KR bahasa Korea

 

userName

string

true

Nama penandatangan, digunakan untuk menampilkan nama penandatangan di halaman dan alur penandatanganan.

[Perhatian] Tidak boleh mengandung 9 karakter khusus berikut: / \ : * " < > | ? serta semua emoji

 

signOrder

int

true

Urutan penandatanganan penandatangan, nilai minimum adalah 1. Untuk penandatanganan tanpa urutan, dapat ditentukan nilai urutan yang sama.

 

signTaskSuspend

boolean

false

Apakah akan menetapkan node penghalang alur kerja sebelum posisi penandatanganan ini, default false. true-menetapkan node penghalang; false-tidak menetapkan node penghalang. Konfigurasi penghalang dalam grup atau-tanda tangan dengan signOrder yang sama harus konsisten.

 

suspensionKey

string

false

Identifikasi node penghalang, maksimal 500 karakter, unik dalam satu amplop. Wajib diisi ketika signTaskSuspend=true; tidak boleh diisi ketika signTaskSuspend=false atau tidak dikirim.

 

suspendReason

string

false

Alasan penghalang, tidak boleh kosong saat dikirim, maksimal 50 karakter. Hanya dapat dikirim ketika signTaskSuspend=true; jika tidak dikirim, secara default menunjukkan perlu menunggu pemrosesan oleh sistem eksternal. Tidak boleh dikirim ketika signTaskSuspend=false atau tidak dikirim.

 

anySigner

boolean

false

Apakah mendukung penandatanganan oleh siapa saja, default false

true-hanya perlu satu orang dari signOrder yang sama untuk menandatangani

false-semua orang dalam signOrder yang sama harus menandatangani

 

authModes

string

false

Metode verifikasi identitas, default noAuth

Tipe enumerasi:

noAuth-tidak memverifikasi

accessCode-memverifikasi menggunakan kata sandi penandatanganan

sms-verifikasi SMS OTP

idVerification-verifikasi dokumen identitas

emailAuth-verifikasi email OTP

digitalId-verifikasi identitas elektronik

whatsappAuth-verifikasi WhatsApp OTP

 

authConfig

object

false

Pengaturan metode verifikasi

 

 

accessCode

object

false

Pengaturan kata sandi penandatanganan, wajib diisi ketika authModes=accessCode

 

 

 

accessCode

string

false

Konten kata sandi, tidak membedakan huruf besar dan kecil, dapat mengandung huruf dan angka, panjang maksimal 45 karakter

   

promptInfo

string

false

Pesan panduan kata sandi akses, tidak boleh mengandung kata sandi akses, panjang maksimal 30 karakter, wajib diisi ketika authModes=accessCode

 

 

sms

object

false

Verifikasi OTP SMS, wajib diisi ketika authModes=sms

 

 

 

countryCode

string

false

Kode internasional negara/wilayah, tanpa tanda “+”

 

 

 

number

string

false

Tidak ada validasi format, panjang maksimal 13 digit

 

 

idVerification

object

false

Pengaturan verifikasi dokumen identitas, wajib diisi ketika authModes=idVerification

 

 

 

name

string

false

Nama lengkap sesuai dokumen identitas penandatangan, panjang maksimal 100 karakter

  

emailAuth

object

false

Validasi OTP email, wajib diisi ketika authModes=emailAuth

  

 

authEmail

string

false

Alamat email verifikasi identitas penandatangan

 

 

digitalId

array

false

Verifikasi identitas elektronik, wajib diisi ketika authModes=digitalId

 

 

 

authApp

string

false

Aplikasi yang digunakan untuk verifikasi identitas elektronik

singpass-Gunakan Singpass untuk autentikasi identitas

iamsmart-Gunakan MyInfo untuk autentikasi identitas

 

 

 

idNumber

string

false

Nomor dokumen identitas penandatangan yang perlu diverifikasi

Ketika authApp=singpassaturan inputnya adalah: huruf kapital + 7 atau 8 digit angka + huruf kapital

Ketika authApp=iamsmartaturan inputnya adalah:

1. Satu huruf kapital (A-Z), atau dua huruf kapital (AA-ZZ), sebagai awal urutan;

2. Diikuti oleh 6 digit angka;

3. Terakhir adalah kode pemeriksaan, bisa berupa angka (0-9) atau huruf (A-Z). Contoh: A888888(A)

 

 

whatsappAuth

object

false

Verifikasi OTP WhatsApp, wajib diisi ketika authModes=whatsappAuth

 

 

 

countryCode

string

false

Kode internasional negara/wilayah, tidak perlu memasukkan tanda “+”

 

 

 

number

string

false

Tidak melakukan validasi format, hanya membatasi panjang maksimal 13 digit

 

digitalSignature

boolean

false

Apakah tanda tangan digital diaktifkan, default false

true- Diaktifkan

false- Tidak diaktifkan

 

tsp

string

false

Pilih TSP yang digunakan oleh penandatangan, default false.

Jika tidak diatur, penandatangan dapat memilih TSP yang diperlukan secara mandiri. Enumerasi termasuk:

vinotek、eSignPersonal、localCertificates、iAmSmart、vnptSmartCa、adacomOneShot、audkenni

belgianIdCard、certEuropeUsbToken、certSignWebSign、chaveMovel、croatianIdCard、czechIdCard、dTrustSignMe、diia

estonianIdCard、estonianMobileId、evrotrust、finnishIdCard、frejaEid、frejaEidSign、gseGestionDeSeguridadElectronica、halcom

harica、idAustriaATrustSignatur、infoCert、ltId、latvianIdCard、latvianEParakstsMobile、lithuanianIdCard、lithuanianMobileId

mscTrustGate、mitId、norwegianBankId、oneId、pscWorldWallet、spid、serproId、simplySign

smartId、swedenBankId、swissId、swisscom、transSped、trustAsia、zealidApp、certMe

certSignUsbToken、eCertChile、eMudhra、itsme、mojeId、emdha

 

freeFormSign

boolean

false

Apakah penandatangan bebas menggunakan stempel, nilai default false

Keterangan tambahan:

Ketika freeFormSign ditetapkan true, parameter lain di bawah sealInfos tidak perlu dikirimkan. Jika dikirimkan bersamaan, prioritas freeFormSign lebih tinggi daripada sealInfos, dan parameter di bawah sealInfos tidak akan berlaku.

[Perhatian] Tanda tangan bebas berarti tidak membatasi jumlah dan posisi stempel/tanda tangan yang dapat ditarik oleh penandatangan.

 

sealInfos

array

false

Informasi tugas penandatanganan

 

 

fileKey

string

true

fileKey dokumen yang ditandatangani

 

 

signConfigs

array

false

Informasi posisi kontrol, informasi posisi kontrol harus ditentukan agar penandatanganan elektronik dapat dilakukan.

 

 

 

fieldType

 

string

false

Jenis kontrol, parameter input dapat berupa:

signature- Kontrol tanda tangan

stamp-Kontrol stempel

approval-Kontrol persetujuan

Secara default adalah signature

   

required

boolean

false

Apakah wajib diisi, secara default wajib diisi

true-Wajib diisi

false-Tidak wajib diisi

   

signFieldStyle

string

false

Metode penempatan stempel pada kontrol tanda tangan, secara default adalah normalSeal.

normalSeal-Stempel biasa

pagingSeal-Stempel sambungan halaman

Hanya kontrol tanda tangan dan kontrol stempel yang mendukung pengaturan stempel sambungan halaman.

   

pagingSealMode

string

false

Rentang halaman untuk penempatan stempel sambungan halaman, secara default adalah all.

all-Semua nomor halaman

assignedPages-Nomor halaman tertentu

even-Halaman genap

odd-Halaman ganjil

Hanya didukung untuk ditentukan ketika signFieldStyle=pagingSeal.

   

sizeRule

string

false

Tampilan ukuran area penandatanganan

originalSize- Tempelkan stempel sesuai dengan ukuran asli tanda tangan/stempel

targetSize- Sesuaikan lebar dan tinggi area tanda tangan/stempel secara kustom

Ketika sizeRule, height, dan width semuanya kosong, tempelkan stempel sesuai dengan ukuran asli tanda tangan/stempel;

Ketika sizeRule kosong dan height serta width tidak kosong, tempelkan stempel sesuai dengan ukuran yang ditentukan;

Ketika sizeRule tidak kosong, tempelkan stempel sesuai dengan tampilan yang ditentukan;

Stempel sambungan (paging seal) tidak memerlukan parameter ini, hanya menempelkan stempel sesuai dengan ukuran asli.

 

 

 

height

 

int

false

Tinggi kontrol penandatanganan, berlaku untuk fieldType signature/stamp, dalam satuan px, hanya mendukung bilangan bulat positif, default auto (yaitu ukuran otomatis sistem);

Ketika fieldType=signature, rentang pengaturan adalah 20-250px;

Ketika fieldType=stamp, rentang pengaturan adalah 30-280px;

Stempel sambungan (paging seal) tidak memerlukan parameter ini.

 

 

 

width

int

false

Lebar kontrol penandatanganan, berlaku untuk fieldType signature/stamp, dalam satuan px, hanya mendukung bilangan bulat positif, default auto (yaitu ukuran otomatis sistem);

Ketika fieldType=signature, rentang pengaturan adalah 20-250px;

Ketika fieldType=stamp, rentang pengaturan adalah 30-280px;

Cap tumpang tindih tidak memerlukan parameter ini.

 

 

 

signatureOptions

 

string

false

Opsi kontrol tanda tangan. Hanya berlaku untuk fieldType signature.

Parameter yang dapat dimasukkan:

template

handDrawn

upload

aiHandDrawn

Dapat memilih beberapa, dipisahkan dengan ",", default semua dipilih

 

 

 

movable

boolean

false

Memungkinkan pemindahan posisi saat penandatanganan, default false

false-Penandatangan tidak diizinkan menyesuaikan posisi kontrol tanda tangannya sendiri

true-Penandatangan diizinkan menyesuaikan posisi kontrol tanda tangannya sendiri

   

allowedOptions

array

false

Opsi yang memungkinkan penandatangan menyetujui, berlaku untuk fieldType approval. Defaultnya adalah ["approve", "decline"]

approve-Setuju

decline-Tolak

 

 

 

pageNo

 

string

false

Nomor halaman penandatanganan; halaman berurutan dihubungkan dengan "-", halaman terpisah dihubungkan dengan ",", contoh: 1-3, 6-10

Masukkan rentang halaman tempat cap tumpang tindih ditempatkan saat pagingSealMode=assignedPages. Cap tumpang tindih hanya dapat digunakan pada file dengan lebih dari 1 halaman.

 

 

 

posX

 

string

false

Koordinat sumbu X

Catatan tambahan:

Jika fieldType adalah signature, maka posisi koordinat merujuk ke area tanda tangansudut kiri bawah

Jika fieldType adalah stamp, maka posisi koordinat merujuk pada area captitik tengahposisi

Mulai dari 3 Februari 2026, jika fieldType adalah signature atau stamp, posisi koordinatnya merujuk pada titik tengah area cap.

Cap sambungan dapat dikirim dengan nilai 0, tidak boleh null; kontrol tetap di tepi kanan dokumen.

 

 

 

posY

 

string

false

Koordinat sumbu Y

Catatan tambahan:

Jika fieldType adalah signature, maka posisi koordinat merujuk pada area tanda tangansudut kiri bawah

Jika fieldType adalah stamp, maka posisi koordinat merujuk pada area captitik tengahposisi

Mulai dari 3 Februari 2026, jika fieldType adalah signature atau stamp, posisi koordinatnya merujuk pada titik tengah area cap.

 

 

fillConfigs

array

false

Isi informasi kontrol

 

 

 

fieldName

string

false

Nama kontrol, batas karakter 128

 

 

 

required

boolean

false

Apakah wajib diisi, default wajib diisi

true-wajib diisi

false-tidak wajib diisi

 

 

 

fieldType

string

false

Jenis kontrol:

1-teks satu baris

15-kotak centang

 

 

 

textField

object

false

Atribut kontrol teks

 

 

 

 

overflowType

int

false

Hanya berlaku untuk text, default 1

1-secara otomatis mengecilkan ukuran font

2-membatasi input

 

 

 

 

minFontSize

float

false

Hanya berlaku untuk text, hanya berlaku saat overflowType=1, default 8.

5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 10.5, 11, 12, 14, 15, 16, 18, 20, 22, 24, 26, 28, 36, 42, 48, 56, 72

 

 

 

 

width

int

false

Lebar kontrol, default 160px

 

 

 

 

font

int

false

Hanya berlaku untuk text, font, default SimSun.

1-SimSun

2-Songti Baru

4-Heiti

5-Kaiti

6-Arial

7-Helvetica

9-Times New Roman

10-Fangsong

11-Georgia

12-Monospace

 

 

 

 

fontSize

float

false

Hanya berlaku untuk teks, ukuran font, default 12

5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 10.5, 11, 12, 14, 15, 16, 18, 20, 22, 24, 26, 28, 36, 42, 48, 56, 72

 

 

 

 

textColor

string

false

Hanya berlaku untuk teks, warna heksadesimal, default hitam #000

 

 

 

 

bold

boolean

false

Hanya berlaku untuk teks, apakah font tebal, default false

true-tebal

false-tidak tebal

 

 

 

 

italic

boolean

false

Hanya berlaku untuk teks, apakah miring, default false

true-miring

false-tidak miring

 

 

 

 

underline

boolean

false

Hanya berlaku untuk teks, apakah font digarisbawahi, default false

true-garisbawahi

false-tidak digarisbawahi

 

 

 

 

lineThrough

boolean

false

Hanya berlaku untuk text, apakah menambahkan garis coret, default false

true-menambahkan garis coret

false-tidak menambahkan garis coret

 

 

 

 

horizontalAlignment

string

false

Hanya berlaku untuk text, format rata tengah horizontal, default left

LEFT-rata kiri

CENTER-rata tengah

RIGHT-rata kanan

 

 

 

tickBoxField

object

false

Atribut kotak centang

 

 

 

 

tickOptions

array

false

Hanya berlaku untuk Check, default 1

1-centang

2-silang

 

 

 

posX

float

false

Koordinat X posisi kontrol

 

 

 

posY

float

false

Koordinat Y posisi kontrol

 

 

 

pageNo

string

false

Nomor halaman tempat kontrol berada

 

 

signDateConfigs

array

false

Informasi posisi tanggal penandatanganan

 

 

 

movable

boolean

false

Memungkinkan perpindahan posisi saat ditandatangani, default false

false- Penandatangan tidak diizinkan menyesuaikan posisi kontrol penandatangan mereka sendiri

true- Penandatangan diizinkan menyesuaikan posisi kontrol penandatangan mereka sendiri

 

 

 

pageNo

string

false

Nomor halaman penandatanganan; halaman berurutan dihubungkan dengan "-", halaman terpisah dihubungkan dengan ",", contoh: 1-3, 6-10

Jika tidak berurutan, gunakan "," sebagai pemisah

 

 

 

posX

float

false

Offset sumbu-x, titik asal koordinat adalah sudut kiri bawah halaman

 

 

 

posY

float

false

Offset sumbu-y, titik asal koordinat adalah sudut kiri bawah halaman

 

 

 

signDateFormat

string

false

Format tanggal penandatanganan, format default adalah yyyy-MM-dd

Mendukung format yang ditentukan:

Tahun yyyy Bulan MM Hari dd

yyyy-MM-dd

yyyy/MM/dd

dd.MM.yyyy

MM dd yyyy

dd MM yyyy

Contoh permintaan

{
    "envelopeId": "{{envelope-id}}",
    "signerInfos": [
        {
    	   "userEmail": "sender_user@esignglobal.com",
    	   "userName": "sender_user_name",
    	   "signOrder": 1,
    	   "signTaskSuspend": true,
    	   "suspensionKey": "approval-node-001",
    	   "suspendReason": "等待外部审批",
    	   "authModes": "sms",
           "authConfig": {
                "sms": {
                    "countryCode": "86",
                    "number": "158****9242"
                }
            },
            "sealInfos": [
                {
                    "fileKey": "4150a67c-d4f0-45e6-88e9-541ce6d0c73c",
                    "signConfigs": [
                        {
                           "fieldType": "stamp",
                            "pageNo": "1",
                            "posX": 100.22,
                            "posY": 100
                        }
                    ],
                    "fillConfigs": [
                        {
                            "fieldId": "df0dd777bcc4d108de242d",
                            "fieldKey": "demo",
                            "pageNo": "1",
                            "posX": "88.70021",
                            "posY": 745.409,
                            "fieldType": "1",
                            "required": true,
                            "textField": {
                                "overflowType": "1",
                                "minFontSize": 8,
                                "font": "6",
                                "fontSize": "12",
                                "textColor": "#54ACD2",
                                "bold": false,
                                "italic": true,
                                "lineThrough": false,
                                "horizontalAlignment": "RIGHT"
                            }
                        },
                        {
                            "fieldId": "96e6c7d414f04e98938ea84013b",
                            "fieldKey": "红色加深斜体下划线删除线",
                            "pageNo": "1",
                            "posX": 94.516624,
                            "posY": 284.54953,
                            "fieldType": "1",
                            "required": false,
                            "textField": {
                                "overflowType": "1",
                                "minFontSize": 10.5,
                                "font": "1",
                                "fontSize": 12.0,
                                "textColor": "#E25041",
                                "bold": true,
                                "italic": true,
                                "lineThrough": true,
                                "horizontalAlignment": "LEFT"
                            }
                        },
                        {
                            "fieldId": "888b899853544c49bd819d9f6d1",
                            "fieldKey": "必填勾选控件选中样式不显示边框",
                            "pageNo": "3",
                            "posX": 451.77127,
                            "posY": 429.07626,
                            "fieldType": "15",
                            "required": true,
                            "tickBoxField": {
                                "tickOptions": [1,2],
                                "showBorder": false
                            }
                        }
                    ],
                    "signDateConfigs":[
                          "pageNo":"1",
                          "posX": 100.22,
                          "posY": 100,
                          "signDateFormat": "dd MMM yyyy"
                    ]
                }
            ]
        }
    ]
}

 

Parameter respons

Nama parameter

Tipe

Keterangan

envelopeId

string

ID Amplop

signFiles

array

Kumpulan Dokumen Penandatanganan

 

fileKey 

string

fileKey dokumen penandatanganan

attachments

array

Kumpulan Lampiran Amplop

 

fileKey 

string

fileKey dokumen

signerInfos

array

Kumpulan Informasi Penandatangan

 

recipientId

string

ID Peserta

 

businessId

string

Nomor bisnis kustom pengembang, panjang 500

 

userEmail

string

Alamat email penandatangan

 

userName

string

Nama penandatangan

 

signOrder

int

Urutan node penandatangan, minimum 1

 

 

accessCode

string

Kata sandi akses halaman penandatanganan

Contoh respons

{
    "code": "0",
    "data": {
        "signerInfos": [
            {
                "organizationName": "Esign Global CO.",
                "userLastName": "",
                "accessCode": "",
                "userEmail": "sender_user@tsign.cn",
                "userFirstName": "",
                "signOrder": "1"
            }
        ],
        "signFiles": [
            {
                "fileKey": "4150a67c-d4f0-45e6-88e9-541ce6d0c73c"
            }
        ],
        "attachments": [
        ],
        "envelopeId": "9fbe6c8190824227bde29136b0145c81"
    },
    "message": "success"
}