Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space PDOIDC and version master

The signdoc/pades API is used in the context of PAdES electronic signing. For a quick-start, please refer to our Get started with electronic signing guide for electronic signing.

...

Key

Value

Authorization

Bearer access_token

Content-Type

application/json

Request body

Response

Content-Type: application/json

Code

Description

Example JSON response content

201 Created

Successfully uploaded PAdES sign order

{
"sign_id": "4120de56-4391-4e5a-adea-a28e62daac7e"
}

400 Bad request

Could not create order due to error in request. See the "errors"-array in the response for details.

{
"errors": [
"Missing field: 'orderName'",
"Missing field: 'padesSignProperties'",
"'resultContent' must contain at least one of 'padesSignedPdf' or 'padesAppendix' for PAdES orders"

resultContent

Key

Type / Description

Example JSON

signProperties (required)

JSON object:

key

type

description

default value

orderName

string

Order name.

(required)

documentDisplayMode

string

Must be "interior", "window" or "overlay".

"interior"

showConfirmation

boolean

Show "Signing completed" in client after signing.

true

showUnderstanding

boolean

Show box for "Content is understood" in client.

true

timeoutSeconds

integer

Timeout in seconds for end user signing.

1800

"signProperties": {
"orderName": "My order name",
"documentDisplayMode": "interior",
"showConfirmation": true,
"showUnderstanding": true,
"timeoutSeconds": 1800
}

padesSignProperties
(required)

JSON object:

key

type

description

default value

addVisualSeals

boolean

If true, add visual signature seals to PDF.

(required)

"padesSignProperties": {
"addVisualSeals": true
}

documents

JSON array of documents to be signed (minimum one).

The document to be signed is represented as a JSON object:

key

type

description

default value

description

string

Description of document. Displayed to end user in client.

If not specified, orderName from signProperties will be used combined with a number, i.e. "My order name - 1" for the first document.

(optional)

pdf

string

Base64 encoded PDF

(required)

endUserOnlyboolean

Set to true if only the end user signature is desired.


false

merchantSealPos

JSON object:

key

type

description

x

number

Horizontal positioning of seal.

y

number

Vertical positioning of seal.

page

integer

Page number to place seal.

Specifies the position of merchant signature seal in PDF.

The seal will be positioned according to the x and y coordinates (in points) with origin in the upper left corner. The visual seal size is adjusted according to the DPI of the document.

If the page number is out of range it will be the seal will be placed on the first page. If the coordinates are out of bounds the seal will be placed below and left of existing seals or in the upper left corner if no other seals exist.

See COI documentation for further details.

(optional)

endUserSealPos

JSON object:

keytypedescription
xnumberHorizontal positioning of seal.
ynumberVertical positioning
of seal.
pageintegerPage number to place seal.

Specifies the position of merchant signature seal in PDF.

The seal will be positioned according to the x and y coordinates (in points) with origin in the upper left corner. The visual seal size is adjusted according to the DPI of the document.

If the page number is out of range it will be the seal will be placed on the first page. If the coordinates are out of bounds the seal will be placed below and left of existing seals or in the upper left corner if no other seals exist.

See COI documentation for further details.

(optional)

"documents": [
{
"description": "My document",
"pdf": "JVBER...",
"merchantSealPos": {
"x": 100,
"y": 80,
"page": 1
}
pdfSpecstring

Validates and if necessary converts the document (pdf) to specified PDF/A version and conformance level.

Currently only PDFA_2B is currently supported and conversion is only active in production.



(optional)


Be aware that very large PDF files, typically files with a large number of images, might give a less than optimal user experience due to the document processing time.

The total package size has no upper limit,but we recommend to keep the total size below 35MB.


"documents": [
{
    "description": "My document",
"pdf": "JVBER...",
"pdfSpec:" "PDFA_2B",
"endUserSealPosmerchantSealPos": {
"x": 200100,
"y": 80,
"page": 1
}
}
]
,
"endUserSealPos": {
"x": 200,
"y": 80,
"page": 1
}
}
]

resultContent

(required)

JSON array of string. Must contain at either padesSignedPdf, or padesAppendix, or both.

The string values will determine the content result when retrieving a completed sign order later:

result specifierdescription
padesSignedPdfResult contains the signed PDF as a base64 encoded string
documentHashResult contains the SHA256 hash over the unsigned and sign document hash
padesAppendixResult contains the appended signature data to the original PDF document as a base64 encoded string
["padesSignedPdf", "padesAppendix", "documentHash"]

Example request

...

POST [signdoc-baseurl]/signdoc/pades
Request body:
{
    "signProperties": {
"orderName": "My order name",
"documentDisplayMode": "interior",
"showConfirmation": true,
"showUnderstanding": true
},
"padesSignProperties": {
"addVisualSeals": true
},
"documents": [
{
"description": "Document to sign",
"pdf": "JVBER...",
"endUserOnly": false,
"merchantSealPos": {
"x": 20,
"y": 20,
"page": 1
},
"endUserSealPos": {
"x": 200,
"y": 20,
"page": 1
}
},
{
"description": "Another document to sign",
"pdf": "JVBER...",
"endUserOnly": true
}
],
"resultContent": [
"padesSignedPdf",
"padesAppendix",
"documentHash"
]
}
string 

*Cannot be used when pdfSpec is set

["padesSignedPdf", "padesAppendix", "documentHash"]

Example request

POST [signdoc-baseurl]/signdoc/pades
Request body:
{
    "signProperties": {
"orderName": "My order name",
"documentDisplayMode": "interior",
"showConfirmation": true,
"showUnderstanding": true
},
"padesSignProperties": {
"addVisualSeals": true
},
"documents": [
{
"description": "Document to sign",
"pdf": "JVBER...",
"endUserOnly": false,
"merchantSealPos": {
"x": 20,
"y": 20,
"page": 1
},
"endUserSealPos": {
"x": 200,
"y": 20,
"page": 1
}
},
{
"description": "Another document to sign",
"pdf": "JVBER...",
"endUserOnly": true
}
],
"resultContent": [
"padesSignedPdf",
"padesAppendix",
"documentHash"
]
}

Response

Content-Type: application/json

Code

Description

Example JSON response content

201 Created

Successfully uploaded PAdES sign order

{
"sign_id": "4120de56-4391-4e5a-adea-a28e62daac7e"
}

400 Bad request

Could not create order due to error in request. See the "errors"-array in the response for details.

{
"errors": [
"Missing field: 'orderName'",
"Missing field: 'padesSignProperties'",
"'resultContent' must contain at least one of 'padesSignedPdf' or 'padesAppendix' for PAdES orders"
]
}

403 Forbidden

Access token is invalid.

AccessToken is invalid - Please provide reference: AbcDEf if reporting the problem.


Response if pdfSpec is used

Content-Type: application/json

Code

Description

Example JSON response content

201 Created

Successfully uploaded and converted PAdES sign order

conversionWarnings contains an array of warnings that occurred during the conversion.

Possible values are:

  •     VISUAL_DIFF("Visual differences in output PDF")
  •     COLORANTS("Resolve name collisions of colorants")
  •     OCG_REMOVED("Removed optional content groups (layers)")
  •     TRANSP_REMOVED("Transparency removed")
  •     XMP_REMOVED("Removed non convertible XMP metadata")
  •     FONT_SUBST("Font substituted")
  •     ACTION_REMOVED( "Removed interactive elements such as actions or annotations")
  •     STRUCTURE_REMOVED("Structure removed")


In CURRENT the response will always be DISABLED("PDF conversion is disabled") and  "converted" = false

{
    "sign_id": "6adc9075-5a02-4152-ae26-7cc75da469eb",
    "conversionResults": [
        {
            "conversionId": "d886b218-af9f-4765-a9e1-d819fec6abbe",
            "description": "My order name - 1",
            "converted": true,
            "conversionErrors": [],
            "conversionWarnings": [
                "Visual differences in output PDF",
                "Removed interactive elements such as actions or annotations"
            ]
        },
        {
            "conversionId": "1b4c673a-9d9e-4680-8aa2-810a31d50d8c",
            "description": "My order name - 2",
            "converted": true,
            "conversionErrors": [],
            "conversionWarnings": [
                "Visual differences in output PDF",
                "Removed interactive elements such as actions or annotations"
            ]
        }
    ]
}

400 Bad request

Could not convert order due to error in request. 

Documents that could not be converted will have a list of errors in  conversionErrors.

Possible conversionErrors are:

  • CORRUPT("Document is corrupt")
  • DOC_SIGNED("Document contains signatures")
  • EF_REMOVED("Embedded files removed")
  • GENERIC_ERROR("Unknown error")
  • DISABLED("PDF conversion is disabled") 



{
    "conversionResults": [
        {
            "conversionId": "90c3803b-5e90-400c-b945-02ce223d65be",
            "description": null,
            "converted": true,
            "conversionErrors": [],
            "conversionWarnings": [
                "Visual differences in output PDF",
                "Removed interactive elements such as actions or annotations"
            ]
        },
        {
            "conversionId": "fe7c3db8-e586-4253-960b-771ba6d170a1",
            "description": null,
            "converted": true,
            "conversionErrors": [],
            "conversionWarnings": [
                "Visual differences in output PDF",
                "Removed interactive elements such as actions or annotations"
            ]
        },
        {
            "conversionId": "d796513c-ae65-4a9b-a3ae-f6652d4f7a2b",
            "description": null,
            "converted": false,
            "conversionErrors": [
                "Document contains signatures"
            ],
            "conversionWarnings": []
        }
    ]
}

403 Forbidden

Access token is invalid.

AccessToken is invalid - Please provide reference: AbcDEf if reporting the problem.





...

Check status of sign order

...