ChatShipper is based on an "API First" development strategy. It offers a comprehensive REST API to manage all configuration and interactions on the ChatShipper platform. The ChatShipper API specification is organized into the following sections:
The Authentication APIs provide user authentication and authorization methods for token management.
The Provisioning APIs provide methods for configuring primary entities in the system for proper account setup.
The Communication APIs allow participation in conversations by providing messaging methods for bot or human use.
The ChatShipper REST APIs allow for the creation, modification and deletion of all resources used in ChatShipper.
The following resource types are fully accessible through the API:
Users are agents and API consumers that login to the system. A User resource
specifies the login credentials for ChatShipper agents and API users.
The Organization resource represents a company on behalf of which chats are performed. Organizations are the primary resources in the ChatShipper system. Most other resources are tied to exactly one organization.
Organizations may be grouped into Organization Groups. They work like tags - each organization can be a member of multiple groups.
A Service can represent any kind of connector, touchpoint, webservice or other integration that allows browsers and remote systems to enter ChatShipper's world.
Form are containers for collections of fields.
Channels are where notifications of newly queued conversations are sent. Agents may subscribe to one or more channels to receive notifications.
Workflows store and execute rules, emit events, and maintain the state needed to route queued conversations to user notification channels.
Whereas above entities are configured during the account provisioning process, other entities come to life in the course of production.
A conversation lets you track and describe communications with your users, and serves as an event stream where all relevent messages are kept.
A Message represents an event in the Conversation timeline. Commonly this is a chat message from a participant (contact, agent or bot), but a Message may also represent commands and fields, for example.
Contacts represent visitors to your web properties. Each time a new conversation is started by one of your consumers, a new Contact resource - if it doesn't exist yet - will be created for the consumer.
Below is a diagram of the primary entity relationships in the system. Click the image to zoom.