Versions Compared

Key

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

This tutorial is in order to send your first P2 requests 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 “DocuSign”“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

...

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 Container 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.

...

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

Example how to create a Container 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.

...

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.

...

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.

...

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.

...

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.

...

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.

...

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.

...

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)

...

Now, 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.

...

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)
kb-how-to-article
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@75205211showSpacefalse
sortmodified
typeshowSpacepagefalse
reversetruelabels
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "BOTDOC"
labelskb-how-to-article
Page Properties
hiddentrue

Related issues

...