Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This tutorial is in order to send your first P2 request using the version 1.0 of Sandbox Botdoc API. In order to use this version, you have to put “v1” on the API’s endpoint.

To a better understanding about the versioning, please go to https://api.botdoc.io/documentation/#section/Get-Started/Versioning
and to a better understanding about the Sandbox, please go to https://api.botdoc.io/documentation/#section/Get-Started/Sandbox-Platform

Instructions

The first thing you need to understand is every request MUST have a token:
Thus, no matter what endpoint, you always need to pass the token on the header that looks like the following:
Authorization: JWT your-token-here

1 - Create a Container:

Botdoc P2 Container is a session with multiple secure Features inside of it, with P2 you can make a Flow automation or just a simple file "push", "pull", “DocuSign” or “External URL”.

Endpoint: https://api.botdoc.io/v1/module_container/container/ 
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "page_type": "p2",
    "callback_url": "https://link.to.your.callback.url",
    "display_chat": true
}

Example how to create a Container by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/container/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "page_type": "p2",
    "callback_url": "https://link.to.your.callback.url",
    "display_chat": true
}"

1.2 - Create a Container with a Requester:

To create a Container with a Requester attached, is simple, first of all, you need to create a Requester, if you don't have any Requester registered, follow the link: How to create a Requester

After that, we need to create a new Container adding our Requester, the process is simple, follow:

Endpoint: https://api.botdoc.io/v1/module_container/container/ 
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "page_type": "p2",
    "requester": {requester_id}
}

Example how to create a Container with a Requester by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/container/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "page_type": "p2",
    "requester": {requester_id}
}"
Note

Remember that, whenever a Container with a Requester attached to it is sent, the Requester is duplicated to a table RequesterContainer, to keep the data concise with the data on the day and time of the Container was sent, in case of this requester is modified or even deleted.


2 - Define Recipient(s):

After the Secure Container was created, you need to create the Recipient(s) of your Secure Container.
Endpoint: https://api.botdoc.io/v1/module_container/container/{container_id}/recipient/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
   "first_name": "John",
   "last_name": "Smith"
}

Example how to create a Recipient by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/container/{container_id}/recipient/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
   "first_name": "John",
   "last_name": "Smith"
}
"

3 - Define your RecipientItem(s)

Now, we need to add our RecipientItem linked to the Recipient in the Step 2.
Endpoint: https://api.botdoc.io/v1/module_container/recipient/{recipient_id}/recipient_item/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
   "interface_class": "email", //can be "email" or "sms"
   "value": "myemail@botdoc.io"
}

Example how to create a Recipient Item by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/recipient/{recipient_id}/recipient_item/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
   "interface_class": "email",
   "value": "myemail@botdoc.io"
}
"

4 - Set an AuthCode

Now, if you want, you can protect your Secure Container with Two Factor Authentication.
Endpoint: https://api.botdoc.io/v1/module_container/authcode/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "container": "{container_id}",
    "send_as": "email", //can be "email" or "sms"
    "to": "myemail@botdoc.io"
}

Example how to create an AuthCode by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/authcode/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "container": "{container_id}",
    "send_as": "email", 
    "to": "myemail@botdoc.io"
}"

5 - Define Email Message

Now, you must inform the Email Message if in the previewer step the transport method was sent to Email.
Endpoint: https://api.botdoc.io/v1/module_container/container/{container_id}/email/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "subject": "nice subject",
    "body": "a nice message here"
}

Example how to create an Email message by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/container/{container_id}/email/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "subject": "nice subject",
    "body": "a nice message here"
}"

6 - Define SMS Message

Now, you must inform the SMS Message if in the previewer step, the transport method was sent to SMS.
Endpoint: https://api.botdoc.io/v1/module_container/container/{container_id}/sms/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "body": "a nice body here"
}

Example how to create an SMS message by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/container/{container_id}/sms/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "body": "a nice body here"
}"

7 - Add Features

Now, you must add a feature, can be Pull, Push or DocuSign, see 3 examples below:

7.1 - Pull Feature

If you want to request file(s) FROM your receiver, you must send a Pull Feature:
Endpoint: https://api.botdoc.io/v1/module_container_pull/pull/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "container": {container_id},
    "title": "Nice Pull Title",
    "description": "Nice Pull Desc."
}

Example how to create a Pull Feature by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container_pull/pull/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "container": {container_id},
    "title": "Nice Pull Title",
    "description": "Nice Pull Desc."
}"

7.2 - Push Feature

If you want to SEND file(s) to your Receiver, you must send a Push Feature:
Endpoint: https://api.botdoc.io/v1/module_container_push/push/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "container": {container_id},
    "title": "Nice Push Title",
    "description": "Nice Push Desc.",
    "max_file_downloads": 4
}

Example how to create a Push Feature by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container_push/push/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "container": {container_id},
    "title": "Nice Push Title",
    "description": "Nice Push Desc.",
    "max_file_downloads": 4
}"

7.2.1 - Push File Feature

If you want to SEND file(s) to your Receiver, you must send a Push Feature and a Push File (required):
Endpoint: https://api.botdoc.io/v1/module_container_push/pushfile/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "file": "<your file>",
    "name": "invoice_2020.pdf",
    "push": {push_id},
    "total_chunks": 1
}

Example how to create a PushFile Feature by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container_push/pushfile/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: multipart/form-data" \
--form "file=@C:\invoices\invoice_2020.pdf" \
--form "name=invoice_2020.pdf" \
--form "push={push_id}" \
--form "total_chunks=1"

7.3 - DocuSign Feature

If you want the Receiver to Sign something, you must send a DocuSign Feature:
Endpoint: https://api.botdoc.io/v1/module_container_docusign/docusign/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "title": "Sign this doc. pls",
    "description": "this document allows you to get an bank loan",
    "envelope": {
        "template_id": "f53858a0-4810-492a-aba7-8dda6eb83ffc",
        "recipients": {
            "signers": [
                {
                    "name": "John Smith",
                    "email": "myemail@botdoc.io",
                    "client_user_id": "{recipient_id}",
                    "role_name": "Signer"
                }
            ]
        }
    },
    "container": {container_id}
}

Example how to create a DocuSign Feature by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container_docusign/docusign/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "title": "Sign this doc. pls",
    "description": "this document allows you to get an bank loan",
    "envelope": {
        "template_id": "f53858a0-4810-492a-aba7-8dda6eb83ffc",
        "recipients": {
            "signers": [
                {
                    "name": "John Smith",
                    "email": "myemail@botdoc.io",
                    "client_user_id": "{recipient_id}",
                    "role_name": "Signer"
                }
            ]
        }
    },
    "container": {container_id}
}"


7.4 - External URL Feature

If you want to send some link(s) to your receiver, you must send a External URL, the URL in the body must have a https:// prefix.
Endpoint: https://api.botdoc.io/v1/module_container_iframe/iframe/
Method: POST.

Example of the body in JSON format:

Code Block
languagejson
{
    "container": {container_id},
    "title": "Nice External URL Title",
    "description": "Nice External URL Description",
    "url": "https://botdoc.io/"
}

Example how to create a External URL Feature by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container_iframe/iframe/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw "{
    "container": {container_id},
    "title": "Nice External URL Title",
    "description": "Nice External URL Description",
    "url": "https://botdoc.io/"
}"

8 - Send the Notification to the Receiver(s)

Now, just send the Notification to the Receiver(s).
Endpoint: https://api.botdoc.io/v1/module_container/container/{container_id}/send_notification/
Method: POST.

Example how to send a notification by cURL:

Code Block
languagejson
curl -i --request POST "https://api.botdoc.io/v1/module_container/container/{container_id}/send_notification/" \
--header "Authorization: JWT <Authorization Token>" \
--header "Content-Type: application/json" \
--data-raw ""

Info

For more details about creating a requests you can take a look at our Botdoc API Reference on api.botdoc.io/documentation/#create-request

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@75205211
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "BOTDOC"
labelskb-how-to-article
Page Properties
hiddentrue

Related issues

FULL VIEW CLICK HERE