Conversation management

conversation/add_members

URL: https://fleep.io/api/conversation/add_members/CONV_ID

Add members to the conversation. CONV_ID is convinfo.conversation_id.

Input:

emails              text            - list of email addresses like on email To: line
from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/autojoin

URL: https://fleep.io/api/conversation/autojoin

Autojoin conversation if not member yet. Autojoin url has following format https://fleep.io/chat/KEY

Input:

conv_url_key    text    - either convinfo.conversation_id or last part of convinfo.autojoin_url (KEY)

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/check_permissions

URL: https://fleep.io/api/conversation/check_permissions/CONV_ID

Check if account has modification rights on the conversation. Same check is done in all conversation services so this here mainly helps with testing and documentation at first. CONV_ID is convinfo.conversation_id.

Errors:

ERR_FORBIDDEN
If user has left conversation
ERR_BAD_REQUEST
invalid member or conversation id given

conversation/create

URL: https://fleep.io/api/conversation/create

Create new conversation

Input:

topic                   text = None     - conversation topic
emails                  text = None     - list of email addresses like on email To: line
subject                 text = None     - subject for first message
message                 text = None     - Initial message into the conversation
attachments             list = None     - list of AttachmentInfos to be added to conversation
is_invite               boolean = None  - Send out invite emails to fresh fleepers
is_autojoin             boolean = None  - Allow autojoin to the conversation
is_disclose             boolean = None  - enable/disable auto disclose
fwd_conversation_id     text = None     - Forwarded conversation id (for forwarding html messages)
fwd_message_nr          bigint = None   - Forwarded message nr (for forwarding html messages)
team_ids                uuid[] = None   - Add teams to conversation
account_ids             list = None     - List of account ids
fork_conversation_id    uuid = None     - Parent conversation
is_list                 boolean = None  - Behaves as mailing list. Set true for group conversations
                                          with more than two members as a default.
is_managed              boolean = None  - Is this conversation managed conversation.
mk_conv_type            text = None     - Conversation type (cct_default, cct_list, cct_no_mail)

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/create_call

URL: https://fleep.io/api/conversation/create_call/CONV_ID

Create a new (video)call. CONV_ID is conversation_id from ConvInfo

Input:

provider    text    - call service provider (appear.in)
room_name   text    - if not provided, room will have an unique random name

Output:

join_url    text    - URL for the call

conversation/create_hangout

URL: https://fleep.io/api/conversation/create_hangout/CONV_ID

Create a new hangout. CONV_ID is convinfo.conversation_id.

Input:

None

Output:

url    text    -- hangout start url with appropriate data

conversation/delete

URL: https://fleep.io/api/conversation/delete/CONV_ID

Remove conversation from your conversation list. If you don’t leave conversation before deleting it will still reappear when someone writes in it. CONV_ID is convinfo.conversation_id.

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/disclose

URL: https://fleep.io/api/conversation/disclose/CONV_ID

Disclose conversation history to members until given message. CONV_ID is convinfo.conversation_id.

Input:

emails              text            - list of email addresses like on email To: line
message_nr          bigint = None   - disclose up to this message
from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/disclose_all

URL: https://fleep.io/api/conversation/disclose_all/CONV_ID

Disclose conversation history to members. All content of last membership is disclosed. CONV_ID is convinfo.conversation_id.

Input:

emails              text            - list of email addresses like on email To: line
from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/hide

URL: https://fleep.io/api/conversation/hide/CONV_ID

Hide conversation until new messages arrives. Useful for people who want to keep their inbox clear. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint = None   - used to return next batch of changes

Output:

header              dict            - ConvInfo record
stream              list            - see account/poll for stream record definitions

ConvInfo:

conversation/leave

URL: https://fleep.io/api/conversation/leave/CONV_ID

Leave the conversation. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/list

URL: https://fleep.io/api/conversation/list

List all conversations for this account. Same conversations may pop up several times due to shifting order caused by incoming messages. Stop calling when you receive empty conversation list.

Input:

sync_horizon        bigint = None   - keeps track of conversations loaded
                                      set 0 for first call

Output:

conversations       list            - list of ConvInfo records
sync_horizon        bigint          - pass it to the next call until you get
                                      no more conversations
sync_progress       float           - indicates progess of sync from 0.0 to 1.0

ConvInfo:

conversation/mark_read

URL: https://fleep.io/api/conversation/mark_read/CONV_ID

Mark conversation as read regardless of how many unread messages there are. Useful for marking read conversations that you are not planning to read. For example error log after it has rolled up thousands of messages. Returns init conversation stream so the client side conversation will be reset to new read position and all the possibly skipped messages will not get misinterpreted. CONV_ID is convinfo.conversation_id.

Input:

mk_init_mode        text = 'ic_tiny'    - ic_tiny - for minimal
                                          ic_full - ready for display

Output:

conversation/poke

URL: https://fleep.io/api/conversation/poke/CONV_ID

Send poke event, used for testing sync between clients. CONV_ID is convinfo.conversation_id.

Input:

message_nr          bigint          - message being poked
from_message_nr     bigint          - used to return next batch of changes
is_bg_poke          boolean         - go through bgworker

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/remove_members

URL: https://fleep.io/api/conversation/remove_members/CONV_ID

Remove members from the conversation. CONV_ID is convinfo.conversation_id.

Input:

emails              text            - list of email addresses like on email To: line
from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/set_alerts

URL: https://fleep.io/api/conversation/set_alerts/CONV_ID

Set conversation alerts. CONV_ID is convinfo.conversation_id.

Input:

mk_alert_level      text            - default, never
from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/set_topic

URL: https://fleep.io/api/conversation/set_topic/CONV_ID

Change conversation topic. CONV_ID is convinfo.conversation_id.

Input:

topic               text            - conversation topic
from_message_nr     bigint = None   - used to return next batch of changes

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/show_activity

URL: https://fleep.io/api/conversation/show_activity/CONV_ID

Show writing pen and/or pinboard editing status. This works both ways. Any call activates this conversation for this account. So to start receiving activity call with empty parameters. CONV_ID is convinfo.conversation_id.

Input:

is_writing          boolean = null  -- true - writing, false - cancel
message_nr          bigint = null   -- edited flow or pinboard message nr

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/slash_command

URL: https://fleep.io/api/conversation/slash_command/CONV_ID

Slash command API no longer supported.

conversation/store

URL: https://fleep.io/api/conversation/store/CONV_ID

Store conversation header fields. Store only fields that have changed. Call only when cache is fully synced. CONV_ID is convinfo.conversation_id.

Input:

read_message_nr         bigint = None   - New read horizon for conversation
labels                  text[] = None   - User labels for conversation
label_ids               text[] = None   - User labels for conversation
topic                   text = None     - Shared topic for conversation
mk_alert_level          text = None     - User alert level for the conversation
snooze_interval         long = None     - For how long to snooze conversation in seconds

add_emails              text = None     - emails to be added (map to fleep accounts if possible)
remove_emails           text = None     - emails to be removed (map to fleep accounts if possible)
disclose_emails         text = None     - disclose conversation to these users

add_account_ids         text[] = None   - account ids to be added to the conversation
remove_account_ids      text[] = None   - account ids to be removed from the conversation
disclose_account_ids    text[] = None   - disclose conversation to these users

hide_message_nr         bigint = None   - Hide the conversation from this message nr
is_deleted              boolean = None  - Set to true to delete the conversation
is_deleted_by_admin     boolean = None  - Delete by admin (affects all members)
from_message_nr         bigint = None   - used to return next batch of changes
is_autojoin             boolean = None  - enable disable auto join
is_disclose             boolean = None  - enable/disable auto disclose
can_post                boolean = None  - set to false to leave the conversation
is_url_preview_disabled boolean = None  - don't show url previews for all users
is_list                 boolean = None  - behaves as mailing list

add_team_ids            text[] = None   - add teams to conversation
remove_team_ids         text[] = None   - remove teams from conversation
is_managed              boolean = None  - Is this conversation managed conversation.
admins                  text[] = None   - Admin can change conversation admins for
                                          managed conversations
mk_conv_type            text = None     - Change conversation email behavior
                                        - ('cct_default', 'cct_list', 'cct_no_mail'

Output:

conversation/sync - if from_message_nr is provided then normal
forward sync otherwise only conversation state and added message

conversation/sync

URL: https://fleep.io/api/conversation/sync/CONV_ID

Sync state for single conversation. If used with default values 5 messages before and after last reported read_message_nr are returned. Also all conversation state are returned: PinInfo, memberInfo. All optional fields (o) are returned for first sync. After that these are included only when there have been changes. Changes are detected from system messages in message flow. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint = None   - last message nr client has received.
mk_direction        text = null     - ic_header - return only conversation header
                                      ic_tiny - do minimal init conversation
                                        returns only inbox message and header
                                      ic_full - do full initi conversation
                                        returns inbox message and several messages
                                        before and after current read horizon
                                        and several pins and several files
                                      ic_flow - get flow fragment
                                        returns several messages before and
                                        after given from_message_nr or current
                                        read horizon if from message nr not given
                                      ic_end - get flow fragment from the end
                                        of all available content
                                      ic_backward - get flow fragment before given
                                        message
                                      ic_forward - get flow fragment after given message
                                        only visible messages are returned so not suitable
                                        for syncing cached conversation (edits will be lost)
                                      ic_files - get only messages with files.
                                      ic_pinboard - get only shared messages.
                                      ic_tasks -get only archeved task messages.
                                      <null> - default behaviour get sequential
                                        messages forward. Returns all flow messages even
                                        non visible ones like edits of older messages

Output:

header              dict            - ConvInfo record
stream              list            - see account/poll for stream record definitions
result_message_nr   bigint          - optional points to message that was the reason
                                      for this sync call
hook_info           dict            - hook created by this api call

ConvInfo:

conversation/sync_backward

URL: https://fleep.io/api/conversation/sync_backward/CONV_ID

Sync state for single conversation. Used to fetch messages for backward scroll. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint = None   - earliest message nr client has received.
                                      previous messages are read and returned

Output:

header              dict            - ConvInfo record
stream              list            - see account/poll for stream record definitions

ConvInfo:

conversation/sync_files

URL: https://fleep.io/api/conversation/sync_files/CONV_ID

Sync earlier files if user wants to browse them. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint = None   - earliest message nr client has received.
                                      previous messages are read and returned

Output:

header              dict            - ConvInfo record
stream              list            - see account/poll for stream record definitions

ConvInfo:

conversation/sync_pins

URL: https://fleep.io/api/conversation/sync_pins/CONV_ID

Sync pinboard for conversation where it was not fully sent with init. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint = None   - earliest message nr client has received.
                                      previous messages are read and returned

Output:

header              dict            - ConvInfo record
stream              list            - see account/poll for stream record definitions

ConvInfo:

conversation/sync_teams

URL: https://fleep.io/api/conversation/sync_teams/CONV_ID

Sync teams.

Input:

team_ids       uuid         -- Teams to sync

Output:

stream         list         -- List of team records`

conversation/unhide

URL: https://fleep.io/api/conversation/unhide/CONV_ID

Bring conversation out of hiding. CONV_ID is convinfo.conversation_id.

Input:

from_message_nr     bigint          - last message nr client has received.
                                      Ten next messages are read and returned

Output:

header              dict            - ConvInfo record
stream              list            - see account/poll for stream record definitions

ConvInfo:

conversation/unsubscribe

URL: https://fleep.io/api/conversation/unsubscribe/CONV_ID

Unsubscribe from conversation.

Input:

email                   text            - Email address to remove from conversation

Output:

None

hangout

URL: https://fleep.io/api/hangout

Handle heartbeat from hangout app.

Input::
hangout_id text hangout_url text google_key text participants text[]

Output:

None