(API) Objects definitions

The main goal here is, to explain which object in the Botdoc API does what.

module_container

Container:

A Container is like a secure empty envelope on the internet and it can be opened by any receiving user with internet access. A Container holds one or more Feature(s), where each Feature adds a specific functionality to that Container. We will get more into each available Feature in the Feature section. 

AuthCode:

An AuthCode adds an extra layer of security to a Container with a Two Factor Authentication code. When enabled, the Container will be accessible only to those who have the 6-digit PIN verification that can be sent via SMS or Email.

ContactNotificationSend:

A ContactNotificationSend is a track record of an Email or Sms sent to a given RecipientItem.

Recipient:

A Recipient is like a contact in your phone contact list. It has first name, a last name and, several phones or emails addresses for that given contact. Each number or email inside this contact is called RecipientItem. The Recipient(s) represents all the individuals that should receive the Container.

RecipientItem:

A RecipientItem is like a contact method for a given Recipient. This value can be either an email address or a mobile capable of receiving SMS. A Recipient may have one or more RecipientItem.

Feature:

A Feature is an abstraction of a functionality a Container may have. This abstraction purpose is to serve as a base for any specific Feature a Container is capable, such as: Push, Pull or DocuSign. A Container of type “pushpull” is capable of only one Feature at a time and, it is limited to be either a Push or a Pull, while a container of type “p2” is capable of as many Feature(s) as need inside the same session.

We will get in more details about each Feature available in their respective sections in this document.

Message:

A Container of type “p2” is capable of chat. This means, you can have a real-time secure chat with the Recipient defined in that Container. The Message object defines a message from the creator of the Container to the Recipient(s) of a Container.

MessageReply:

The MessageReply object represents a message inside a Container of type “p2” chat that is coming from Recipient(s) to the creator of that Container.

Requester:

A Requester is an individual that can be defined as the individual who is sending the Container. You can add personal contact methods, social media, avatars, among other attributes. This is useful in cases where your company has many employees and, each employee may be a Requester inside Botdoc. When each of your employees use your Botdoc API integration to request or send something to someone, that Container will be created with their identity.

RequesterContainer:

A RequesterContainer copy of a Requester at the time you sent a Container to it Recipient(s).

We duplicate this entry at the time you send a Container because if you change that Requester data in the future, we want to maintain the exact data when that Container was actually sent to someone.

Sms:

A Sms is one of the ways you can send a Container to someone. When you create a RecipientItem, you have an option to set the “interface_class” attribute as a “sms” or “email”. For all the RecipentItem that has the attribute “interface_class” set as “sms”, we will send this Sms object to that RecipientItem.

Email:

A Email is another way you can send a Container to someone. When you create a RecipientItem, you have an option to set the “interface_class” attribute as a “sms” or “email”. For all the RecipentItem that has the attribute “interface_class” set as “email”, we will send this Email object to that RecipientItem.

module_container_pull

Pull:

A Pull is a Feature of a Container of type “p2” may have. With this Feature, you allow your Container to retrieve any file with no size limit from one or more Recipient(s).

PullFile:

A PullFile represents each file sent by a Recipient to the related Pull.

PullFileMetadata:

For each PullFile sent in a Pull, Botdoc tries to parse as many metadata from that file as possible. For instance, jpeg images have what is called EXIF data, we extract all this data and save as new PullFileMetadata objects.

module_container_push

Push:

A Push is a Feature of a Container of type “p2” may have. This Feature adds to the Container the functionality of sending files securely to one or more Recipient(s).

PushFile:

The PullFile object represents each file being sent inside a Push.

PushFileDownload:

The PushFileDownload object has details about each time a given PushFile was downloaded by someone.

module_container_docusign

Docusign:

A Docusign is a Feature a Container of type “p2” may have. This Feature adds to the Container the capability of signing documents. This object represents the envelope to be created in DocuSign, containing the document templates and signers.

DocusignDocument:

A DocusignDocument is a representation of a signed document. If your defined template inside the Docusign object has 5 documents, when the Recipient(s) signs all documents, 5 new DocusignDocument(s) will be created, each being a signed copy of the document inside the template.

DocusignDocumentDownload:

A DocusignDocumentDownload stores how many times the DocusignDocument was downloaded.

DocusignRecipientSigner:

A DocusignRecipientSigner represents a mapping of the signers present in your Docusign template, with the Recipient(s) defined inside the Container this Docusign object belongs to.

module_container_pushpull

PushPull:

A PushPull is a special kind of Feature. It can be associated only with a Container of page_type “pushpull”.

This Feature is capable of a single functionality at a time, it can either PULL or PUSH files according to the type attribute of the PushPull object.

Media:

A Media represents a file inside the PushPull. This file can be either from a pull or a push.

MediaDownload:

The MediaDownload represents the downloads made for a given Media that belongs to a PushPull of type “push”.

MediaTag:

The MediaTag object, defines tags that can be created inside a PushPull of type “pull”. Users use tags to automatically tag files as they are sent in the pull page according to each button the end user clicks.

For each MediaTag associated with the PushPull, a new upload button will be added to the collection page and, all the files sent using this tagged button, the files will also receive the same tag.

This is helpful for our users to group files when creating pulls.