產品資訊

什麼是電子簽署 API?開發者必讀的整合指南

在現代軟體開發中,Open API(開放式應用程式介面) 已成為打造靈活、可擴展、可整合應用程式的基石。對於正在開發企業級專案的工程師來說,學會如何有效運用 Open API,特別是如點點簽這樣的電子簽署解決方案,不僅能強化應用程式的功能,也能大幅提升使用者體驗。

這份指南將帶你深入了解 點點簽API串接的技術要點,並聚焦在電子簽署 API 的整合方式,協助開發者快速上手、降低開發門檻。

目錄:
– 認識電子簽署 Open API
– 使用點點簽電子簽署 API 的 10 大好處
– 電子簽署 API 的最佳導入流程
– 為什麼點點簽 API 是開發者最佳的選擇?
– 點點簽 API 實際應用
– 點點簽:你的一站式電子簽署 API

認識電子簽署 Open API

電子簽署 API 可以讓你把簽署流程直接內建在既有的軟體或系統裡,而不用再把使用者導向到外部平台。像點點簽提供的 API,能無縫整合到企業系統中,並且附有公開技術文件、SDK 以及 Sandbox 測試環境,大幅降低開發門檻,是開發者值得信賴的解決方案。

透過 API 串接,你可以:

  • 自動化文件工作流程,節省時間
  • 減少人工操作造成的錯誤
  • 搭配稽核軌跡與多層安全驗證功能,確保簽署安全

多數現代的 RESTful API 都已經為開發者處理掉電子簽章技術中最複雜的部分,例如:法律合規、安全性、使用者驗證,因此,開發者可以專注在核心產品的開發。這樣一來,使用者就能直接在企業的應用程式裡完成合約、協議或表單的簽署,不需要在不同平台間來回跳轉,流程更快、體驗更順暢。

這種彈性也讓企業能快速客製化與擴展簽署流程,不只提升效率與客戶體驗,還能有效降低列印與紙本保存相關的成本。

使用點點簽電子簽署 API 的 10 大好處

對開發者來說,導入點點簽的電子簽署 API 不僅能減少跨部門依賴、節省除錯時間,還能讓你自由選擇熟悉的開發工具,並快速整合到現有的業務系統,例如:CRM(客戶關係管理)HRMS(人力資源管理系統)ERP(企業資源規劃系統) 以及 CLM(合約生命週期管理系統)

藉由 API 串接,開發者能迅速在應用程式中導入一個可靠、合法合規的電子簽署流程,最終大幅節省時間與成本。

電子簽署 API 的 10 大優勢

以下是使用電子簽署 API 的十大好處:

  1. 無縫的文件流程:直接把電子簽署整合進既有系統與流程,不必跳出平台。
  2. 合法合規:利用已建置完成且符合法規的電子簽署流程,免去自行開發與維護的負擔。
  3. 節省時間與成本:不需要從零打造簽署功能,省下複雜的開發與維運成本。
  4. 更友善的使用者體驗:使用者可以直接在應用程式內完成文件簽署,流程更順暢。
  5. 內建驗證與安全性:透過可信賴的服務供應商,確保電子簽署具備驗證、加密與法律效力
  6. 靈活的客製化需求:利用 Open API 彈性調整簽署功能,符合你的專屬工作流程需求。
  7. 可擴展性:採用一套完整且經過驗證的解決方案,能隨著您的文件簽署需求持續擴展。
  8. 低維護成本:簽署解決方案持續更新與優化,開發者幾乎不需額外維運。
  9. 專注產品核心:把開發資源專注在核心功能,而不是重複打造簽署模組。
  10. 開發者生態圈:Open API 能與第三方平台創新整合,擴展電子簽署的應用範圍。

電子簽署 API 的最佳導入流程

要成功串接電子簽署 API,企業在導入前、中、後期都需要做好導入規劃。以下提供一套最佳 API 導入流程,確保企業整個簽署體驗安全、合法又順暢!

API 導入前期

  • 選擇可信賴的供應商
    點點簽具備高可靠性與資安標準的電子簽署服務,確保長期穩定運作。
  • 檢查 API 文件
    供應商是否提供完整的 API 文件與教學,將影響開發速度與最終使用者體驗。
  • 確認應用場景
    先定義好電子簽署的使用情境,例如:
    • 透過簽署範本建立任務
    • 傳送文件給簽署者
    • 管理簽署流程:常見應用包含合約、服務協議、內部表單、報價單等等,先釐清範圍能確保導入更順暢。
  • 整合規劃:評估既有系統與工作流程,確認是否需要調整或優化。
  • 理解法律規範:熟悉本地的電子簽署法律,確保系統設計完全合法合規

API 導入中期

  • 強化身分驗證:導入多因素驗證(MFA)等安全驗證機制,確保簽署者身分正確。
  • 流程自動化:透過自動通知與文件流轉,減少人工處理與錯誤。
  • 安全傳輸與儲存:使用 TLS 協議保護傳輸中的資料,並採用 AES 加密標準來保障文件安全。
  • 錯誤處理與監控:建立監控機制,能快速發現並解決 API 連線或流程中的異常。

API 導入後

  • 使用者訓練:讓員工熟悉如何操作 API 簽署流程,包括身份驗證與常見問題處理,減少對工程師的依賴。
  • 稽核與合規監控:定期檢視活動紀錄與稽核軌跡,確保符合法律與內部政策。
  • 回饋與優化:蒐集使用者意見,持續優化操作體驗與流程設計。
  • 安全存取與追溯:確保已簽署的文件能安全保存,並能快速調閱,滿足法規與審計需求。

為什麼點點簽 API 是開發者最佳的選擇?

點點簽 API 的設計重點在於幫助開發者提升效率、快速串接,同時確保整個串接流程安全合規。以下是關鍵優勢:

開發效率

  • 對程式設計師友善的介面:只需幾行程式碼,就能嵌入具法律效力的電子簽署功能。
  • 免費 Sandbox 測試環境:快速試驗、迭代,降低錯誤成本。
  • 完整 API 文件:詳細的技術文檔,加速 API 串接與開發。

文件流程自動化

  • Webhook 即時通知:即時掌握文件簽署進度。
  • 批次發送與簽署範本:支援大量文件處理,減少重複工作。
  • 安全加密傳遞:確保文件傳輸過程中的完整性與安全性。


可擴展性與應用場景

  • 適用各種規模:從新創到跨國企業皆可使用。
  • 系統整合:可與 CRM (例如Salesforce)、ERP、HRM 等常見企業系統無縫串接。
  • 真實案例PwC Taiwan 法務雲透過點點簽 API 串接,將電子簽署功能整合進 ESG 合規及法務管理系統,讓企業能更有效率地完成契約與合規文件的簽署,同時強化合規性、安全性與審計追蹤。這不僅加速了內部流程,也協助企業降低紙本管理成本,符合永續發展的需求。

 安全與合規

  • 進階加密技術:TLS + AES,保障資料安全。
  • 多重身分驗證:如一次性驗證碼(OTP)、自然人憑證、工商憑證、MID 行動身分認證等機制,確保簽署人身分。
  • 稽核軌跡 + 數位憑證:完整記錄簽署過程,嚴防文件竄改,具備法律效力。
  • 國際標準合規:符合歐盟 GDPR 與 ISO/IEC 規範。

點點簽 API 實際應用

現在多數現代 Open API 都是依照 RESTful 原則設計,點點簽 DottedSign 的電子簽署 API 也一樣。它提供靈活直覺的介面,讓開發者能快速上手,透過標準的 HTTP 方法(GET、POST、PUT、DELETE)就能和各種資源互動,每個資源都有唯一的 URI 方便識別。  

API 採用 Stateless 設計,每個 request 都會包含必要資訊,並支援多種 Response 格式,其中最常用的就是 JSON。  

核心端點包含:建立簽署任務、管理範本,以及處理 Webhook,完全符合 RESTful 架構的規範。舉例來說,如果要建立簽署任務,只要對特定端點送出一個 POST request,並在 body 帶入完整的 JSON 資料即可。  

1. 建立並送出簽署任務  

可指定文件資訊、簽署者與訊息來建立新任務,來源可以是 base64 編碼檔案、範本或多個上傳檔案。若使用範本,會繼承檔案資訊,其餘參數需自行在 body 裡補上。  

json
{
  "file_name": "My Task",
  "template_id": 1,
  "stages": [
    {
      "email": "[email protected]",
      "name": "John",
      "field_settings": [
        {
          "field_type": "signature",
          "page": 0,
          "coord": [100.0, 200.0, 300.0, 250.0],
          "options": {
            "force": true,
            "placeholder": "Your Signature"
          }
        }
      ]
    }
  ]
}

  

2. 管理通知與簽署連結  

點點簽 API 會透過 Webhook 把任務建立或更新的狀態通知給任務建立者與簽署者,內容包含簽署連結或 PDF 檔。API 也提供簽署任務的即時狀態,例如簽署者資訊與進度(處理中、已簽署),以及任務狀態(草稿、待簽、完成、過期)。  

python
import requests

url = "https://api.dottedsign.com/v1/sign_tasks?task_id=396"

payload = {}
headers = {
  'User-Agent': 'user_agent',
  'Authorization': 'Bearer YOUR_ACCESS_TOKEN_HERE'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

  

3. 下載已完成的文件  

當所有簽署者完成簽署後,可以直接下載最終的 PDF 正本。  

python
import requests

url = "https://api.dottedsign.com/v1/sign_tasks/download"

headers = {"Accept": "application/json application/zip"}

response = requests.get(url, headers=headers)

print(response.text)

  

4. 管理範本  

建立可重複使用的簽署範本,包含預設欄位、簽署角色與權限。範本作為未來任務的原型,可設定驗證方式、欄位規則與簽署流程,大幅提升效率。  

python
import requests

url = "https://api.dottedsign.com/v1/templates"

payload = {
    "base64_file": "string",
    "file_mission_id": 0,
    "file_name": "string",
    "has_order": True,
    "watermark_id": 0,
    "stages": [
        {
            "role": "string",
            "email": "string",
            "stage_type": "sign",
            "attachment_settings": [
                {
                    "attachment_id": "string",
                    "file_name": "string",
                    "force": False,
                    "viewable_in_processing": False
                }
            ],
            "custom_message_setting": {
                "viewable_in_processing": True,
                "viewable_in_completed": True
            },
            "field_settings": [
                {
                    "field_type": "signature",
                    "field_group_object_id": "string",
                    "page": 0,
                    "coord": [100.1, 200.2, 300.3, 400.4],
                    "options": {
                        "default": "string",
                        "force": True,
                        "default_type": "seal",
                        "read_only": True,
                        "is_multi_line": True,
                        "placeholder": "string",
                        "font_size": 0,
                        "font_size_fixed": True,
                        "alignment": "left",
                        "alignment_fixed": True,
                        "length": 0,
                        "validation": "email",
                        "validation_regex": "string",
                        "date_format": "yyyy-mm-dd",
                        "date_setting": "current_only",
                        "zone": 0
                    },
                    "search_key": "string"
                }
            ],
            "field_setting_groups": [
                {
                    "field_group_type": "checkbox",
                    "field_group_object_id": "string",
                    "options": {
                        "force": False,
                        "read_only": False
                    }
                }
            ],
            "review_stages": [{ "base_stage_sequence": 0 }],
            "stage_setting": {
                "forward_enable": True,
                "decline_enable": True,
                "viewable_in_processing": True,
                "viewable_in_completed": True,
                "viewable_source_files": ["string"],
                "informable": False,
                "reviewed_skip_confirm": True
            },
            "verify_methods": [
                {
                    "verify_type": "email",
                    "verify_source": "string",
                    "occasion": "sign"
                }
            ]
        }
    ],
    "template_setting": {
        "deadline": 0,
        "forget_remind": True,
        "expire_remind": True,
        "remind_days_before_expire": 1,
        "cc_infos": [
            {
                "email": "string",
                "name": "string",
                "viewable_source_files": ["string"]
            }
        ],
        "message": "string",
        "completed_message": "string",
        "reference_settings": [
            {
                "file_name": "string",
                "reference_id": "string",
                "reference_type": "string"
            }
        ],
        "completed_reference_settings": [
            {
                "file_name": "string",
                "reference_id": "string",
                "reference_type": "string"
            }
        ],
        "receiver_lang": "en",
        "owner_informable": False
    }
}

headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

  

5. Webhook 即時通知  

透過 Webhook,系統能即時推送與簽署相關的事件,應用程式可以接收 HTTP POST payload,並與內部系統或第三方應用串接,確保流程自動化。  

json
{
  "resource_id": 999,
  "resource_type": "SignTask",
  "action_name": "completed",
  "event_datetime": "1704067200",
  "event_email": "[email protected]",
  "ip_address": "192.168.1.1",
  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36",
  "task": {
    "task_id": 999,
    "metadata": {
      "pipedrive_deal_id": 999
    },
    ...
  }
}

  

6. 內嵌簽署流程  

可將簽署流程直接嵌入到你的應用程式或網站,使用者不用跳轉頁面,就能直接檢視並完成簽署,體驗更加無縫。  

html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta
      http-equiv="Content-Security-Policy"
      content="script-src 'unsafe-inline' https://embed.dottedsign.com; frame-src https://embed.dottedsign.com;" 
    />
    <title>DottedSign Embedded Signing</title>
    <script src="https://embed.dottedsign.com/zh-tw/static/dottedsign-embedded-signing.min.js"></script>
  </head>
  <body>
    <div id="embed-container" style="width: 99%; height: 99vh;"></div>
    <script>
      document.addEventListener("DOMContentLoaded", function () {
        const embedContainer = document.getElementById("embed-container");

        // Setup access token (replace with your actual token)
        const accessToken = "YOUR_ACCESS_TOKEN_HERE";

        window.dottedSign.open(embedContainer, {
          token: accessToken,
          type: window.dottedSign.embedTypes.create,
          language: "en",
        });

        window.dottedSign.eventListener.onLoad = () => {
          window.dottedSign.setLanguage("zh-tw");
          window.dottedSign.hideElement(window.dottedSign.elementsId.createLabels);
        };

        window.dottedSign.eventListener.onCreate = (id) => {
          window.dottedSign.close();
          alert(`Task ${id} created is successfully!`);
        };

        window.dottedSign.eventListener.onCancel = () => {
          window.dottedSign.close();
          alert("Task creation process is cancelled!");
        };
      });
    </script>
  </body>
</html>

  

點點簽:你的一站式電子簽署 API

像點點簽這樣的電子簽署 API,能幫助開發者更快打造更好的應用程式。只要掌握 RESTful API 基礎(認證、錯誤處理、API 文件),就能建立真正流暢的電子簽署工作流程,並且讓使用者願意採用。

透過點點簽 API,企業可以依需求客製化簽署體驗。無論是合約、審批、內部表單,都能把繁瑣的文件流程轉換成自動化、無紙化的數位簽署。更重要的是,點點簽能無縫整合既有系統,並確保法律效力與安全規範,讓開發者專注在產品功能,而不用擔心合規、加密或資安問題。

馬上在自己的系統環境實際操作點點簽電子簽署 API,看看整合有多簡單!