AntBot API

Ant BOT API Integration and Usage from Third-Party Applications

Purpose

  • Allows the use of Alice from third-party applications. It is a mandatory requirement that Alice is registered and has a trial period through AntBuddy onboarding.

  • Allows running campaigns from third-party applications.

  • Creates alarms for a contact (appointments).

API Details

All API requests to the Alice system:

Authorization Header (required):

  • Authorization: Bearer {access token}

Get Access Token

  • Endpoint: /get-token/

  • Method: POST

  • Body:

jsonCopyEdit{
  "username": "username",
  "password": "password"
}
  • Description:

    • Username: The username or email created on AntBuddy.

    • Password: The password.

Campaigns

Check existing campaigns

  • Survey Template: /rest-api/campaigns/

  • Method: GET

  • Params:

  • Description:

    • name: Search by name.

    • phonebook: Search by phonebook.

    • status: Search by campaign status. 1: Started 2: Waiting 3: Paused 4: Ended 5: Completed

Configure call flow for campaigns

Survey Create Survey Template

  • Endpoint: /rest-api/survey-template/

  • Method: POST

  • Body:

  • Description:

    • name: The name of the survey template.

    • tts_language: The language of the survey template. vi: Vietnamese en: English

    • description: Description of the survey template.

Check existing survey templates

  • Survey Template: /rest-api/survey-template/

  • Method: GET

  • Params:

  • Description:

    • search: Search by name.

    • description: Search by description.

    • is_onboarding: (Not specified in the document, but could refer to whether it's part of the onboarding process)

    • user: Search by user ID.

Create Section Template

  • Endpoint: /rest-api/section-template/

  • Method: POST

  • Body:

Update Section

  • Endpoint: /rest-api/section-template/{id}/

  • Method: PUT

  • Body:

Phonebook & Contact

Check existing phonebook

  • Phonebook: /rest-api/phonebook/{id}

  • Method: GET

  • Params:

  • Description:

    • search: Search by phonebook name.

Check existing contact

  • Contact: /rest-api/contact/{id}

  • Method: GET

  • Params:

  • Description:

    • phonebook: Search by phonebook ID.

    • search: Search by phone number or name.

Create Phonebook

  • Create Phonebook: /rest-api/phonebook/

  • Method: POST

  • Body:

  • Description:

    • name: The name of the phonebook.

    • description: The description of the phonebook (optional).

Update Phonebook

  • Update Phonebook: /rest-api/phonebook/{id}/

  • Method: PUT

  • Body:

  • Description:

    • name: Change the name of the phonebook.

    • description: Change the description of the phonebook.

Create Contact

  • Create single contact

    • Create: /rest-api/contact/

    • Method: POST

    • Body:

  • Update contact based on ID

    • Update: /rest-api/contact/{id}/

    • Method: PUT

    • Body:

  • Create multiple contacts

    • Endpoint: /rest-api/bulkcontact/

    • Method: POST

    • Body:


Create Call Campaign

  • Check available gateways

    • Gateway List: /rest-api/gateway/

    • Method: GET

    • Response:

  • Create Campaign

    • Endpoint: /rest-api/campaigns/

    • Method: POST

    • Body Example:

    • Description:

      • name: required

      • description: rest API for campaign (optional)

      • callerid: caller name when calling out (optional)

      • phonebook: phone book IDs list (required)

      • aleg_gateway: gateway dial-out (required)

      • object_id: survey template application (required)

      • frequency: calls per minute (required)

      • startingdate: starting date for the campaign (required)

      • expirationdate: stopping date for the campaign (required)

      • daily_start_time: daily start time (required)

      • daily_stop_time: daily stop time (required)


Update Call Campaign

  • Update Campaign

    • Endpoint: /rest-api/campaigns/{id}/

    • Method: PUT

    • Body:

Change Status of Call Campaign

  • Endpoint: /rest-api/campaigns/{id}/status/

  • Method: POST

  • Body:

  • Description:

    • START = 1

    • PAUSE = 2

    • ABORT = 3

    • END = 4


Delete Call Campaign

  • Endpoint: /rest-api/campaigns/{id}

  • Method: DELETE


Appointment

Survey List

  • Check the list of surveys

    • Endpoint: /rest-api/survey-list/

    • Method: GET

    • Params:

  • Description:

    • search: Search by name

    • tts_language: Search by language

      • vi: Vietnamese

      • en: English

    • description: Search by description

    • campaign: Search by campaign ID

DNC (Do Not Call)

  • Check DNC List

    • Endpoint: /rest-api/dnc-list/

    • Method: GET

  • Check DNC Contact

    • Endpoint: /rest-api/dnc-contact/

    • Method: GET

  • Add to DNC List

    • Endpoint: /rest-api/dnc-list/

    • Method: POST

    • Body:

  • Description:

    • name: DNC name

    • description: Description

  • Add to DNC Contact

    • Endpoint: /rest-api/dnc-contact/

    • Method: POST

    • Body:

  • Description:

    • phone_number: Phone number

    • dnc: DNC list ID

Report

  • Check Report

    • Endpoint: /rest-api/cdr/

    • Method: GET

    • Params:

  • Description:

    • callid: Call ID

    • callerid: Caller ID

    • phone_number: Phone number

    • from_date: Start time

    • to_date: End time

    • duration: Call duration

    • billsec:

    • disposition:

    • hangup_cause: Reason for call termination

    • sip_term_status:

    • sip_term_cause:

    • endpoint_disposition:

    • campaign: Campaign ID

    • alarm: Reminder calls

      • true: Reminder calls

      • false: Non-reminder calls

    • otp: OTP calls

      • true: OTP calls

      • false: Non-OTP calls


Subscribers

  • View campaign members

    • Get Subscribers: /rest-api/subscriber-list/

    • Method: GET

    • Params:

  • Description:

    • campaign: Campaign ID

    • contact: Phone number

    • status: Status

    • duration: Call duration

    • billsec:


Calendar

Set up Calendar

  • Endpoint: /rest-api/calendar-setting/

  • Method: POST

  • Body:

  • Description:

    • label: Name (required)

    • callerid: Caller display (optional)

    • caller_name: Caller name (optional)

    • call_timeout: Timeout duration in seconds (required)

    • survey: Survey ID (required) - Get from Survey List API

    • aleg_gateway: Outbound gateway (required) - Get from Gateway List API

Calendar User

  • Endpoint: /rest-api/calendar-user/

  • Method: POST

  • Body:

  • Description:

    • username: User login (required)

    • calendar_setting: Calendar setting, Get from calendar-setting API

Create Calendar

  • Endpoint: /rest-api/calendar/

  • Method: POST

  • Body:

  • Description:

    • name: required

    • user: Calendar User List, Get from calendar-user API

Create Event

  • Endpoint: /rest-api/event/

  • Method: POST

  • Body:

  • Description:

    • title: Event title (required)

    • start: Start time (required)

    • end: End time (required)

    • creator: Calendar user assigned to it, get from calendar-user API

    • calendar: Calendar assigned to the event, get from calendar API

Create Alarm

  • Endpoint: /rest-api/alarm/

  • Method: POST

  • Body:

  • Description:

    • alarm_phonenumber: Call to number (required)

    • date_start_notice: Starting date for alarm (optional - default is current time)

    • phonenumber_transfer: Transfer phone number (optional)

    • event: Related event (required), event list from event API, method GET

Last updated