Introduction to the eversign Electronic Signature API

Continued from page 6. 

Here's an example of what the Get Template request returns. There's a lot of detail of the status of the document, particularly signers et al.

{
    "document_hash": "j6yMcaF2gQAIIQ",
    "requester_email": "your@email.com",
    "is_draft": 0,
    "is_template": 0,
    "is_completed": 0,
    "is_archived": 0,
    "is_deleted": 0,
    "is_trashed": 0,
    "is_cancelled": 0,
    "embedded": 0,
    "in_person": 0,
    "permission": "",
    "template_id": "",
    "title": "Sample Document",
    "message": "This is my general document message.",
    "use_signer_order": 1,
    "reminders": 1,
    "require_all_signers": 1,
    "redirect": "https://myredirect.com",
    "client": "",
    "created": 1491822481,
    "expires": 1494276966,
    "files": [{
        "name": "My Document File",
        "file_id": "FMA4SyCuHjrusK",
        "pages": 3
    }],
    "signers": [{
        "id": 1,
        "name": "Paul McSign",
        "email": "paul@mcsign.com",
        "role": "",
        "order": 1,
        "pin": 3874,
        "message": "This is my custom message to Paul.",
        "signed": 0,
        "signed_timestamp": "",
        "required": 0,
        "declined": 0,
        "sent": 1,
        "viewed": 0,
        "status": "waiting_for_signature"
    }, {
        "id": 2,
        "name": "Julian McSign",
        "email": "julian@mcsign.com",
        "role": "",
        "order": 2,
        "pin": 3944,
        "message": "",
        "signed": 0,
        "signed_timestamp": "",
        "required": 0,
        "declined": 0,
        "sent": 0,
        "viewed": 0,
        "status": "on_hold"
    }],
    "recipients": [{
        "name": "Jane McSign",
        "email": "jane@mcsign.com",
        "role": "",
        "message": "",
        "required": 0
    }, {
        "name": "Frank McSign",
        "email": "frank@mcsign.com",
        "role": "",
        "message": "",
        "required": 0
    }],
    "fields": [
        [{
            "merge": 0,
            "identifier": "unique_field_identifier_1",
            "name": "",
            "options": "",
            "group": "",
            "value": "",
            "type": "signature",
            "x": 120.43811219947,
            "y": 479.02760463045,
            "page": 2,
            "width": 120,
            "height": 35,
            "signer": 1,
            "validation_type": "",
            "required": 1,
            "readonly": 0,
            "text_size": "",
            "text_color": "",
            "text_style": "",
            "text_font": ""
        }, {
            "merge": 0,
            "identifier": "unique_field_identifier_2",
            "name": "",
            "options": "",
            "group": "",
            "value": "",
            "type": "signature",
            "x": 363.49421193232,
            "y": 479.57257346394,
            "page": 2,
            "width": 120,
            "height": 35,
            "signer": 2,
            "validation_type": "",
            "required": 1,
            "readonly": 0,
            "text_size": "",
            "text_color": "",
            "text_style": "",
            "text_font": ""
        }, {
            "merge": 0,
            "identifier": "unique_field_identifier_3",
            "name": "Full Name",
            "options": "",
            "group": "",
            "value": "",
            "type": "text",
            "x": 97.549421193232,
            "y": 123.70792520036,
            "page": 1,
            "width": 55,
            "height": 17,
            "signer": 1,
            "validation_type": "",
            "required": 1,
            "readonly": 0,
            "text_size": 10,
            "text_color": "#000000",
            "text_style": "",
            "text_font": "arial"
        }, {
            "merge": 0,
            "identifier": "unique_field_identifier_4",
            "name": "Full Name",
            "options": "",
            "group": "",
            "value": "",
            "type": "text",
            "x": 276.29919857524,
            "y": 123.16295636687,
            "page": 1,
            "width": 55,
            "height": 17,
            "signer": 2,
            "validation_type": "letters_only",
            "required": 1,
            "readonly": 0,
            "text_size": 10,
            "text_color": "#000000",
            "text_style": "",
            "text_font": "arial"
        }, {
            "merge": 0,
            "identifier": "unique_field_identifier_5",
            "name": "Dropdown",
            "options": [
                "Option 1",
                "Option 2",
                "Option 3"
            ],
            "group": "",
            "value": "Option 1",
            "type": "dropdown",
            "x": 440.4,
            "y": 204.2,
            "page": 2,
            "width": 92,
            "height": 23,
            "signer": 1,
            "validation_type": "",
            "required": 1,
            "readonly": 0,
            "text_size": "",
            "text_color": "",
            "text_style": "",
            "text_font": ""
        }]
    ],
    "log": [{
        "event": "document_created",
        "signer": "",
        "timestamp": 1491822484
    }, {
        "event": "document_sent",
        "signer": 1,
        "timestamp": 1491822485
    }],
    "meta": {
        "some_key": "some_value",
        "another_key": "another_value"
    }
}

Sending Reminders

Get Document Template will also identify who to send reminders to. Reminders are sent on a per-signer basis only

https://api.eversign.com/api/send_reminder
    ? access_key = YOUR_ACCESS_KEY
    & business_id = 1
NameDescription
document_hashThe unique hash (ID) of the document to send a reminder for.
signer_idThe ID of the signer to send a reminder to.

Download the Signed PDF

Once signatures are complete, you can download the final PDF.

https://api.eversign.com/api/download_final_document
    ? access_key = YOUR_ACCESS_KEY
    & business_id = 1
    & document_hash = j6yMcaF2gQBIIS
    & audit_trail = 1

Honestly, I was quite impressed at how eversign has implemented the requirements of an in depth set of secure, high value services with so few API methods. They do nice work.

In Conclusion

In my research for this tutorial, I got to interview one of the team members. My takeaway: this company is filled with very sharp individuals. I'd work with them anytime.

Building a service to collect electronic signatures has a sophisticated, complex set of requirements. Yet, the straightforward user interface and API interface eversign provides is special, especially at these affordable prices.

Now that we're near the end of today's tutorial, I hope you're eager to apply eversign to your own applications and systems. Or if you're an independent business or programmer, consider signing up for their free membership to make use of electronic document signing for your own agreements. It will impress your customers.

Of course, eversign appreciates your questions, comments and feedback! Please post them in the comments below or at their web contact form and we'll get right back to you. You can also follow them on Twitter @apilayernet and the apilayer Facebook page.

Related Links

About Jeff Reifman

Jeff Reifman is a technologist and freelance writer, founder of Lookahead Consulting. He's also the creator of startup Simple Planner, a simpler way to schedule meetups of all kinds.

Be sure to read the next Electronic Signature article: How HelloSign Fueled 10x Growth in the Digital Signature Landscape

 

Comments (0)