Back to top

REMOTE SIGNING API DOCUMENT

Version v1.0

Introduction

Remote Signing is a solution for remote digital signature, digital signature of the signer stored on the provider’s Cloud system;

  • Signing speed is fast, meeting a large number of users;

  • Authentication of multi-factor and biometric security;

  • Support multi-platform running (Windows, MAC, Smartphone);

  • The solution has been implemented for many customers and services such as: Electronic social insurance, Electronic invoices, E-government, Hospitals … highly appreciated by customers;

  • Support for signing of multiple file formats: Word, Excel, Pdf, XML …;

  • Easy to integrate and deploy.

Authentication

Example Header

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhNnZoQW8zRkc3dDEiLCJuYW1lIjoiSm9obiBEb2UiLCJpYXQiOjE0NzA1OTg5NzIsImV4cCI6MTQ3MDY4NTM3Mn0.ltA9zZmJKszBJuuV7pTWtY7LzLXrRUfebJDhy_jGMeM

Methods

Client Login

Client Login
POST/clients/login

Login with api username and api password to get token

Example URI

POST https://api.remotesigning.vn/clients/login
Request  Login
HideShow
Headers
Content-Type: application/json
Body
{
  "username": "username",
  "password": "password",
  "rpCode": "TEST"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "Relying party username"
    },
    "password": {
      "type": "string",
      "description": "Relying party password"
    },
    "rpCode": {
      "type": "string",
      "description": "Relying party code"
    }
  },
  "required": [
    "username",
    "password",
    "rpCode"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "token": "SlNPTiB3ZWIgdG9rZW4="
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "JSON web token"
    }
  },
  "required": [
    "token"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": {
    "statusCode": "401",
    "name": "UnauthorizedError",
    "message": "Invalid username or password"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "string",
          "description": "Error code"
        },
        "name": {
          "type": "string",
          "description": "Error name"
        },
        "message": {
          "type": "string",
          "description": "Error description"
        }
      }
    }
  }
}

Register new certificate

Register new certificate
POST/certificates/register

This method will create a new account on Remote Signing service and request to CA for preparing digital certificate

Reference: Auth Mode, Shared Mode, Response Code

Example URI

POST https://api.remotesigning.vn/certificates/register
Request  Register new certificate
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementDetails": {
    "applicationForm": "UmVtb3RlIFNpZ25pbmcgU2VydmljZSBhcHBsaWNhdGlvbiBmb3Jt",
    "authorizeLetter": "QXV0aG9yaXplIExldHRlciBieSBHb3Zlcm5tZW50L0NvcnBvcmF0ZQ==",
    "budgetID": "1234567890",
    "businessLicense": "QnVzaW5lc3NMaWNlbnNl",
    "citizenID": "1234567890",
    "country": "VN",
    "email": "your@email.ext",
    "location": "Cau giay, Ha Noi",
    "organization": "EFY Viet Nam",
    "organizationUnit": "'Development'",
    "passportID": "'C1223456'",
    "personalID": "'1234567890'",
    "personalName": "Nguyen Van A",
    "photoActivityDeclaration": "U2Nhbm5lZCBwaG90byBvZiDigJhJbml0aWFsIEFjdGl2aXR5L0FsdGVyYXRpb24gRGVjbGF0aW9u4oCZIHRoYXQgYXBwbGllZCBmb3IgY29ycG9yYXRlIGNlcnRpZmljYXRl",
    "photoAuthorizeDelegate": "cGhvdG9BdXRob3JpemVE",
    "photoIDCard": "U2Nhbm5lZCBwaG90byBvZiBJRCBDYXJkIHRoYXQgYXBwbGllZCBmb3IgcGVyc29uYWwgY2VydGlmaWNhdGU=",
    "requestForm": "UmVtb3RlIFNpZ25pbmcgU2VydmljZSByZXF1ZXN0IGZvcm0gZm9yIHJlY292ZXJ5LCByZXZvY2F0aW9uIOKApg==",
    "stateOrProvince": "Cau Giay, Ha Noi",
    "taxID": "'0123456789'",
    "telephoneNumber": "'0983456789'",
    "title": "Director"
  },
  "email": "your@email.ext",
  "mobileNo": "0123456789",
  "sharedMode": 1,
  "certificateProfile": "T2OSB21Y",
  "ownerEmail": "owner@gmail....",
  "ownerMobileNo": "123456789",
  "ownerUUID": "343242384hdfajsdlfjsdlf",
  "acceptedApps": [
    "IHD",
    "EBHXH"
  ],
  "passCodeNotificationMethod": "EMAIL"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementDetails": {
      "type": "object",
      "properties": {
        "applicationForm": {
          "type": "string",
          "description": "Remote Signing Service application form as Base64 String"
        },
        "authorizeLetter": {
          "type": "string",
          "description": "Authorize Letter by Government/Corporate as Base64 String"
        },
        "budgetID": {
          "type": "string",
          "description": "**maxLength: 32** Budget ID"
        },
        "businessLicense": {
          "type": "string",
          "description": "BusinessLicense Base64 String"
        },
        "citizenID": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "description": "**maxLength: 2** Country (Just two letter). E.g: VN"
        },
        "email": {
          "type": "string",
          "description": "Personal email"
        },
        "location": {
          "type": "string",
          "description": "location"
        },
        "organization": {
          "type": "string",
          "description": "Company name"
        },
        "organizationUnit": {
          "type": "string",
          "description": "Department name"
        },
        "passportID": {
          "type": "string",
          "description": "**maxLength: 32** Personal Passport ID"
        },
        "personalID": {
          "type": "string",
          "description": "Personal ID"
        },
        "personalName": {
          "type": "string",
          "description": "Name of customer"
        },
        "photoActivityDeclaration": {
          "type": "string",
          "description": "Scanned photo of ‘Initial Activity/Alteration Declation’ that applied for corporate certificate as Base64 string"
        },
        "photoAuthorizeDelegate": {
          "type": "string",
          "description": "photoAuthorizeD as Base64 string"
        },
        "photoIDCard": {
          "type": "string",
          "description": "Scanned photo of ID Card that applied for personal certificate as Base64 string"
        },
        "requestForm": {
          "type": "string",
          "description": "Remote Signing Service request form for recovery, revocation …"
        },
        "stateOrProvince": {
          "type": "string",
          "description": "City or Province"
        },
        "taxID": {
          "type": "string",
          "description": "**maxLength: 32** Tax ID"
        },
        "telephoneNumber": {
          "type": "string",
          "description": "Personal phone number"
        },
        "title": {
          "type": "string",
          "description": "Title of employee"
        }
      },
      "description": "Customer information. This one will be used as certificate information"
    },
    "email": {
      "type": "string",
      "description": "**maxLength: 128** Email of client/customer and used for Email Authorize Code authentication. In case of the Relying Party keep the customer information confidentially, it should be absence"
    },
    "mobileNo": {
      "type": "string",
      "description": "**maxLength: 16** Mobile Number of client/customer. Known as contact address and used for SMS Authorize Code authentication.. In case of the Relying Party keep the customer information confidentially, it should be absence"
    },
    "sharedMode": {
      "type": "number",
      "enum": [
        1,
        2,
        3
      ],
      "default": 1,
      "description": "Which sharing mode applied to this agreement in the Remote Signing service."
    },
    "certificateProfile": {
      "type": "string",
      "enum": [
        "T2OSB21Y",
        "T2OSB22Y",
        "T2OSB23Y",
        "T2PSB21Y",
        "T2PSB22Y",
        "T2PSB23Y",
        "T2SFB21Y",
        "T2SFB22Y",
        "T2SFB23Y"
      ],
      "description": "The profile of certificate will be used to enroll. Once this parameter is absence, the default certificate profile is used based on RelyingParty properties"
    },
    "ownerEmail": {
      "type": "string",
      "description": "email of owner"
    },
    "ownerMobileNo": {
      "type": "string",
      "description": "mobile of owner"
    },
    "ownerUUID": {
      "type": "string",
      "description": "uuid of owner"
    },
    "acceptedApps": {
      "type": "array",
      "items": [
        {
          "type": "string"
        },
        {
          "type": "string"
        }
      ],
      "description": "accepted applications"
    },
    "passCodeNotificationMethod": {
      "type": "string",
      "enum": [
        "EMAIL",
        "SMS"
      ],
      "default": "1",
      "description": "PIN code recieve method"
    }
  },
  "required": [
    "agreementDetails",
    "email",
    "mobileNo",
    "certificateProfile",
    "ownerEmail",
    "ownerMobileNo",
    "ownerUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "csr": "Q1NSIHdpbGwgYmUgcmVzcG9uZWQgaWYgdGhlIGNzclJlcXVpcmVkIHNldCBUUlVFIGluIHRoZSByZXF1ZXN0Lg==",
  "ownerUUID": "343242384hdfajsdlfjsdlf",
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "csr": {
      "type": "string",
      "description": "CSR will be responed if the csrRequired set TRUE in the request."
    },
    "ownerUUID": {
      "type": "string",
      "description": "uuid of owner"
    },
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "responseCode",
    "ownerUUID",
    "agreementUUID"
  ]
}

Change certificate infomation

Change certificate infomation
POST/certificates/change

This method helps to change the certificate information for a specific agreementUUID. You can re-provide the information in AgreementDetails object. The new certificate will be generated for that agreementUUID with the expiration date is the same as the old certificate. To be noticed that, you CANNOT change: personalID, passportID, taxID and budgetID, because these information used to be representative of an agreementUUID.

Reference: Auth Mode, Shared Mode, Response Code

Example URI

POST https://api.remotesigning.vn/certificates/change
Request  Change certificate infomation
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementDetails": {
    "applicationForm": "UmVtb3RlIFNpZ25pbmcgU2VydmljZSBhcHBsaWNhdGlvbiBmb3Jt",
    "authorizeLetter": "QXV0aG9yaXplIExldHRlciBieSBHb3Zlcm5tZW50L0NvcnBvcmF0ZQ==",
    "budgetID": "1234567890",
    "businessLicense": "QnVzaW5lc3NMaWNlbnNl",
    "citizenID": "1234567890",
    "country": "VN",
    "email": "your@email.ext",
    "location": "Cau giay, Ha Noi",
    "organization": "EFY Viet Nam",
    "organizationUnit": "'Development'",
    "passportID": "'C1223456'",
    "personalID": "'1234567890'",
    "personalName": "Nguyen Van A",
    "photoActivityDeclaration": "U2Nhbm5lZCBwaG90byBvZiDigJhJbml0aWFsIEFjdGl2aXR5L0FsdGVyYXRpb24gRGVjbGF0aW9u4oCZIHRoYXQgYXBwbGllZCBmb3IgY29ycG9yYXRlIGNlcnRpZmljYXRl",
    "photoAuthorizeDelegate": "cGhvdG9BdXRob3JpemVE",
    "photoIDCard": "U2Nhbm5lZCBwaG90byBvZiBJRCBDYXJkIHRoYXQgYXBwbGllZCBmb3IgcGVyc29uYWwgY2VydGlmaWNhdGU=",
    "requestForm": "UmVtb3RlIFNpZ25pbmcgU2VydmljZSByZXF1ZXN0IGZvcm0gZm9yIHJlY292ZXJ5LCByZXZvY2F0aW9uIOKApg==",
    "stateOrProvince": "Cau Giay, Ha Noi",
    "taxID": "'0123456789'",
    "telephoneNumber": "'0983456789'",
    "title": "Director"
  },
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementDetails": {
      "type": "object",
      "properties": {
        "applicationForm": {
          "type": "string",
          "description": "Remote Signing Service application form as Base64 String"
        },
        "authorizeLetter": {
          "type": "string",
          "description": "Authorize Letter by Government/Corporate as Base64 String"
        },
        "budgetID": {
          "type": "string",
          "description": "**maxLength: 32** Budget ID"
        },
        "businessLicense": {
          "type": "string",
          "description": "BusinessLicense Base64 String"
        },
        "citizenID": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "description": "**maxLength: 2** Country (Just two letter). E.g: VN"
        },
        "email": {
          "type": "string",
          "description": "Personal email"
        },
        "location": {
          "type": "string",
          "description": "location"
        },
        "organization": {
          "type": "string",
          "description": "Company name"
        },
        "organizationUnit": {
          "type": "string",
          "description": "Department name"
        },
        "passportID": {
          "type": "string",
          "description": "**maxLength: 32** Personal Passport ID"
        },
        "personalID": {
          "type": "string",
          "description": "Personal ID"
        },
        "personalName": {
          "type": "string",
          "description": "Name of customer"
        },
        "photoActivityDeclaration": {
          "type": "string",
          "description": "Scanned photo of ‘Initial Activity/Alteration Declation’ that applied for corporate certificate as Base64 string"
        },
        "photoAuthorizeDelegate": {
          "type": "string",
          "description": "photoAuthorizeD as Base64 string"
        },
        "photoIDCard": {
          "type": "string",
          "description": "Scanned photo of ID Card that applied for personal certificate as Base64 string"
        },
        "requestForm": {
          "type": "string",
          "description": "Remote Signing Service request form for recovery, revocation …"
        },
        "stateOrProvince": {
          "type": "string",
          "description": "City or Province"
        },
        "taxID": {
          "type": "string",
          "description": "**maxLength: 32** Tax ID"
        },
        "telephoneNumber": {
          "type": "string",
          "description": "Personal phone number"
        },
        "title": {
          "type": "string",
          "description": "Title of employee"
        }
      },
      "description": "Customer information. This one will be used as certificate information"
    },
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "agreementDetails",
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "csr": "Q1NSIHdpbGwgYmUgcmVzcG9uZWQgaWYgdGhlIGNzclJlcXVpcmVkIHNldCBUUlVFIGluIHRoZSByZXF1ZXN0Lg==",
  "ownerUUID": "343242384hdfajsdlfjsdlf",
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "csr": {
      "type": "string",
      "description": "CSR will be responed if the csrRequired set TRUE in the request."
    },
    "ownerUUID": {
      "type": "string",
      "description": "uuid of owner"
    },
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "responseCode",
    "ownerUUID",
    "agreementUUID"
  ]
}

Change Account Passcode

Change Account Passcode
POST/certificates/change-pin

This method will change the current Passcode for authorize as Passcode method on the Remote Signing service

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/change-pin
Request  Change Account Passcode
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "currentPasscode": "Hello, world!",
  "newPasscode": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "currentPasscode": {
      "type": "string",
      "description": "Current passcode"
    },
    "newPasscode": {
      "type": "string",
      "description": "New Passcode"
    }
  },
  "required": [
    "agreementUUID",
    "currentPasscode",
    "newPasscode"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "remainingCounter": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "remainingCounter": {
      "type": "number",
      "description": "Once changed Passcode successfully, this parameter will be the Max-Counter that already configured in the General Policy of Remote Signing serviceOnce changed Passcode failed, this parameter will be decreased ONE value, if this parameter reached ZERO, our agreement in Remote Signing will be blocked in the duration that already configured. Once this duration ended, our agreement will be unblocked automatically and we continued to use with current Passcode"
    }
  },
  "required": [
    "responseCode"
  ]
}

Get Certificate Detail

Get Certificate Detail
POST/certificates/get-detail

This method will get certificate detail for corresponding agreement in Remote Signing service

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/get-detail
Request  Get Certificate Detail
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "certificateDN": "E.g: CN=Nguyen Van A, O=B Company,C=VN",
  "certificateSerialNumber": "54010A5560E78C1DAC82237E280A775F",
  "certificateThumbprint": "B72E67D9DE53332B632A7863F7BF5AA77AD0D08C",
  "validFrom": "2020-02-26T16:03:05+07:00",
  "validTo": "2021-02-25T16:03:05+07:00",
  "issuerDN": "CN=Mobile-ID Trusted Network, O=MOBILE-ID,C=VN",
  "certificate": "`MIIFCDCCA/CgAwIBAgIQVAEKVWDnjB2sgiN+KAp3XzANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJWTjEOMAwGA1UECAwFSGFub2kxLzAtBgNVBAoMJlZpZXRuYW0gRUZZIEluZm9ybWF0aWNzIFRlY2hub2xvZ3kgSlNDMQ8wDQYDVQQLDAZFRlktQ0ExDzANBgNVBAMMBkVGWS1DQTAeFw0yMDAyMjYwOTAzMDVaFw0yMTAyMjUwOTAzMDVaMIG9MQswCQYDVQQGEwJWTjESMBAGA1UECAwJSMOgIE7hu5lpMRIwEAYDVQQHDAlIw6AgTuG7mWkxITAfBgNVBAoMGFRy4buLbmggUXVhbmcgVMOibihURVNUKTEhMB8GA1UEAwwYVHLhu4tuaCBRdWFuZyBUw6JuKFRFU1QpMR4wHAYKCZImiZPyLGQBAQwOTVNUOjAxMDI1MTkwNDExIDAeBgkqhkiG9w0BCQEWEXRhbnRxMUBtc2IuY29tLnZuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsJR5TAL1k8bOe/XWqQOt+Tcb6bD+ewshla8Wtb0ra+HtsK95A53v+HpqaWq56JGCj2hf/JKPjY1AgKk0hhMWBJ5zEaY2T9NilTY9Xhg5JOVCKYhSCCWnBbCDvpX1v2AJhXsdGIGfODvN3IXWTHuibXbx83ySg/kuU85OYKtkkN+hetZ1VP5YhJ+pYTsDsN7AO1cAWFcwUJ6LVioBGFExYor9yIy4wAnVrtdLRcDB+k5I5M4F50tnV6WonRKJr2Kgr8donxrpacUOLSx/82hnjC0Ao06V/4gK5mTULTKaKVd6/81ojZaSC/LqomvMTiNh/VmGRRHC5XyH3h80wnNB+wIDAQABo4IBTjCCAUowDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBSVZcCLWVCoN6j/HF2jLqiErg+oHzBjBggrBgEFBQcBAQRXMFUwMQYIKwYBBQUHMAKGJWh0dHA6Ly92YS5lZnljYS52bi9jZXJ0cy9lZnljYTI1Ni5jcnQwIAYIKwYBBQUHMAGGFGh0dHA6Ly9vY3NwLmVmeWNhLnZuMBwGA1UdEQQVMBOBEXRhbnRxMUBtc2IuY29tLnZuMBgGA1UdIAQRMA8wDQYLKwYBBAGB7QMBCgEwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMC4GA1UdHwQnMCUwI6AhoB+GHWh0dHA6Ly92YS5lZnljYS52bi9wdWIvQ1JMMjU2MB0GA1UdDgQWBBRPPntMvfBNLV4vbgbKNtSELRAacDAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggEBAKRAweGZff+FUKFujeFTQrm8oJ/SvekG+gBKPLpHfjJz4Pw5EDfjiRV3hh86iUYDziRlVOFuMShwDCssJK3ru+rfpvlQHEPsK4LQ8lj6SEbUEfoMRq7fU1CPx8JjHPcFDVV7zb0H8+5HAUM1Llr84Sqocve+AGHMZKf4GafDAT4GLxR7vENB1gWBnfI6ZFQKUWPNcomPvEEbV0Buxcvu3SRTQFsYt4HCf3XU6xMeLzb1g7MsgE0ZjtFBwv7AoJCo2BIk4NJVJ5i0QIqxFkYeXczo8cIDDRr7bMqiccQeNGsaQMEvz+n1gnk+BgwkmRjASEHgtIJhWeNhZo6QMZjtbjw=",
  "sharedMode": 1,
  "authModeSupported": [
    ""
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "certificateDN": {
      "type": "string",
      "description": "`Certificate Distinguished Name (DN). E.g: CN=Nguyen Van A, O=B Company,C=VN`"
    },
    "certificateSerialNumber": {
      "type": "string",
      "description": "`Certificate serial number E.g: 5405ABCDEF`"
    },
    "certificateThumbprint": {
      "type": "string",
      "description": "Certificate thumprint (certificate hash)"
    },
    "validFrom": {
      "type": "string",
      "description": "The date of certificate begin to be valid"
    },
    "validTo": {
      "type": "string",
      "description": "The date of certificate begin to be expired"
    },
    "issuerDN": {
      "type": "string",
      "description": "`Issuer Certifcate Distinguished Name (DN) E.g: CN=Mobile-ID Trusted Network, O=MOBILE-ID,C=VN`"
    },
    "certificate": {
      "type": "string",
      "description": "` (string, optional) - certificate"
    },
    "sharedMode": {
      "type": "number",
      "enum": [
        1,
        2,
        3
      ],
      "default": 1,
      "description": "Which sharing mode applied to this agreement in the Remote Signing service."
    },
    "authModeSupported": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "EXPLICIT/PIN",
          "EXPLICIT/OTP-SMS",
          "EXPLICIT/OTP-EMAIL"
        ]
      },
      "description": "Specifies one of the authorization modes"
    }
  },
  "required": [
    "responseCode"
  ]
}

Forget Pin Certificate

Forget Pin Certificate
POST/certificates/forget-pin

This method will reset the current Passcode for authorize as Passcode method on the Remote Signing service , and the new Passcode will be created in the Remote Signing service and this parameter will be sent to customer based on the registration email

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/forget-pin
Request  Forget Pin Certificate
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "notificationMessage": "Your new Passcode: {Passcode}. New Passcode is valid within 30 days",
  "notificationSubject": "EFY - Authorization Code"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "notificationMessage": {
      "type": "string",
      "description": "Message contains randomly new Passcode will be sent to customer’s Email. New Passcode is generated on Remote Signing and embedded into template. E.g: Your new Passcode: {Passcode}. New Passcode is valid within 30 days."
    },
    "notificationSubject": {
      "type": "string",
      "description": "This one is used as Email subject for forget Passcode notification. It should be used in case of RelyingParty used their owned SMTP server for notify customer"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    }
  },
  "required": [
    "responseCode"
  ]
}

Renew Certificate

Renew Certificate
POST/certificates/renew

This method will extend the certificate expiration for an agreementUUID. You CANNOT change the certificate information with this method, the old information will be used for new certificate. But you can change the certificate profile.

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/renew
Request  Renew Certificate
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "certificateProfile": "T2OSB21Y"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "certificateProfile": {
      "type": "string",
      "enum": [
        "T2OSB21Y",
        "T2OSB22Y",
        "T2OSB23Y",
        "T2PSB21Y",
        "T2PSB22Y",
        "T2PSB23Y",
        "T2SFB21Y",
        "T2SFB22Y",
        "T2SFB23Y"
      ],
      "description": "The profile of certificate will be used to enroll. Once this parameter is absence, the default certificate profile is used based on RelyingParty properties"
    }
  },
  "required": [
    "agreementUUID",
    "certificateProfile"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    }
  },
  "required": [
    "responseCode"
  ]
}

Revoke Certificate

Revoke Certificate
POST/certificates/revoke

This method will destroy an existing account on Remote Signing service and request to CA for preparing digital certificate revocation.

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/revoke
Request  Revoke Certificate
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    }
  },
  "required": [
    "responseCode"
  ]
}

Enable Certificate

Enable Certificate
POST/certificates/enable

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/enable
Request  Enable Certificate
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    }
  },
  "required": [
    "responseCode"
  ]
}

Disable Certificate

Disable Certificate
POST/certificates/disable

Reference: Response Code

Example URI

POST https://api.remotesigning.vn/certificates/disable
Request  Disable Certificate
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    }
  },
  "required": [
    "responseCode"
  ]
}

Sign File

Sign File
POST/signing/file

This method is known as “Sign Request”, it means that client request to Remote Signing. Remote Signing will send back an Authorize Code via SMS or Email to authorize the client. This method also requires the binary of document which needs to be signed.

Reference: Auth Mode, Response Code, SignCloudMetaData

Example URI

POST https://api.remotesigning.vn/signing/file
Request  Sign File
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "Hello, world!",
  "authorizeCode": "12345678",
  "mimeType": "application/pdf",
  "signingFileData": "RmlsZSB0aGF0IHdpbGwgYmUgc2lnbmVk",
  "signCloudMetaData": {
    "'singletonSigning'": {
      "entry": [
        {
          "key": "SIGNATUREIMAGE",
          "value": "0,0,300,60"
        }
      ]
    },
    "'counterSigning'": {
      "entry": [
        {
          "key": "SIGNATUREIMAGE",
          "value": "0,0,300,60"
        }
      ]
    }
  },
  "notificationSubject": "Authorization",
  "notificationTemplate": "Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes",
  "signingApp": "IHD"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "enum": [
        "EXPLICIT/PIN",
        "EXPLICIT/OTP-SMS",
        "EXPLICIT/OTP-EMAIL"
      ],
      "default": "EXPLICIT/PIN",
      "description": "Specifies one of the authorization modes."
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of PDF signer, mimeType is ‘application/pdf’"
    },
    "signingFileData": {
      "type": "string",
      "description": "File that will be signed as Base64 string"
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "'singletonSigning'": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "key"
                  },
                  "value": {
                    "type": "string",
                    "description": "value"
                  }
                }
              }
            }
          },
          "description": "Signing meta data for customer signature"
        },
        "'counterSigning'": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "key"
                  },
                  "value": {
                    "type": "string",
                    "description": "value"
                  }
                }
              }
            }
          },
          "description": "Meta data for counter signing"
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    },
    "notificationSubject": {
      "type": "string",
      "description": "This parameter is used as Email subject for signing authorization. If OTP Email is used, this parameter is mandatory It should be used in case of the Remote Signing will use owned SMTP to send OTP Email to customer. ."
    },
    "notificationTemplate": {
      "type": "string",
      "description": "Message contains Authorize Code will be sent to customer’s Phone/Email. Authorize Code is generated on Remote Signing and embedded into template. E.g: Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "mimeType",
    "signingFileData"
  ]
}
Request  Case 1: Sign PDF File
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "EXPLICIT/PIN",
  "authorizeCode": "12345678",
  "mimeType": "application/pdf",
  "signingFileData": "JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL091dGxpbmVzIDIgMCBSDQovUGFnZXMgMyAwIFINCj4+DQplbmRvYmoNCg0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCg0KMyAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0NvdW50IDINCi9LaWRzIFsgNCAwIFIgNiAwIFIgXSANCj4+DQplbmRvYmoNCg0KNCAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovRm9udCA8PA0KL0YxIDkgMCBSIA0KPj4NCi9Qcm9jU2V0IDggMCBSDQo+Pg0KL01lZGlhQm94IFswIDAgNjEyLjAwMDAgNzkyLjAwMDBdDQovQ29udGVudHMgNSAwIFINCj4+DQplbmRvYmoNCg0KNSAwIG9iag0KPDwgL0xlbmd0aCAxMDc0ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBIFNpbXBsZSBQREYgRmlsZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIFRoaXMgaXMgYSBzbWFsbCBkZW1vbnN0cmF0aW9uIC5wZGYgZmlsZSAtICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCigganVzdCBmb3IgdXNlIGluIHRoZSBWaXJ0dWFsIE1lY2hhbmljcyB0dXRvcmlhbHMuIE1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NTIuNzUyMCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDYyOC44NDgwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjE2Ljg5NjAgVGQNCiggdGV4dC4gQW5kIG1vcmUgdGV4dC4gQm9yaW5nLCB6enp6ei4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjA0Ljk0NDAgVGQNCiggbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDU5Mi45OTIwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNTY5LjA4ODAgVGQNCiggQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA1NTcuMTM2MCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBFdmVuIG1vcmUuIENvbnRpbnVlZCBvbiBwYWdlIDIgLi4uKSBUag0KRVQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCjYgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCAzIDAgUg0KL1Jlc291cmNlcyA8PA0KL0ZvbnQgPDwNCi9GMSA5IDAgUiANCj4+DQovUHJvY1NldCA4IDAgUg0KPj4NCi9NZWRpYUJveCBbMCAwIDYxMi4wMDAwIDc5Mi4wMDAwXQ0KL0NvbnRlbnRzIDcgMCBSDQo+Pg0KZW5kb2JqDQoNCjcgMCBvYmoNCjw8IC9MZW5ndGggNjc2ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBTaW1wbGUgUERGIEZpbGUgMiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIC4uLmNvbnRpbnVlZCBmcm9tIHBhZ2UgMS4gWWV0IG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NzYuNjU2MCBUZA0KKCBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY2NC43MDQwIFRkDQooIHRleHQuIE9oLCBob3cgYm9yaW5nIHR5cGluZyB0aGlzIHN0dWZmLiBCdXQgbm90IGFzIGJvcmluZyBhcyB3YXRjaGluZyApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY1Mi43NTIwIFRkDQooIHBhaW50IGRyeS4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NDAuODAwMCBUZA0KKCBCb3JpbmcuICBNb3JlLCBhIGxpdHRsZSBtb3JlIHRleHQuIFRoZSBlbmQsIGFuZCBqdXN0IGFzIHdlbGwuICkgVGoNCkVUDQplbmRzdHJlYW0NCmVuZG9iag0KDQo4IDAgb2JqDQpbL1BERiAvVGV4dF0NCmVuZG9iag0KDQo5IDAgb2JqDQo8PA0KL1R5cGUgL0ZvbnQNCi9TdWJ0eXBlIC9UeXBlMQ0KL05hbWUgL0YxDQovQmFzZUZvbnQgL0hlbHZldGljYQ0KL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcNCj4+DQplbmRvYmoNCg0KMTAgMCBvYmoNCjw8DQovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQ0KL1Byb2R1Y2VyIChOZXZyb25hIERlc2lnbnMpDQovQ3JlYXRpb25EYXRlIChEOjIwMDYwMzAxMDcyODI2KQ0KPj4NCmVuZG9iag0KDQp4cmVmDQowIDExDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTkgMDAwMDAgbg0KMDAwMDAwMDA5MyAwMDAwMCBuDQowMDAwMDAwMTQ3IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAwMDM5MCAwMDAwMCBuDQowMDAwMDAxNTIyIDAwMDAwIG4NCjAwMDAwMDE2OTAgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyNDU2IDAwMDAwIG4NCjAwMDAwMDI1NzQgMDAwMDAgbg0KDQp0cmFpbGVyDQo8PA0KL1NpemUgMTENCi9Sb290IDEgMCBSDQovSW5mbyAxMCAwIFINCj4+DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg==",
  "signCloudMetaData": {
    "singletonSigning": {
      "entry": [
        {
          "key": "VISIBLESIGNATURE",
          "value": "true"
        },
        {
          "key": "COORDINATE",
          "value": "0,0,300,60"
        },
        {
          "key": "TEXTDIRECTION",
          "value": "RIGHTTOLEFT"
        },
        {
          "key": "VISUALSTATUS",
          "value": "false"
        },
        {
          "key": "IMAGEANDTEXT",
          "value": "true"
        },
        {
          "key": "TEXTCOLOR",
          "value": "blue"
        },
        {
          "key": "PAGENO",
          "value": "1"
        },
        {
          "key": "SIGNATUREIMAGE",
          "value": "iVBORw0KGgoAAAANSUhEUgAAAEIAAABBCAYAAABlwHJGAAAACXBIWXMAAAsTAAALEwEAmpwYAAA7cGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDowRTJEMDRBRjk5M0VFNjExQTIwMkFCRjUwNERDMUIxQTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YmRlODA2OTctNzE0Yy0xMWU4LWI2NDctYzE5YWIzZTM1ZGMzPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkMTg3YTc0LTgxNDQtYzU0MS1hMzE5LTU4OWUzNmI3MTU4MzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpGMUVEQjU2Q0ZGNkFFODExOEI0Nzg0NDhGMDdFNEVBRDwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDowRTJEMDRBRjk5M0VFNjExQTIwMkFCRjUwNERDMUIxQTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjU2ODY5Nzg1LTYzMWEtOGU0ZC04ODBkLTM0YzM4ZTI2NmVhZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wNi0xNlQxNzowNToyMyswNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjNkMTg3YTc0LTgxNDQtYzU0MS1hMzE5LTU4OWUzNmI3MTU4Mzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wNi0xNlQxNzowNToyMyswNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxOC0wNi0xMVQxMzoxMzoyMSswNzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4LTA2LTE2VDE3OjA1OjIzKzA3OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxOC0wNi0xNlQxNzowNToyMyswNzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjY2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjY1PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5V4kAUAAAAIGNIUk0AAHolAACAgwAA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"
        }
      ]
    }
  },
  "signingApp": "IHD"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "description": "Authorization mode"
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of PDF signer, mimeType is ‘application/pdf’"
    },
    "signingFileData": {
      "type": "string",
      "description": "File that will be signed as Base64 string."
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "singletonSigning": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "mimeType",
    "signingFileData"
  ]
}
Request  Case 2: Sign XML File
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "EXPLICIT/PIN",
  "authorizeCode": "12345678",
  "mimeType": "application/xml",
  "signingFileData": "77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGludjppbnZvaWNlIHhtbG5zOmludj0iaHR0cDovL2xhcGhvYWRvbi5nZHQuZ292LnZuLzIwMTQvMDkvaW52b2ljZXhtbC92MSIgDQogIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4NCiAgPGludjppbnZvaWNlRGF0YSBpZD0iZGF0YSI+DQogICAgPGludjppbnZvaWNlVHlwZT4wMkdUVFQ8L2ludjppbnZvaWNlVHlwZT4NCiAgICA8aW52OnRlbXBsYXRlQ29kZT4wMkdUVFQwLzAwMTwvaW52OnRlbXBsYXRlQ29kZT4NCiAgICA8aW52Omludm9pY2VTZXJpZXM+QUIvMjBFPC9pbnY6aW52b2ljZVNlcmllcz4NCiAgICA8aW52Omludm9pY2VOdW1iZXI+MDAwMDAwMTwvaW52Omludm9pY2VOdW1iZXI+DQogICAgPGludjppbnZvaWNlSXNzdWVkRGF0ZT4yMDIwLTAxLTA4VDAwOjAwOjAwPC9pbnY6aW52b2ljZUlzc3VlZERhdGU+DQogICAgPGludjpzaWduZWREYXRlPg0KICAgIDwvaW52OnNpZ25lZERhdGU+DQogICAgPGludjpjdXJyZW5jeUNvZGU+Vk5EPC9pbnY6Y3VycmVuY3lDb2RlPg0KICAgIDxpbnY6YWRqdXN0bWVudFR5cGU+MTwvaW52OmFkanVzdG1lbnRUeXBlPg0KICAgIDxpbnY6cGF5bWVudHM+DQogICAgICA8aW52OnBheW1lbnQ+DQogICAgICAgIDxpbnY6cGF5bWVudE1ldGhvZE5hbWU+VE0vQ0s8L2ludjpwYXltZW50TWV0aG9kTmFtZT4NCiAgICAgIDwvaW52OnBheW1lbnQ+DQogICAgPC9pbnY6cGF5bWVudHM+DQogICAgPGludjpkZWxpdmVyeSAvPg0KICAgIDxpbnY6c2VsbGVyTGVnYWxOYW1lPkPDtG5nIFR5IEPhu5UgUGjhuqduIEPDtG5nIE5naOG7hyBUaW4gSOG7jWMgRUZZIFZp4buHdCBOYW08L2ludjpzZWxsZXJMZWdhbE5hbWU+DQogICAgPGludjpzZWxsZXJUYXhDb2RlPjAxMDI1MTkwNDE8L2ludjpzZWxsZXJUYXhDb2RlPg0KICAgIDxpbnY6c2VsbGVyQWRkcmVzc0xpbmU+VMOyYSBOaMOgIFNhbk5hbSBGb29kLCA3OCBEdXkgVMOibiwgQ+G6p3UgR2nhuqV5LCBIw6AgTuG7mWk8L2ludjpzZWxsZXJBZGRyZXNzTGluZT4NCiAgICA8aW52OnNlbGxlckZheE51bWJlcj4NCiAgICA8L2ludjpzZWxsZXJGYXhOdW1iZXI+DQogICAgPGludjpzZWxsZXJFbWFpbD4NCiAgICA8L2ludjpzZWxsZXJFbWFpbD4NCiAgICA8aW52OmRlbGl2ZXJ5T3JkZXJOdW1iZXI+DQogICAgPC9pbnY6ZGVsaXZlcnlPcmRlck51bWJlcj4NCiAgICA8aW52OmRlbGl2ZXJ5T3JkZXJCeT4NCiAgICA8L2ludjpkZWxpdmVyeU9yZGVyQnk+DQogICAgPGludjpkZWxpdmVyeU9yZGVyRGF0ZT4NCiAgICA8L2ludjpkZWxpdmVyeU9yZGVyRGF0ZT4NCiAgICA8aW52OmRlbGl2ZXJ5Qnk+DQogICAgPC9pbnY6ZGVsaXZlcnlCeT4NCiAgICA8aW52OmZyb21XYXJlaG91c2VOYW1lPg0KICAgIDwvaW52OmZyb21XYXJlaG91c2VOYW1lPg0KICAgIDxpbnY6dHJhbnNwb3J0YXRpb25NZXRob2Q+DQogICAgPC9pbnY6dHJhbnNwb3J0YXRpb25NZXRob2Q+DQogICAgPGludjp0b1dhcmVob3VzZU5hbWU+DQogICAgPC9pbnY6dG9XYXJlaG91c2VOYW1lPg0KICAgIDxpbnY6Y29udGFpbmVyTnVtYmVyPg0KICAgIDwvaW52OmNvbnRhaW5lck51bWJlcj4NCiAgICA8aW52OmRlbGl2ZXJ5T3JkZXJDb250ZW50Pg0KICAgIDwvaW52OmRlbGl2ZXJ5T3JkZXJDb250ZW50Pg0KICAgIDxpbnY6ZXhjaGFuZ2VSYXRlPjEgPC9pbnY6ZXhjaGFuZ2VSYXRlPg0KICAgIDxpbnY6aXRlbXM+DQogICAgICA8aW52Oml0ZW0+DQogICAgICAgIDxpbnY6bGluZU51bWJlcj4xPC9pbnY6bGluZU51bWJlcj4NCiAgICAgICAgPGludjppdGVtTmFtZT5JbnZvaWNlPC9pbnY6aXRlbU5hbWU+DQogICAgICAgIDxpbnY6cXVhbnRpdHk+MCA8L2ludjpxdWFudGl0eT4NCiAgICAgICAgPGludjppdGVtVG90YWxBbW91bnRXaXRob3V0VmF0PjExMTExMTExIDwvaW52Oml0ZW1Ub3RhbEFtb3VudFdpdGhvdXRWYXQ+DQogICAgICAgIDxpbnY6dmF0UGVyY2VudGFnZT4tMTwvaW52OnZhdFBlcmNlbnRhZ2U+DQogICAgICAgIDxpbnY6dmF0QW1vdW50PjAgPC9pbnY6dmF0QW1vdW50Pg0KICAgICAgICA8aW52OnVuaXRQcmljZT4wIDwvaW52OnVuaXRQcmljZT4NCiAgICAgICAgPGludjpwcm9tb3Rpb24+MDwvaW52OnByb21vdGlvbj4NCiAgICAgIDwvaW52Oml0ZW0+DQogICAgPC9pbnY6aXRlbXM+DQogICAgPGludjppbnZvaWNlVGF4QnJlYWtkb3ducz4NCiAgICAgIDxpbnY6aW52b2ljZVRheEJyZWFrZG93bj4NCiAgICAgICAgPGludjp2YXRQZXJjZW50YWdlPi0xPC9pbnY6dmF0UGVyY2VudGFnZT4NCiAgICAgIDwvaW52Omludm9pY2VUYXhCcmVha2Rvd24+DQogICAgPC9pbnY6aW52b2ljZVRheEJyZWFrZG93bnM+DQogICAgPGludjp0b3RhbEFtb3VudFdpdGhvdXRWQVQ+MTExMTExMTEgPC9pbnY6dG90YWxBbW91bnRXaXRob3V0VkFUPg0KICAgIDxpbnY6dG90YWxWQVRBbW91bnQ+MCA8L2ludjp0b3RhbFZBVEFtb3VudD4NCiAgICA8aW52OnRvdGFsQW1vdW50V2l0aFZBVD4xMTExMTExMSA8L2ludjp0b3RhbEFtb3VudFdpdGhWQVQ+DQogICAgPGludjp0b3RhbEFtb3VudFdpdGhWQVRJbldvcmRzPk3GsOG7nWkgbeG7mXQgdHJp4buHdSBt4buZdCB0csSDbSBtxrDhu51pIG3hu5l0IG5naMOsbiBt4buZdCB0csSDbSBtxrDhu51pIG3hu5l0IMSR4buTbmcgY2jhurVuLjwvaW52OnRvdGFsQW1vdW50V2l0aFZBVEluV29yZHM+DQogICAgPGludjpkaXNjb3VudEFtb3VudD4wIDwvaW52OmRpc2NvdW50QW1vdW50Pg0KICAgIDxpbnY6dXNlckRlZmluZXM+PC9pbnY6dXNlckRlZmluZXM+DQogIDwvaW52Omludm9pY2VEYXRhPg0KICA8aW52OmNvbnRyb2xEYXRhPg0KICAgIDxpbnY6c3lzdGVtQ29kZT5JSEQtVjM8L2ludjpzeXN0ZW1Db2RlPg0KICA8L2ludjpjb250cm9sRGF0YT4NCiAgPEluZm9LeT4NCiAgICA8TkdBWUtZLz4NCiAgPC9JbmZvS3k+DQo8L2ludjppbnZvaWNlPg0K",
  "signCloudMetaData": {
    "singletonSigning": {
      "entry": [
        {
          "key": "ALGORITHM",
          "value": "SHA-1"
        },
        {
          "key": "SIGNATUREFORMAT",
          "value": "DSIG"
        },
        {
          "key": "SIGNATUREID",
          "value": "seller"
        },
        {
          "key": "ATTRIBUTENAME",
          "value": "id"
        },
        {
          "key": "NODETOBESIGNED",
          "value": "data"
        },
        {
          "key": "SIGNATURELOCATION",
          "value": "inv:invoice"
        }
      ]
    }
  },
  "signingApp": "IHD"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "description": "Authorization mode"
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of XML signer, mimeType is ‘application/xml"
    },
    "signingFileData": {
      "type": "string",
      "description": "File that will be signed as Base64 string."
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "singletonSigning": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "mimeType",
    "signingFileData"
  ]
}
Request  Case 3: Sign PDF File With OTP-EMAIL Authorization
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "EXPLICIT/OTP-EMAIL",
  "mimeType": "application/pdf",
  "signingFileData": "JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL091dGxpbmVzIDIgMCBSDQovUGFnZXMgMyAwIFINCj4+DQplbmRvYmoNCg0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCg0KMyAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0NvdW50IDINCi9LaWRzIFsgNCAwIFIgNiAwIFIgXSANCj4+DQplbmRvYmoNCg0KNCAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovRm9udCA8PA0KL0YxIDkgMCBSIA0KPj4NCi9Qcm9jU2V0IDggMCBSDQo+Pg0KL01lZGlhQm94IFswIDAgNjEyLjAwMDAgNzkyLjAwMDBdDQovQ29udGVudHMgNSAwIFINCj4+DQplbmRvYmoNCg0KNSAwIG9iag0KPDwgL0xlbmd0aCAxMDc0ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBIFNpbXBsZSBQREYgRmlsZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIFRoaXMgaXMgYSBzbWFsbCBkZW1vbnN0cmF0aW9uIC5wZGYgZmlsZSAtICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCigganVzdCBmb3IgdXNlIGluIHRoZSBWaXJ0dWFsIE1lY2hhbmljcyB0dXRvcmlhbHMuIE1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NTIuNzUyMCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDYyOC44NDgwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjE2Ljg5NjAgVGQNCiggdGV4dC4gQW5kIG1vcmUgdGV4dC4gQm9yaW5nLCB6enp6ei4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjA0Ljk0NDAgVGQNCiggbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDU5Mi45OTIwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNTY5LjA4ODAgVGQNCiggQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA1NTcuMTM2MCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBFdmVuIG1vcmUuIENvbnRpbnVlZCBvbiBwYWdlIDIgLi4uKSBUag0KRVQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCjYgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCAzIDAgUg0KL1Jlc291cmNlcyA8PA0KL0ZvbnQgPDwNCi9GMSA5IDAgUiANCj4+DQovUHJvY1NldCA4IDAgUg0KPj4NCi9NZWRpYUJveCBbMCAwIDYxMi4wMDAwIDc5Mi4wMDAwXQ0KL0NvbnRlbnRzIDcgMCBSDQo+Pg0KZW5kb2JqDQoNCjcgMCBvYmoNCjw8IC9MZW5ndGggNjc2ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBTaW1wbGUgUERGIEZpbGUgMiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIC4uLmNvbnRpbnVlZCBmcm9tIHBhZ2UgMS4gWWV0IG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NzYuNjU2MCBUZA0KKCBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY2NC43MDQwIFRkDQooIHRleHQuIE9oLCBob3cgYm9yaW5nIHR5cGluZyB0aGlzIHN0dWZmLiBCdXQgbm90IGFzIGJvcmluZyBhcyB3YXRjaGluZyApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY1Mi43NTIwIFRkDQooIHBhaW50IGRyeS4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NDAuODAwMCBUZA0KKCBCb3JpbmcuICBNb3JlLCBhIGxpdHRsZSBtb3JlIHRleHQuIFRoZSBlbmQsIGFuZCBqdXN0IGFzIHdlbGwuICkgVGoNCkVUDQplbmRzdHJlYW0NCmVuZG9iag0KDQo4IDAgb2JqDQpbL1BERiAvVGV4dF0NCmVuZG9iag0KDQo5IDAgb2JqDQo8PA0KL1R5cGUgL0ZvbnQNCi9TdWJ0eXBlIC9UeXBlMQ0KL05hbWUgL0YxDQovQmFzZUZvbnQgL0hlbHZldGljYQ0KL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcNCj4+DQplbmRvYmoNCg0KMTAgMCBvYmoNCjw8DQovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQ0KL1Byb2R1Y2VyIChOZXZyb25hIERlc2lnbnMpDQovQ3JlYXRpb25EYXRlIChEOjIwMDYwMzAxMDcyODI2KQ0KPj4NCmVuZG9iag0KDQp4cmVmDQowIDExDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTkgMDAwMDAgbg0KMDAwMDAwMDA5MyAwMDAwMCBuDQowMDAwMDAwMTQ3IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAwMDM5MCAwMDAwMCBuDQowMDAwMDAxNTIyIDAwMDAwIG4NCjAwMDAwMDE2OTAgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyNDU2IDAwMDAwIG4NCjAwMDAwMDI1NzQgMDAwMDAgbg0KDQp0cmFpbGVyDQo8PA0KL1NpemUgMTENCi9Sb290IDEgMCBSDQovSW5mbyAxMCAwIFINCj4+DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg==",
  "signCloudMetaData": {
    "singletonSigning": {
      "entry": [
        {
          "key": "VISIBLESIGNATURE",
          "value": "true"
        },
        {
          "key": "COORDINATE",
          "value": "0,0,300,60"
        },
        {
          "key": "TEXTDIRECTION",
          "value": "RIGHTTOLEFT"
        },
        {
          "key": "VISUALSTATUS",
          "value": "false"
        },
        {
          "key": "IMAGEANDTEXT",
          "value": "true"
        },
        {
          "key": "TEXTCOLOR",
          "value": "blue"
        },
        {
          "key": "PAGENO",
          "value": "1"
        },
        {
          "key": "SIGNATUREIMAGE",
          "value": "iVBORw0KGgoAAAANSUhEUgAAAEIAAABBCAYAAABlwHJGAAAACXBIWXMAAAsTAAALEwEAmpwYAAA7cGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDowRTJEMDRBRjk5M0VFNjExQTIwMkFCRjUwNERDMUIxQTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YmRlODA2OTctNzE0Yy0xMWU4LWI2NDctYzE5YWIzZTM1ZGMzPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkMTg3YTc0LTgxNDQtYzU0MS1hMzE5LTU4OWUzNmI3MTU4MzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpGMUVEQjU2Q0ZGNkFFODExOEI0Nzg0NDhGMDdFNEVBRDwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDowRTJEMDRBRjk5M0VFNjExQTIwMkFCRjUwNERDMUIxQTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjU2ODY5Nzg1LTYzMWEtOGU0ZC04ODBkLTM0YzM4ZTI2NmVhZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wNi0xNlQxNzowNToyMyswNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjNkMTg3YTc0LTgxNDQtYzU0MS1hMzE5LTU4OWUzNmI3MTU4Mzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wNi0xNlQxNzowNToyMyswNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxOC0wNi0xMVQxMzoxMzoyMSswNzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4LTA2LTE2VDE3OjA1OjIzKzA3OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxOC0wNi0xNlQxNzowNToyMyswNzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjY2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjY1PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5V4kAUAAAAIGNIUk0AAHolAACAgwAA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"
        }
      ]
    }
  },
  "notificationSubject": "Authorization",
  "notificationTemplate": "Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes",
  "signingApp": "IHD"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "description": "Authorization mode"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of PDF signer, mimeType is ‘application/pdf’"
    },
    "signingFileData": {
      "type": "string",
      "description": "File that will be signed as Base64 string."
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "singletonSigning": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    },
    "notificationSubject": {
      "type": "string",
      "description": "This parameter is used as Email subject for signing authorization. If OTP Email is used, this parameter is mandatory It should be used in case of the Remote Signing will use owned SMTP to send OTP Email to customer. ."
    },
    "notificationTemplate": {
      "type": "string",
      "description": "Message contains Authorize Code will be sent to customer’s Phone/Email. Authorize Code is generated on Remote Signing and embedded into template. E.g: Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "mimeType",
    "signingFileData"
  ]
}
Request  Case 4: Sign invoice XML file with TT78 format
HideShow
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "EXPLICIT/PIN",
  "authorizeCode": "12345678",
  "mimeType": "application/xml",
  "signingFileData": "PEhEb24+PERMSERvbiBJZD0iSW52b2ljZURhdGEiPjxUVENodW5nPjxQQmFuPjIuMC4wPC9QQmFuPjxUSERvbj5Iw7NhIMSRxqFuIGdpw6EgdHLhu4sgZ2lhIHTEg25nPC9USERvbj48S0hNU0hEb24+MTwvS0hNU0hEb24+PEtISERvbj5DMjFUREc8L0tISERvbj48U0hEb24+MTwvU0hEb24+PE5MYXA+MjAyMS0xMS0xMTwvTkxhcD48RFZUVGU+Vk5EPC9EVlRUZT48SFRUVG9hbj5UTS9DSzwvSFRUVG9hbj48TVNUVENHUD4wMTAyNTE5MDQxPC9NU1RUQ0dQPjwvVFRDaHVuZz48TkRIRG9uPjxOQmFuPjxUZW4+Q8OUTkcgVFkgVE5ISCBUUlVZ4buATiBUSMOUTkcgVMOZTkcgVknhu4ZUPC9UZW4+PE1TVD4wMjAxMDYwNTIwPC9NU1Q+PERDaGk+VOG6p25nIDksIHTDsmEgbmjDoCBTYW5uYW08L0RDaGk+PFNEVGhvYWk+KDA0KSA3NDY4NzM2NTQ1PC9TRFRob2FpPjwvTkJhbj48Tk11YT48VGVuPkPDlE5HIFRZIFROSEggQ8agIEtIw40gQ0jDjU5IIFjDgUMgSDJUIEjDgCBO4buYSTwvVGVuPjxNU1Q+MDEwODQ1Njg3MDwvTVNUPjxEQ2hpPktodSBjaOG7oyBt4bubaSwgdOG7lSA1LCBuZ8O1IDE1OSwgxJHGsOG7nW5nIFTDonkgU8ahbiwgVGjhu4sgdHLhuqVuIFBow7luZywgSHV54buHbiDEkGFuIFBoxrDhu6NuZywgSMOgIE7hu5lpPC9EQ2hpPjxNS0hhbmc+Y3R0bmhoY2tjeGgydDwvTUtIYW5nPjxTRFRob2FpLz48SFZUTk1IYW5nPkPDlE5HIFRZIFROSEggQ8agIEtIw40gQ0jDjU5IIFjDgUMgSDJUIEjDgCBO4buYSTwvSFZUTk1IYW5nPjxUTkhhbmc+MTExMDAwMTc4Mzk5IC0gVOG6oWkgTmfDom4gaMOgbmcgVE1DUCBDw7RuZyB0aMawxqFuZyBWaeG7h3QgTmFtIOKAkyBjaGkgbmjDoW5oIELhuq9jIFPDoGkgR8OybjwvVE5IYW5nPjwvTk11YT48RFNISERWdT48SEhEVnU+PFRDaGF0PjE8L1RDaGF0PjxTVFQ+MTwvU1RUPjxNSEhEVnU+SEgwMDAyNTwvTUhIRFZ1PjxUSEhEVnU+RMSDbSBiw7RuZyB2dcO0bmcgLSBTcXVhcmUgaGFtPC9USEhEVnU+PFNMdW9uZz4xPC9TTHVvbmc+PERHaWE+MTI1MDAwPC9ER2lhPjxUaFRpZW4+MTI1MDAwPC9UaFRpZW4+PFRTdWF0PjEwJTwvVFN1YXQ+PC9ISERWdT48L0RTSEhEVnU+PFRUb2FuPjxUSFRUTFRTdWF0PjxMVFN1YXQ+PFRTdWF0PjEwJTwvVFN1YXQ+PFRoVGllbj4xMjUwMDA8L1RoVGllbj48VFRodWU+MTI1MDA8L1RUaHVlPjwvTFRTdWF0PjwvVEhUVExUU3VhdD48VGdUQ1RodWU+MTI1MDAwPC9UZ1RDVGh1ZT48VGdUVGh1ZT4xMjUwMDwvVGdUVGh1ZT48VGdUVFRCU28+MTM3NTAwPC9UZ1RUVEJTbz48VGdUVFRCQ2h1Pk3hu5l0IHRyxINtIGJhIG3GsMahaSBi4bqjeSBuZ2jDrG4gbsSDbSB0csSDbSDEkeG7k25nIGNo4bq1bi48L1RnVFRUQkNodT48L1RUb2FuPjwvTkRIRG9uPjwvRExIRG9uPjxEU0NLUz48TkJhbi8+PE5NdWEvPjwvRFNDS1M+PC9IRG9uPg",
  "signCloudMetaData": {
    "singletonSigning": {
      "entry": [
        {
          "key": "SIGNATUREFORMAT",
          "value": "TAX-211120"
        },
        {
          "key": "SIGNINGTIMEXMLSN",
          "value": "https://hoadondientu.gdt.gov.vn"
        },
        {
          "key": "SIGNATURELOCATION",
          "value": "DSCKS/NBan"
        },
        {
          "key": "NODETOBESIGNED",
          "value": "InvoiceData"
        },
        {
          "key": "SIGNATUREID",
          "value": "seller"
        }
      ]
    }
  },
  "signingApp": "IHD"
}
Schema
{
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "description": "Authorization mode"
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of XML signer, mimeType is ‘application/xml"
    },
    "signingFileData": {
      "type": "string",
      "description": "File that will be signed as Base64 string."
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "singletonSigning": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "mimeType",
    "signingFileData"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Request  Case 5: Sign register XML file with TT78 format
HideShow
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "EXPLICIT/PIN",
  "authorizeCode": "12345678",
  "mimeType": "application/xml",
  "signingFileData": "PFRLaGFpPjxETFRLaGFpIElkPSJEZWNsYXJhdGlvbkRhdGEiPjxUVENodW5nPjxQQmFuPjIuMC4wPC9QQmFuPjxNU28+MDEvxJBLVMSQLUjEkMSQVDwvTVNvPjxUZW4+VOG7nSBraGFpIMSRxINuZyBrw70vdGhheSDEkeG7lWkgdGjDtG5nIHRpbiBz4butIGThu6VuZyBow7NhIMSRxqFuIMSRaeG7h24gdOG7rTwvVGVuPjxMREtVTmhpZW0+MTwvTERLVU5oaWVtPjxUTk5UPkzhu4cgVGVzdCBUVDc4IDE8L1ROTlQ+PE1TVD45OTk5OTk5NzAyPC9NU1Q+PENRVFFMeT5D4bulYyBUaHXhur8gVHAuIEjhu5MgQ2jDrSBNaW5oPC9DUVRRTHk+PE1DUVRRTHk+NzAxMDA8L01DUVRRTHk+PE5MSGU+TWFpIE5n4buNYyBM4buHIDE8L05MSGU+PERDTEhlPlRo4bunIMSQ4bupYywgVHAuIEjhu5MgQ2jDrSBNaW5oIDE8L0RDTEhlPjxEQ1REVHU+bWFpbmdvY2xlLndvcmtAZ21haWwuY29tPC9EQ1REVHU+PERUTEhlPjA5NjgwNDc4MDM8L0RUTEhlPjxERGFuaD5I4buTIENow60gTWluaDwvRERhbmg+PE5MYXA+MjAyMS0xMS0xOTwvTkxhcD48L1RUQ2h1bmc+PE5EVEtoYWk+PEhUSERvbj48Q01hPjE8L0NNYT48S0NNYT4wPC9LQ01hPjwvSFRIRG9uPjxIVEdETEhERFQ+PE5OVERCS0toYW4+MDwvTk5UREJLS2hhbj48Tk5US1RETlVCTkQ+MDwvTk5US1RETlVCTkQ+PENETFRURENRVD4wPC9DRExUVERDUVQ+PENETFFUQ1ROPjA8L0NETFFUQ1ROPjwvSFRHRExIRERUPjxQVGh1Yz48Q0REdT4xPC9DRER1PjxDQlRIb3A+MDwvQ0JUSG9wPjwvUFRodWM+PExIRFNEdW5nPjxIREdUR1Q+MTwvSERHVEdUPjxIREJIYW5nPjE8L0hEQkhhbmc+PEhEQlRTQ29uZz4wPC9IREJUU0Nvbmc+PEhEQkhEVFFHaWE+MDwvSERCSERUUUdpYT48SERLaGFjPjE8L0hES2hhYz48Q1R1PjE8L0NUdT48L0xIRFNEdW5nPjxEU0NUU1NEdW5nPjxDVFM+PFNUVD4xPC9TVFQ+PFRUQ2h1Yz5DPVZOLCBPPUPDlE5HIFRZIEPhu5QgUEjhuqZOIEPDlE5HIE5HSOG7hiBUSU4gSOG7jEMgRUZZIFZJ4buGVCBOQU0sIENOPUVGWUNBX1RFU1Q8L1RUQ2h1Yz48U2VyaT41NDAxMEEwREJBMTQ5NzFFQTQ5ODFGODEyRTQwOERFNzwvU2VyaT48VE5nYXk+MjAyMS0xMC0yM1QwOToyMzowMDwvVE5nYXk+PEROZ2F5PjIwMjItMTAtMjNUMDk6MjM6MDA8L0ROZ2F5PjxIVGh1Yz4zPC9IVGh1Yz48L0NUUz48Q1RTPjxTVFQ+MjwvU1RUPjxUVENodWM+Qz1WTiwgTz1Dw5RORyBUWSBD4buUIFBI4bqmTiBDw5RORyBOR0jhu4YgVElOIEjhu4xDIEVGWSBWSeG7hlQgTkFNLCBDTj1FRllDQV9URVNUPC9UVENodWM+PFNlcmk+NTQwMTBBMEE5MzAxQ0FDQTUxQjgzMjM1NDhCNDY4OTk8L1Nlcmk+PFROZ2F5PjIwMjEtMTAtMjNUMDk6MjQ6MDA8L1ROZ2F5PjxETmdheT4yMDIyLTEwLTIzVDA5OjI0OjAwPC9ETmdheT48SFRodWM+MTwvSFRodWM+PC9DVFM+PC9EU0NUU1NEdW5nPjxEU0RLVU5oaWVtPjxTVFQ+MTwvU1RUPjxUTEhEb24+SMOzYSDEkcahbiBiw6FuIGjDoG5nPC9UTEhEb24+PEtITVNIRG9uPjI8L0tITVNIRG9uPjxLSEhEb24+SzIxVEFCPC9LSEhEb24+PE1TVD45OTk5OTk5NzcwPC9NU1Q+PFRUQ2h1Yz5Dw7RuZyB0eSBM4buHIHRlc3Q8L1RUQ2h1Yz48TURpY2g+TOG6rXAgaMOzYSDEkcahbjwvTURpY2g+PFROZ2F5PjIwMjEtMTEtMTJUMDA6MDA6MDA8L1ROZ2F5PjxETmdheT4yMDIxLTExLTMwVDAwOjAwOjAwPC9ETmdheT48UFRodWM+VE0vQ0s8L1BUaHVjPjwvRFNES1VOaGllbT48L05EVEtoYWk+PC9ETFRLaGFpPjxEU0NLUz48Tk5ULz48L0RTQ0tTPjwvVEtoYWk+",
  "signCloudMetaData": {
    "singletonSigning": {
      "entry": [
        {
          "key": "SIGNATUREFORMAT",
          "value": "TAX-211120"
        },
        {
          "key": "SIGNINGTIMEXMLSN",
          "value": "https://hoadondientu.gdt.gov.vn"
        },
        {
          "key": "SIGNATURELOCATION",
          "value": "DSCKS/NNT"
        },
        {
          "key": "NODETOBESIGNED",
          "value": "DeclarationData"
        },
        {
          "key": "SIGNATUREID",
          "value": "proid"
        }
      ]
    }
  },
  "signingApp": "IHD"
}
Schema
{
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "description": "Authorization mode"
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of XML signer, mimeType is ‘application/xml"
    },
    "signingFileData": {
      "type": "string",
      "description": "File that will be signed as Base64 string."
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "singletonSigning": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "mimeType",
    "signingFileData"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "notificationTemplate": "Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes",
  "notificationSubject": "Authorization",
  "signedFileData": "RmlsZSBiaW5hcnkgdGhhdCBiZSBzaWduZWQ=",
  "mimeType": "application/pdf",
  "multipleSignedFileData": [
    {
      "signedFileData": "RmlsZSBiaW5hcnkgdGhhdCBiZSBzaWduZWQ=",
      "mimeType": "application/pdf",
      "signedFileName": "invoice_123456.pdf",
      "dmsMetaData": ""
    }
  ],
  "certificateDN": "E.g: CN=Nguyen Van A, O=B Company,C=VN",
  "certificateSerialNumber": "54010A5560E78C1DAC82237E280A775F",
  "certificateThumbprint": "B72E67D9DE53332B632A7863F7BF5AA77AD0D08C",
  "validFrom": "2020-02-26T16:03:05+07:00",
  "validTo": "2021-02-25T16:03:05+07:00",
  "issuerDN": "CN=Mobile-ID Trusted Network, O=MOBILE-ID,C=VN",
  "sharedMode": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "notificationTemplate": {
      "type": "string",
      "description": "Message contains Authorize Code will be sent to customer’s Phone/Email. Authorize Code is generated on Remote Signing and embedded into template. E.g: Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes"
    },
    "notificationSubject": {
      "type": "string",
      "description": "This parameter is used as Email subject for signing authorization. If OTP Email is used, this parameter is mandatory It should be used in case of the Remote Signing will use owned SMTP to send OTP Email to customer. ."
    },
    "authorizeCredential": {
      "type": "string",
      "description": "In case of Authorize Code isn’t sent by Remote Signing, Email of client/customer also is responded back to Finance/Insurance company and they use that information to send Authorize Code to their end-user"
    },
    "signedFileData": {
      "type": "string",
      "description": "File binary that be signed as Base64 string"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of PDF signer, mimeType is ‘application/pdf’"
    },
    "signedFileUUID": {
      "type": "string",
      "description": "Signed file UUID that identified by our Remote Signing service"
    },
    "multipleSignedFileData": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "signedFileData": {
            "type": "string",
            "description": "File binary that be signed as Base64 string"
          },
          "mimeType": {
            "type": "string",
            "description": "In case of PDF signer, mimeType is ‘application/pdf’"
          },
          "signedFileUUID": {
            "type": "string",
            "description": "Signed file UUID that identified by our Remote Signing service"
          },
          "signedFileName": {
            "type": "string",
            "description": "The signed document name"
          },
          "dmsMetaData": {
            "type": "string",
            "description": "The DMS information used for signed document download"
          }
        },
        "required": [
          "mimeType"
        ]
      },
      "description": "In case of signing multiple files, the multiple signed files will be responded in this object"
    },
    "xmlSignature": {
      "type": "string",
      "description": "XML Signature (XMLDSig or XML-XadDES)"
    },
    "certificateDN": {
      "type": "string",
      "description": "`Certificate Distinguished Name (DN). E.g: CN=Nguyen Van A, O=B Company,C=VN`"
    },
    "certificateSerialNumber": {
      "type": "string",
      "description": "`Certificate serial number E.g: 5405ABCDEF`"
    },
    "certificateThumbprint": {
      "type": "string",
      "description": "Certificate thumprint (certificate hash)"
    },
    "validFrom": {
      "type": "string",
      "description": "The date of certificate begin to be valid"
    },
    "validTo": {
      "type": "string",
      "description": "The date of certificate begin to be expired"
    },
    "issuerDN": {
      "type": "string",
      "description": "`Issuer Certifcate Distinguished Name (DN) E.g: CN=Mobile-ID Trusted Network, O=MOBILE-ID,C=VN`"
    },
    "sharedMode": {
      "type": "number",
      "enum": [
        1,
        2,
        3
      ],
      "default": 1,
      "description": "Which sharing mode applied to this agreement in the Remote Signing service."
    }
  },
  "required": [
    "responseCode",
    "mimeType"
  ]
}

Authorize Signing File

Authorize Signing File
POST/signing/file/authorize

This method is known as “Sign Response”, that means client responds the Authorize Code to Remote Signing. Remote Signing will verify the received Authorize Code and response signed document (contract) whether it’s correct.

Reference: Auth Mode, Response Code

Example URI

POST https://api.remotesigning.vn/signing/file/authorize
Request  Authorize Signing File
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "billCode": "EFY_CA",
  "authorizeCode": "12345678",
  "signCloudMetaData": {
    "'singletonSigning'": {
      "entry": [
        {
          "key": "SIGNATUREIMAGE",
          "value": "0,0,300,60"
        }
      ]
    },
    "'counterSigning'": {
      "entry": [
        {
          "key": "SIGNATUREIMAGE",
          "value": "0,0,300,60"
        }
      ]
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "signCloudMetaData": {
      "type": "object",
      "properties": {
        "'singletonSigning'": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "key"
                  },
                  "value": {
                    "type": "string",
                    "description": "value"
                  }
                }
              }
            }
          },
          "description": "Signing meta data for customer signature"
        },
        "'counterSigning'": {
          "type": "object",
          "properties": {
            "entry": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "key"
                  },
                  "value": {
                    "type": "string",
                    "description": "value"
                  }
                }
              }
            }
          },
          "description": "Meta data for counter signing"
        }
      },
      "description": "SignCloudMetaData contains additional signer properties which are used for PDF signature display: Coordinate, Background image, Signer location, Signer reason, Text color. In case of XML sigining, it will indicate which type should be applied XMLDSig, XML-XaDES, signature zone Once this parameter is not used, Remote Signing should use the default value that already configured in the system. In case of counter signing process, SignCloudMetaData included 2 MetaDatas for customer and Relying Party signer properties"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "remainingCounter": 1,
  "signedFileData": "RmlsZSBiaW5hcnkgdGhhdCBiZSBzaWduZWQ=",
  "mimeType": "application/pdf",
  "signedFileUUID": "Hello, world!",
  "xmlSignature": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "remainingCounter": {
      "type": "number",
      "description": "Once changed Passcode successfully, this parameter will be the Max-Counter that already configured in the General Policy of Remote Signing serviceOnce changed Passcode failed, this parameter will be decreased ONE value, if this parameter reached ZERO, our agreement in Remote Signing will be blocked in the duration that already configured. Once this duration ended, our agreement will be unblocked automatically and we continued to use with current Passcode"
    },
    "signedFileData": {
      "type": "string",
      "description": "File binary that be signed as Base64 string"
    },
    "mimeType": {
      "type": "string",
      "description": "In case of PDF signer, mimeType is ‘application/pdf’"
    },
    "signedFileUUID": {
      "type": "string",
      "description": "Signed file UUID that identified by our Remote Signing service"
    },
    "xmlSignature": {
      "type": "string",
      "description": "XML Signature (XMLDSig or XML-XadDES)"
    }
  },
  "required": [
    "responseCode",
    "mimeType"
  ]
}

Sign Hash

Sign Hash
POST/signing/hash

This method is known as “Sign Request”, it means that client request to Remote Signing. Remote Signing will send back an Authorize Code via SMS or Email to authorize the client. This method also requires the hash value which needs to be signed.

Reference: Auth Mode, Response Code

Example URI

POST https://api.remotesigning.vn/signing/hash
Request  Sign Hash
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "authMode": "Hello, world!",
  "authorizeCode": "12345678",
  "encryption": "RSA",
  "hash": "f3a8a2f048b6ae0d3a5b14a803d707ffeb190a91fc8719c3c8886c64a1732094",
  "hashs": [
    "f3a8a2f048b6ae0d3a5b14a803d707ffeb190a91fc8719c3c8886c64a1732094",
    "f3a8a2f048b6ae0d3a5b14a803d707ffeb190a91fc8719c3c8886c64a1732094"
  ],
  "hashAlgorithm": "SHA-256",
  "mimeType": "application/sha256-binary",
  "signingApp": "IHD"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "authMode": {
      "type": "string",
      "enum": [
        "EXPLICIT/PIN",
        "EXPLICIT/OTP-SMS",
        "EXPLICIT/OTP-EMAIL"
      ],
      "default": "EXPLICIT/PIN",
      "description": "Specifies one of the authorization modes."
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    },
    "encryption": {
      "type": "string",
      "description": "Signature encryption type. The default value is RSA",
      "default": "RSA"
    },
    "hash": {
      "type": "string",
      "description": "Hash to be signed"
    },
    "hashs": {
      "type": "array",
      "description": "Hashs to be signed"
    },
    "hashAlgorithm": {
      "type": "string",
      "enum": [
        "SHA-256",
        "SHA-384",
        "SHA-512"
      ],
      "description": "hashAlgorithm"
    },
    "mimeType": {
      "type": "string",
      "enum": [
        "application/sha256-binary",
        "application/sha384-binary",
        "application/sha512-binary"
      ],
      "description": "The available mime type for hash signing"
    },
    "signingApp": {
      "type": "string",
      "description": "signing application"
    }
  },
  "required": [
    "agreementUUID",
    "authMode",
    "hashAlgorithm",
    "mimeType"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "notificationTemplate": "Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes",
  "notificationSubject": "Authorization",
  "authorizeCredential": "Hello, world!",
  "signatureValue": "Hello, world!",
  "signatureValues": [
    "C6bENR+KLDfUSxLNl5QpdlDZKKK29n7k1tsNBhPeZ+FflGI0TmkKz8NDMz6a/m8mI9/cH2pkI65yzsbeSlBVkdNSARkzBGLsT7Bg3pnGe8/re/WTSB/EjVI2oH2JvVOtQbm0Yjzuvgnei5BuRTgw6hpF+k8UbT1OHCM2kY4efI/wos/vBFrxspIsw/wCvdQuhPrSrsFj2hSZ8ScUv5Z5Gt+Ay4nPrixA6x5aK2NanM2ind9Vu9yiCY+O9hisjn8eVEldbU4yD+IJnjQLFr3GRAfutZduExm2b9QzFUd8zQuIZYCpadFXPR6J5uQnLrcsoP5TmSfjuiKQcymPc5FV6A==",
    "C6bENR+KLDfUSxLNl5QpdlDZKKK29n7k1tsNBhPeZ+FflGI0TmkKz8NDMz6a/m8mI9/cH2pkI65yzsbeSlBVkdNSARkzBGLsT7Bg3pnGe8/re/WTSB/EjVI2oH2JvVOtQbm0Yjzuvgnei5BuRTgw6hpF+k8UbT1OHCM2kY4efI/wos/vBFrxspIsw/wCvdQuhPrSrsFj2hSZ8ScUv5Z5Gt+Ay4nPrixA6x5aK2NanM2ind9Vu9yiCY+O9hisjn8eVEldbU4yD+IJnjQLFr3GRAfutZduExm2b9QzFUd8zQuIZYCpadFXPR6J5uQnLrcsoP5TmSfjuiKQcymPc5FV6A=="
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "notificationTemplate": {
      "type": "string",
      "description": "Message contains Authorize Code will be sent to customer’s Phone/Email. Authorize Code is generated on Remote Signing and embedded into template. E.g: Your authorize code: {AuthorizeCode}. Authorize Code is valid within 5 minutes"
    },
    "notificationSubject": {
      "type": "string",
      "description": "This parameter is used as Email subject for signing authorization. If OTP Email is used, this parameter is mandatory It should be used in case of the Remote Signing will use owned SMTP to send OTP Email to customer. ."
    },
    "authorizeCredential": {
      "type": "string",
      "description": "In case of Authorize Code isn’t sent by Remote Signing, Email of client/customer also is responded back to Finance/Insurance company and they use that information to send Authorize Code to their end-user"
    },
    "signatureValue": {
      "type": "string",
      "description": "The PKCS#1 Signature as Base64 String will be sent to RelyingParty"
    },
    "signatureValues": {
      "type": "array",
      "description": "The PKCS#1 Signature as Base64 String will be sent to RelyingParty"
    }
  },
  "required": [
    "responseCode"
  ]
}

Authorize Signing Hash

Authorize Signing Hash
POST/signing/hash/authorize

This method is known as “Sign Request”, it means that client request to Remote Signing. Remote Signing will send back an Authorize Code via SMS or Email to authorize the client. This method also requires the hash value which needs to be signed.

Reference: Auth Mode, Response Code

Example URI

POST https://api.remotesigning.vn/signing/hash/authorize
Request  Authorize Signing Hash
HideShow
Headers
Content-Type: application/json
Body
{
  "agreementUUID": "13ae13a443e2",
  "billCode": "EFY_CA",
  "authorizeCode": "12345678"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "agreementUUID": {
      "type": "string",
      "description": "Identify the client/customer/agreement number"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "authorizeCode": {
      "type": "string",
      "description": "Authorize Code provided by customer. In this case of passcode (EXPLICIT/PIN) is used, authorize code is passcode"
    }
  },
  "required": [
    "agreementUUID"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "responseCode": 1007,
  "responseMessage": "REQUEST ACCEPTED",
  "billCode": "EFY_CA",
  "timestamp": "2020-02-28T13:28:42+07:00",
  "status": true,
  "remainingCounter": 1,
  "signatureValue": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "responseCode": {
      "type": "number",
      "description": "Code describes the result. Normally. Remote Signing will response REQUEST ACCEPTED"
    },
    "responseMessage": {
      "type": "string",
      "description": "Message describes the result in detail"
    },
    "billCode": {
      "type": "string",
      "description": "200221112613-3540-601895 (string, required) - Receipt for each transaction"
    },
    "timestamp": {
      "type": "string",
      "description": "Current timestamp"
    },
    "status": {
      "type": "boolean",
      "description": "Status of Result (true: Success, false: Error)"
    },
    "remainingCounter": {
      "type": "number",
      "description": "Once changed Passcode successfully, this parameter will be the Max-Counter that already configured in the General Policy of Remote Signing serviceOnce changed Passcode failed, this parameter will be decreased ONE value, if this parameter reached ZERO, our agreement in Remote Signing will be blocked in the duration that already configured. Once this duration ended, our agreement will be unblocked automatically and we continued to use with current Passcode"
    },
    "signatureValue": {
      "type": "string",
      "description": "The PKCS#1 Signature as Base64 String will be sent to RelyingParty"
    }
  },
  "required": [
    "responseCode"
  ]
}

Download Signed Files

Download Signed Files
GET/signing/download/file/{billCode}

Download signed files.

Reference: Response Code

Example URI

GET https://api.remotesigning.vn/signing/download/file/billCode
URI Parameters
HideShow
billCode
string (required) 

bill code

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "signedFiles": [
    {
      "fileName": "signed.pdf",
      "base64": "c2lnbmVkLnBkZg==",
      "mimeType": "application/pdf"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "signedFiles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "signed file name"
          },
          "base64": {
            "type": "string",
            "description": "signed file data as Base64 String"
          },
          "mimeType": {
            "type": "string",
            "description": "In case of PDF signer, mimeType is ‘application/pdf’"
          }
        },
        "required": [
          "fileName",
          "base64",
          "mimeType"
        ]
      },
      "description": "array signed files"
    }
  }
}

Reference

ShareMode

Which sharing mode applied to this agreement in the Remote Signing service.

Value Description
1 PRIVATE_MODE
2 RP_SHARED_MODE
3 AGREEMENT_SHARED_MODE

AuthMode

Specifies one of the authorization modes.

Value Description
EXPLICIT/PIN The authorization process is managed by the signature application, authentication method is passcode
EXPLICIT/OTP-SMS The authorization process is managed by the signature application, authentication method is otp sms.
EXPLICIT/OTP-EMAIL The authorization process is managed by the signature application, authentication method is otp email

ResponseCode

Value Description
0 SUCCESSFULLY
1000 INVALID IP ADDRESS
1001 INVALID CREDENTIAL DATA
1002 INVALID PARAMS
1003 UNEXPECTED EXCEPTION
1004 INVALID AUTHORIZATION CODE
1005 AUTHORIZATION BLOCKED
1006 AUTHORIZATION CODE TIMEOUT
1007 REQUEST ACCEPTED
1008 AGREEEMENT NOT FOUND
1009 CERTIFICATE IS NOT ENROLLED
1010 AGREEMENT EXISTED
1011 UNSUPPORTED OPERATION
1012 ACCESS DENIED
1013 AGREEMENT NOT READY
1014 CERTIFICATE IS EXPIRED
1015 BILLCODE TIMEOUT DUE TO UNEXPECTED EXCEPTION WHILE SIGNING
1016 FILE IS BEING PROCESSED
1017 AGREEMENT REVOKED
1018 SUCCESSFULLY. YOUR PASSCODE NEED TO BE CHANGED
1019 FUNCTION ACCESS DENIED
1020 FAILED TO CHECK REVOCATION
1021 CERTIFICATE REVOKED
1022 CERTIFICATE UNKNOWN
1023 SHARED AGREEMENT NOT FOUND
1024 SHARED AGREEMENT INVALID SHARED MODE
1025 FILE NOT FOUND
1026 MULTIPLE CLIENT MACHINE YSING THE SAME AGREEMENT UUID
1027 TRANSACTION NOT FINISHED
1029 CREDENTIALS HAVE BEEN EXPIRED
1028 EMAIL HAS BEEN REGISTERED

SignCloudMetaData

In signCloudMetaData includes 2 values singletonSigning and counterSigning. Where singletonSigning and counterSigning is an array of objects `{key: ‘keyname’, value: ‘value’}. The value of key, value is described as in the table below.

Key Description File Sample
VISIBLESIGNATURE Display signature frame (true, false) pdf true
IMAGEANDTEXT Display both text and images on the signature frame pdf true
SIGNATUREIMAGE image to add to the signature frame as Base64 string, format supported : png , jpg pdf aW1hZ2UgdG8gYWRkIHRvIHRoZS
BzaWduYXR1cmUgZnJhbWUgYXMgQm
FzZTY0IHN0cmluZw==
PAGENO Set the page to set the signature frame: “1”,“First”,“Last” pdf 1
POSITIONIDENTIFIER The string to find signature position pdf
RECTANGLEOFFSET When found signature position, this is rectangle offset (x,y) pdf '-30,5'
RECTANGLESIZE Size of reactangle (Width,Height) pdf '170,90'
COORDINATE Set absolute positions for signature frames, order “x1,y1,x2,y2”, no space between values. pdf '0,0,300,60'
TEXTCOLOR Set font color for signature frame pdf red
TEXTDIRECTION Text display position on signature frame pdf LEFTTORIGHT: Text on the left, Image on the right
RIGHTTOLEFT : Text on the right and Image on the left
SHOWSIGNERINFOSIGNERINFOPREFIX Display signer information on signature frame. The following PREFIX information will be taken from the digital certificate CN field pdf {SHOWSIGNERINFO: true, SIGNERINFOPREFIX: 'Signed by'} Will display the line: “Signed by: {Certificate Commmon Name}”
SHOWDATETIMEDATETIMEPREFIX Display date signature information on signature frame. Date signature data will be taken hourly on server pdf {SHOWDATETIME: true, DATETIMEPREFIX: 'Sign Date'} `Will display the line:" Sign Date: {DD / MM / YYYY} "
SHOWREASON, SIGNREASONPREFIXSIGNREASON Display REASON information on signature frame pdf {SHOWREASON: true, SIGNREASONPREFIX: 'Reason', SIGNREASON: 'Ok'} `Will display the line:" Reason: Ok "
SHOWLOCATION, LOCATIONLOCATIONPREFIX Display LOCATION information on the signature frame pdf `{SHOWLOCATION: true, LOCATION: ‘Hanoi’, LOCATIONPREFIX: ‘Place of signing’} 'Will display the line:" Place of signing: Hanoi "
LOCKAFTERSIGNING Lock the document after signing, the locked document will not be able to add more signatures (true, false) pdf true
SHOWEMAILEMAILPREFIX Display email on signature pdf {SHOWEMAIL: true, EMAILPREFIX: 'Email:'} `Will display the line:" Email: [email address] "
ALGORITHM Hash algorithm xml SHA-1
SIGNATUREFORMAT digital signature format (DSIG DSIG_SINGLE_NODE DSIG_MULTIPLE_NODES DSIG_XPATH XADES_EPES) xml DSIG
SIGNATUREID The id of the data card that needs to be signed xml|seller`
ATTRIBUTENAME The attribute name id xml id
CANONICALIZATIONMETHOD CANONICALIZATIONMETHOD (EXCLUSIVE, EXCLUSIVE_WITH_COMMENTS, INCLUSIVE, INCLUSIVE_WITH_COMMENTS) xml INCLUSIVE
NODETOBESIGNED NODETOBESIGNED xml data
SIGNATURELOCATION SIGNATURELOCATION xml inv:invoice

Generated by aglio on 15 Jul 2022