FuseWorks
  • GETTING STARTED
    • An Overview
    • QuickStart Guide
  • Deep Dives
    • Scopes
    • Webhooks
    • Bundle Create
  • API References
    • Session
    • Bundle
    • Customer
    • Document
    • Tenant
  • Resources
    • OpenApi Spec
  • Swagger
  • Integrate With Us
  • Meet With Us
Powered by GitBook
On this page
  • Sign Entire Document Mode
  • Signature Placeholders Mode
  • Signature Placement Type
  • PlacementType
Export as PDF
  1. Deep Dives

Bundle Create

FuseSign offers two signing modes—Sign Entire Document and Signature Placeholders—both using digital certificates, with the latter allowing precise signature and input placement.

PreviousWebhooksNextSession

Last updated 2 months ago

When a bundle is created. It is sent off for digital signing and can be also assigned view actions.

A bundle is a collection of messages, settings, recipients, documents and optionally placeholders.

FuseSign offers two different modes for document signing: Sign Entire Document and Signature Placeholders.

Endpoint defaults to Sign Entire Document mode. Only when CustomerInputElements are present in Documents of this payload is Signature Placeholders mode enabled.

Both methods of signing include a true digital signature using computer technology to authenticate the signature by way of attaching a transcript and embedding a digital certificate validating who signed the documents and protecting the information from tampering.

We recommend uploading your documents to to use parameter DocumentId rather than DocumentUrl.

Sign Entire Document Mode

Sign Entire Document means that visual signature images will not be placed on specific locations in the documents. This method significantly reduces the complexity of creating and sending bundles. The signer is effectively agreeing to approving and digitally signing the entire document and the contents contained within the document. They agree to the terms of digital signing by agreeing to the terms when they sign.

FuseSign will place the signers' initials on each page of the document if this option is enabled in your . The initials will be placed on each page of the entire bundle and cannot be toggled on a bundle basis.

Example Payload (Sign Entire)

This is the payload mentioned in QuickStart Guide

A simple example payload for the endpoint:

{
  "Subject": "This is the subject field in the email",
  "Body": "Hello Signer, Could you please sign please",
  "CreateMode": "CreateAndSend",
  "Customers": [
    {
      "Customer": {
        "Name": "MY NAME HERE",
        "Email": "MY EMAIL HERE",
        "PhoneNumber": "+61411111111"
      }
    }
  ],
  "Documents": [
    {
      "DisplayName": "Name of Document",
      "DocumentUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
      "DocumentOrder": 0,
      "CustomerSigners": [
        0
      ]
    }
  ],
  "ViewMode": "SmsToSign",
  "Settings": {
    "WebhookUrl": "https://example.com/my_fusesign_webhookID"
  }
}
Example Signed PDF (Sign Entire)

Signature Placeholders Mode

Signature Placeholders means that when preparing a bundle, the user will add a ‘signature placeholder’ to assign each of the specific locations within the documents where your recipients' signature will visually appear.

This method does not include signers' initials on each page, even if this option is enabled in your Administrative Settings.

Signature Placement Type

If a recipient has a signing action on a document, at least one of these placeholders will be required. When your recipient signs, their signature will appear on the document where you place these.

Signature Placements

  • Standard - Adds a standard signature placeholder to the document

  • WithDate - Similar to the above, but also automatically adds the signing date below the signature

User Inputs

These options allow your users to fill out additional information on your document. You can also set properties for these inputs from the right panel to make them mandatory, or to assign a default value.

  • TextLine - Adds a single text line for your recipient to fill in

  • CheckBox - Adds a checkbox to the document, that can be checked by the recipient

  • Date - Allows your recipient to manually fill in a date

  • Paragraph - Adds a multi-line text input that you recipient can fill in

Signature Stamps

These stamps do not require any interaction from your recipient and will be automatically filled when the document is finalised.

  • SignedDate - Automatically stamps the date the document was signed by this recipient.

  • SignerName - Automatically stamps the signer’s name

PlacementType

Placement type is another property of CustomerInputElements . There are two options for placement:

ByCoordinate (for static documents)

If the documents you are sending from your API are the same every time, we recommend this mode.

It uses X, Y, W and H to set the dimensions of the placeholder. (X / Y is the co-ordinate from the top left of the page)

Example Payload (Signature Placeholders)

Note the Use of CustomerInputElements

{
  "CreateMode": "CreateAsDraft",
  "DueDate": "<dateTime>",
  "Subject": "<string>",
  "Body": "<string>",
  "CreatedBy": "<string>",
  "Customers": [
    {
      "LastSigner": "<boolean>",
      "SigningGroup": "<integer>",
      "LockLastSigningGroup": "<boolean>",
      "CannotRemoveFromBundleDraft": "<boolean>",
      "SMSNotify": "<boolean>",
      "Customer": {
        "NoMobile": "<boolean>",
        "CannotModify": "<boolean>",
        "CustomerId": "<string>",
        "Name": "<string>",
        "Email": "<string>",
        "PhoneNumber": "<string>",
        "Meta": "<string>",
        "Options": {
          "IgnorePhoneNumberIfInvalid": "<boolean>",
          "UpdateExistingCustomersByMetaMatch": "<boolean>"
        }
      }
    },
    {
      "LastSigner": "<boolean>",
      "SigningGroup": "<integer>",
      "LockLastSigningGroup": "<boolean>",
      "CannotRemoveFromBundleDraft": "<boolean>",
      "SMSNotify": "<boolean>",
      "Customer": {
        "NoMobile": "<boolean>",
        "CannotModify": "<boolean>",
        "CustomerId": "<string>",
        "Name": "<string>",
        "Email": "<string>",
        "PhoneNumber": "<string>",
        "Meta": "<string>",
        "Options": {
          "IgnorePhoneNumberIfInvalid": "<boolean>",
          "UpdateExistingCustomersByMetaMatch": "<boolean>"
        }
      }
    }
  ],
  "Documents": [
    {
      "DocumentOrder": "<integer>",
      "CustomerInputElements": [
        {
          "CustomerIndex": "<integer>",
          "InputElements": [
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "WithDate",
              "PlacementType": "ByAnchorText",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            },
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "SignerName",
              "PlacementType": "ByCoordinate",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            }
          ]
        },
        {
          "CustomerIndex": "<integer>",
          "InputElements": [
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "SignerName",
              "PlacementType": "ByAnchorText",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            },
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "TextLine",
              "PlacementType": "ByAnchorText",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            }
          ]
        }
      ],
      "DisplayName": "<string>",
      "DocumentId": "<string>",
      "DocumentBase64": "<string>",
      "DocumentUrl": "<string>",
      "CustomerSigners": [
        "<integer>",
        "<integer>"
      ],
      "CustomerViewers": [
        "<integer>",
        "<integer>"
      ],
      "Meta": "<string>"
    },
    {
      "DocumentOrder": "<integer>",
      "CustomerInputElements": [
        {
          "CustomerIndex": "<integer>",
          "InputElements": [
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "SignerName",
              "PlacementType": "ByAnchorText",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            },
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "Date",
              "PlacementType": "ByAnchorText",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            }
          ]
        },
        {
          "CustomerIndex": "<integer>",
          "InputElements": [
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "SignedDate",
              "PlacementType": "ByCoordinate",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            },
            {
              "PageIndex": "<integer>",
              "X": "<number>",
              "Y": "<number>",
              "Type": "CheckBox",
              "PlacementType": "ByAnchorText",
              "AnchorXOffset": "<number>",
              "AnchorYOffset": "<number>",
              "AnchorFindCount": "<integer>",
              "W": "<number>",
              "H": "<number>",
              "AnchorText": "<string>"
            }
          ]
        }
      ],
      "DisplayName": "<string>",
      "DocumentId": "<string>",
      "DocumentBase64": "<string>",
      "DocumentUrl": "<string>",
      "CustomerSigners": [
        "<integer>",
        "<integer>"
      ],
      "CustomerViewers": [
        "<integer>",
        "<integer>"
      ],
      "Meta": "<string>"
    }
  ],
  "DueReminderMode": "DayBeforeDue",
  "OverdueReminderMode": "DontRemind",
  "ViewMode": "SmsToSign",
  "RecipientReceiveMode": "EmailWithLinkOnly",
  "SigningMode": "SignWhole",
  "Settings": {
    "EmailPreference": "FuseSignEmails",
    "AlwaysSendFinalisationEmail": "<boolean>",
    "DisableFinaliseNow": "<boolean>",
    "DisableRetract": "<boolean>",
    "DisableReminders": "<boolean>",
    "RedirectDelaySeconds": "<integer>",
    "AuditType": "Separate",
    "WebhookUrl": "<string>",
    "CustomBranding": {
      "ButtonColor": "<string>",
      "BannerColor": "<string>",
      "LogoUrl": "<string>",
      "FromName": "<string>"
    },
    "RedirectUrl": "<string>",
    "ContextUrl": "<string>"
  },
  "Meta": "<string>",
  "TeamId": "<string>",
  "SenderIP": "<string>"
}
Using FuseSign to get precise co-ordinates

Example Signed PDF (Placeholder mode)

ByAnchorText (for dynamic documents)

If the documents in dynamic and you require placeholders in different locations we recommend this mode.

Specify AnchorText to have the display over the text found.

Tips for AnchorText

  • Use a special / unique word without any special characters

  • Keep it short and simple but not a subset of other words

  • Should be hidden by having the colour match the background. Ie. white.

You can also specify the AnchorFindCountthat is the number of instances being placed (0 = unlimited)

A complex example payload for the endpoint:

We recommend creating a bundle in our app at , dragging and dropping placeholders to get the exact co-ordinate you need:

Bundle/Create
https://app.fuse.work/fusesign/
Administrative Settings
Document
Note the initials on the bottom left of the page
Sign Entire document audit
Placeholders Tab can inform you of the exact X, Y, W and H of a placeholder
Standard placeholder at the top of the page
Placeholders document audit
Bundle
Bundle