Skip to content

Latest commit

 

History

History
94 lines (73 loc) · 6.35 KB

uci-api-schema.md

File metadata and controls

94 lines (73 loc) · 6.35 KB

UCI API Schema

UCI API schema is keeps the information regarding the bot and its configuration. When a new bot is created via APIs its data will be stored in this Database.

Schema

Adapter

This table keeps the adapter information. These adapter will be associated to the conversation logic to determine the adapter to be used while having the conversation. API to add a new adapter is given here.

Field Type Description
id uuid
channel text Eg. whatsapp/sms
provider text Eg. netcore/gupshup
config jsonb json configuration for adapter, Eg. its credentials
name text adapter name
created_at timestamp
updated_at timestamp

Transformer

This table store the transformers info and configuration, which are already implemented and working in UCI. Click here to know what are transformers & how they work.

Field Type Description
id uuid
name text
tags text[]
config jsonb json configuration
service_id uuid foreign key of service table
created_at timestamp
updated_at timestamp

Service

This table store the info to use when fetching the users data. The service will be added with user segment, which later will be added in the bot table when creating one.

Field Type Description
id uuid
type text type of service Eg. gql/get
config jsonb json configuration for fetching data from, Eg. get url/gql query configuration
name text
created_at timestamp
updated_at timestamp

User Segment

This table store the details to fetch the users data for different conditions like all, by id or by phone number.

Field Type Description
id uuid
name text
all uuid service table id to be used when fetching the all users data
byId uuid service table id to be used when fetching the users data for a specific id
byPhone uuid service table id to be used when fetching the users data for a specific phone number
created_at timestamp
updated_at timestamp

Conversation Logic

This table stores the bot related logic like form id or message body. Click here to see the API to add conversation logic.

Field Type Description
id uuid
name text
transformers jsondb json array of transformers config
adapter uuid id of adapter table
description text
created_at timestamp
updated_at timestamp

Bot

This table keeps the details of bot name, starting message, logic to use, user segment to use etc. API to add a bot can be found here.

Field Type Description
id uuid
name text bot name for identification
starting message text a message to start a conversation on a channel
users text[] array of user segment ids
logicIDs text[] array of conversation logic ids
status text Eg. enabled/draft
start_date date conversation activation date
end_date date conversation de-activation date
ownerId text id of owner of this bot
ownerOrgId text org id of owner of this bot
purpose text purpose of the bot creation