Developer platform

REST API

Current version: 2.0

This API provides access and basic CRUD operations (create, read, update, delete) for the resources described in the documentation. The REST API uses JSON exclusively. XML is not supported.

Base URL

All URLs referenced in the documentation have the following base:

Standard platformHigh availability platform
https://www.iadvize.com/api/2https://ha.iadvize.com/api/2

The iAdvize REST API is served over HTTPS.

Authentication

The API key must be attached to each request. You can use it in one of the following ways:

  • Passed in as a X-API-Key HTTP header
  • Passed in as a key GET parameter
  • Passed in as the username (with an arbitrary password) via HTTP Basic authentication

Calls, errors & responses

Authentication failed

{
  meta: {
    status: "error",
    message: "Forbidden"
  }
}

Create

POST /my_resource my_field=my_value
{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    my_field: "my_value",
    _link: "/my_resource/123"
  }
}
POST /my_resource my_field=my_value (with error)
{
  meta: {
    status: "fail",
    message: "Field 'my_field_2' is missing.",
  }
}

Read

GET /my_resource
{
  meta: {
    status: "success"
  },
  data: [
    {
      id: 789,
      _link: "/my_resource/789"
    },
    {
      id: 456,
      _link: "/my_resource/456"
    },
    {
      id: 123,
      _link: "/my_resource/123"
    }
  ],
  pagination: {
    page: 1,
    pages: 1,
    limit: 20,
    count: 3
  }
}

Common filters

FilterDescriptionValues
pagePage number?page=1
limitMaximum number of resources per page (maximum possible value is 100)?limit=1
fullShow all fields of the resource?full=1

Use the * character to broaden the scope of your search. E.g.: filters[name]=*uli*

GET /my_resource/123
{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    my_field: "my_value",
    _link: "/my_resource/123"
  }
}
GET /my_resource/456 (with error)
{
  meta: {
    status: "fail",
    message: "Unknown 'my_resource' with 'id' 456."
  }
}

Update

PUT /my_resource/123 my_field=my_new_value
{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    my_field: "my_new_value",
    _link: "/my_resource/123"
  }
}
PUT /my_resource/123 my_field=my_value (with error)
{
  meta: {
    status: "fail",
    message: "Value of field 'my_field' is not valid."
  }
}

Delete

DELETE /my_resource/123
{
  meta: {
    status: "success"
  }
}

DELETE /my_resource/456 (with error)

{
  meta: {
    status: "fail"
    message: "Unknown 'my_resource' with 'id' 456"
  }
}

Resources

Client

List all clients

GET /client

See below to discover used fields and see reading section to discover some output examples.

This list is displayed depending on the rights of your API key.

Showing client

GET /client/1

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idIdentifierInteger
langLanguageString (2 chars)
premium_enabledThe client has access to premium featuresBoolean

Website

List all your websites

GET /website

See below to discover used fields and see reading section to discover some output examples.

Get a website details

GET /website/1

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idIdentifierInteger
urlURLString
labelLabelString
client_idClient identifierInteger
currencyCurrencyString
language_adminAdmin languageen, de, es, it, pt, nl, se, tw, ja, ko or fr
timezoneTimezoneString

Update a website

PUT /website/1

See updating section to discover some output examples.

Operator

List your operators

GET /operator

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionValuesUse
idOperator identifier?filters[id]=123
group_idGroup identifier?filters[group_id]=123
website_idWebsite identifier?filters[website_id]=123
website_listWebsite identifiers?filters[website_list]=1,2,3
skill_idSkill identifier?filters[skill_id]=123
nameOperator name?filters[name]=genius
external_idExternal identifier?filters[external_id]=MyExternalId
connectedOperator online status0 (offline) or 1 (online)?filters[connected]=1

Get operator's details

GET /operator/1

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idOperator identifierInteger
nameNameString
first_nameFirst nameString
pseudoPseudonymString
emailEmailValid email
external_idYour id if providedString
role deprecated, use roles property insteadRoleoperator, manager or admin
rolesRolesList of string expert, operator, manager or admin
chat_enabledAbility to process chatBoolean
call_enabledAbility to process callBoolean
video_enabledAbility to process videoBoolean
chat_max_numberMax. amount of chats an operator can process at the same timeInteger
chat_and_callAbility to process chat and call simultaneouslyBoolean
chat_priorityChat priority of the operator0 or 10
call_priorityCall priority of the operator0 or 10
video_priorityVideo priority of the operator0 or 10
language_listList of languages the operator can processList of ISO2 (e.g. en, fr...)
language_adminAdmin languagede, en, es or fr
group_idGroup identifierInteger
website_listWebsite list identifiersList of integer
skill_listSkill list identifiersList of integer
sso_keySSO tokenString

Create an operator

POST /operator

See creating section to discover some output examples.

Update an operator

PUT /operator/1

See updating section to discover some output examples.

Delete an operator

DELETE /operator/1

See deleting section to discover some output examples.

Get operators live availability

Get the live availability of all of your operators.

GET /operator/live

{
  meta: {
    status: "success"
  },
  data: [
    {
      id: 456,
      connected: true,
      chat: {
        enabled: true,
        slot_number: 2,
        slot_max_number: 4,
        busy: false,
        available: true
      },
      call: {
        enabled: false,
        slot_number: 0,
        slot_max_number: 1,
        busy: false,
        available: false
      },
      video: {
        enabled: false,
        slot_number: 0,
        slot_max_number: 1,
        busy: false,
        available: false
      }
    }
  ]
}

You can use previous filters.

  • In order to have more accurate results, only available operators are displayed in the default view.
  • If you want to display offline operators, we invite you to use the connected filter. Please note that you will only see agents that logged in to the iAdvize platform at least once.
  • If your operators have skills or groups, you need to specify it in your request.

Get operator's live availability

Get the live availability of an operator.

GET /operator/123/live

{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    connected: false,
    chat: {
      enabled: false,
      slot_number: 1,
      slot_max_number: 2,
      busy: false,
      available: false
    },
    call: {
      enabled: true,
      slot_number: 1,
      slot_max_number: 1,
      busy: true,
      available: false
    },
    video: {
      enabled: false,
      slot_number: 0,
      slot_max_number: 1,
      busy: false,
      available: false
    }
  }
}

Set operator's availability

Set the availability of an operator.

PUT /operator/123/live

Fields

FieldDescriptionValue
chat[available]Set operator availability for chat channel1 (available) or 0 (unavailable)
call[available]Set operator availability for call channel1 (available) or 0 (unavailable)
video[available]Set operator availability for video channel1 (available) or 0 (unavailable)
connectedSet operator connection status0 (offline) - unique value possible

Response

{
  meta: {
    status: "success",
    message: "Operator is now available|unavailable for chat channel."
  }
}

Get operators statistics

GET /operator/123/statistic

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idOperator identifierInteger
conversation_numberConversations number done by operatorInteger
satisfaction_global_rateSatisfaction average for operator conversationsFloat
experienceOperator experienceInteger

Response

{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    conversation_number: 589,
    satisfaction_global_rate: 0.86,
    experience: 5630
  }
}

Get operator's profile

GET /operator/123/profile

See reading section to discover some output examples.

Fields

FieldDescriptionValues
user_idOperator identifierInteger
statusShort text status written by operatorString
descriptionOperator profile descriptionString
facebookFacebook identifierString
twitterTwitter identifierString
cityCityString
countryCountryString
Response
{
  meta: {
    status: "success"
  },
  data: {
    user_id: 123,
    status: "Je suis disponible pour vous aider",
    description: "Passionné par la menuiserie depuis plusieurs années, j'aime vous apporter des conseils.",
    facebook: "john.doe",
    twitter: "johndoe45",
    city: "Nantes",
    country: "France"
  }
}

Group

List your groups

GET /group

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionUse
parent_idParent group identifier?filters[parent_id]=1987

Get a group details

GET /group/1984

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idGroup identifierInteger
nameGroup nameString
created_atDate of creationDate YYYY-MM-DD HH:MM:SS
parent_idParent identifierInteger
operator_listList of operators identifiersList of integers
parent_listList of parent's group idsList of integers

Create a group

POST /group

See creating section to discover some output examples.

Update a group

PUT /group/1

See updating section to discover some output examples.

Delete a group

DELETE /group/1

See deleting section to discover some output examples.

Skill

List your skills

GET /skill

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionUse
operator_idOperator identifier?filters[operator_id]=123
parent_idParent skill identifier?filters[parent_id]=123

Get a skill details

GET /skill/1984

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idSkill identifierInteger
nameNameString
orderOrderInteger
created_atDate of creationDate YYYY-MM-DD HH:MM:SS
parent_idParent skill identifierInteger
operator_listdeprecated, use the Operator resource with the skill_id filter insteadList of operator identifiersList of integers

Create a skill

POST /skill

See creating section to discover some output examples.

Update a skill

PUT /skill/1

See updating section to discover some output examples.

Delete a skill

DELETE /skill/1

See deleting section to discover some output examples.

Conversation

List your conversations

GET /conversation.json-unicode?formatHistory=0

See below to discover used fields and see reading section to discover some output examples. Don't forget to use json-unicode path parameter & formatHistory query parameter to retrieve a well formatted conversation history.

Filters

FilterDescriptionValuesUse
channelChannelchat, call, video or social?filters[channel]=chat
fromDate from (see more information below)YYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[from]=2013-08-22
toDate to (see more information below)YYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[to]=2013-08-25
website_idWebsite identifier?filters[website_id]=123
operator_idOperator identifier?filters[operator_id]=123
visitor_idVisitor identifier?filters[visitor_id]=123
skill_idSkill identifier?filters[skill_id]=123
tag_idTag identifier?filters[tag_id]=123
rule_idRule identifier?filters[rule_id]=123

A request cannot fetch the conversations for a period over 3 months. The following rules apply :

  • If from and to are not specified, the last 3 months are fetched
  • If from is specified but not to, the 3 months after from are fetched
  • If to is specified but not from, the 3 months before to are fetched
  • If from and to are specified but with an interval over 3 months, an error is returned in the meta attribute of the response

Get a conversation details

GET /conversation.json-unicode/666?formatHistory=0

See reading section to discover some output examples. Don't forget to use json-unicode path parameter & formatHistory query parameter to retrieve a well formatted conversation history.

Fields

FieldDescriptionValues
idConversation identifierInteger
channelConversation channelchat, call or video
visitor_uidVisitor unique identifierString
historyConversation historyString (see the different types of messages in the table below ‘Conversation history details‘)
operator_answerConversation answered by operatorBoolean
operator_closedConversation closed by operatorBoolean
waitinglistWaiting list statusBoolean
page_typePage typeString
created_atConversation start timeDate YYYY-MM-DD HH:MM:SS
closed_atConversation end timeDate YYYY-MM-DD HH:MM:SS
website_idWebsite identifierInteger
operator_idOperator identifierInteger
skill_idSkill identifierInteger
tag_listList of tag identifiersList of integers
rule_idRule identifierInteger
xmpp_idXMPP related identifierUUID

Conversation history details You can retrieve different types of messages into the conversation.

FieldDescriptionValues
historyText message sent by Operator[1,"2016-02-16 11:24:43","Hello, how can I help you?",1455618283869],
historyText message sent by Visitor[2,"2016-02-16 11:25:26","I would like to know if my order: xxx has been sent",1455618327321],
historySoftware notifications[3,"2016-02-16 11:24:31","The chat rule has been activated."], [3,"2016-02-16 11:26:43","OPERATOR_CHAT_CLOSE"]
historyURL - Link[5,"2016-02-16 11:24:21","http://iadvize.com/"]
historyRich content sent by Operator[6,"2016-02-16 11:24:21","http://img.png/"]
historyRich content sent by Visitor[7,"2016-02-16 11:24:21","http://img.png/"]

Conversation history types example

{
  [5,"2016-02-16 11:24:21","http://test.com/"],
  [2,"2016-02-16 11:24:23","Hello",1455618264049],
  [3,"2016-02-16 11:24:31","The chat rule has been activated."],
  [1,"2016-02-16 11:24:43","Hello, how can I help you?",1455618283869],
  [2,"2016-02-16 11:25:26","I would like to know if my order: xxx has been sent",1455618327321],
  [1,"2016-02-16 11:25:45","I check it, thank you for your patience",1455618346030],
  [1,"2016-02-16 11:26:02","Your order has been shipped",1455618363054],
  [2,"2016-02-16 11:26:09","Thanks, goodbye",1455618370072],
  [1,"2016-02-16 11:26:17","Goodbye",1455618377364],
  [3,"2016-02-16 11:26:43","OPERATOR_CHAT_CLOSE"]`
}

Tag

List your tags

GET /tag

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionUse
website_idWebsite identifier?filters[website_id]=123

Get a tag details

GET /tag/123

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idTag identifierInteger
nameNameString
website_idList of website identifiersList of integers

Create tag(s)

POST /tag

Parameters (send an array of object as application/json)

FieldDescriptionValuesMandatory
nameNameStringYes
website_idwebsite identifierIntegerYes

Response

{
    meta: {
        status: "success"
    },
    data: [
        {
            id: 123,
            name: "my_value",
            website_id: 1,
            _link: "/tag/123"
        },
        {
            id: 124,
            name: "my_value_2",
            website_id: 1,
            _link: "/tag/124"
        }
    ]
}

Transaction

List your transactions

GET /transaction

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionValuesUse
website_idWebsite identifier?filters[website_id]=123
operator_idOperator identifier?filters[operator_id]=123
conversation_idConversation identifierConversation identifier. You can also use !null & null to filter all transactions associated or not to a conversation.?filters[conversation_id]=123 ?filters[conversation_id]=null ?filters[conversation_id]=!null
fromDate fromYYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[from]=YYYY-MM-DD HH:MM:SS
toDate toYYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[to]=YYYY-MM-DD HH:MM:SS

Get a transaction details

GET /transaction/123

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idTag identifierInteger
external_idExternal identifierString
visitor_uidVisitor unique identifierString
visitor_emailVisitor emailString
amountAmountDouble
created_atDate of creationDate YYYY-MM-DD HH:MM:SS
website_idWebsite identifierInteger
operator_idOperator identifierInteger
conversation_idConversation identifierInteger

Satisfaction

List your satisfactions

GET /satisfaction

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionValuesUse
website_idWebsite identifier?filters[website_id]=123
operator_idOperator identifier?filters[operator_id]=123
conversation_idConversation identifier?filters[conversation_id]=123
fromDate fromYYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[from]=YYYY-MM-DD HH:MM:SS
toDate toYYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[to]=YYYY-MM-DD HH:MM:SS

Get a satisfaction details

GET /satisfaction/123

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idSatisfaction identifierInteger
note_welcomeWelcome noteDouble (percentage)
note_resolutionResolution noteDouble (percentage)
node_delayDelay noteDouble (percentage)
commentCommentString
created_atDate of creationDate YYYY-MM-DD HH:MM:SS
website_idWebsite identifierInteger
operator_idOperator identifierInteger
conversation_idConversation identifierInteger

Statistic

Get statistics

GET /statistic

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionValuesUse
website_id deprecated, use website_list property insteadWebsite identifier?filters[website_id]=123
website_listWebsite identifiers?filters[website_list]=123,24,32
channelChannelchat, call, facebook, twitter, facebookBusinessOnMessenger, instagram, sms, whatsapp or video?filters[channel]=chat
resourceResource to group the data byoperator, group, skill, rule, contact_type or page_type?filters[resource]=operator
resource_idResource ID to get only the data of this resource?filters[resource_id]=32
indicatorsIndicators to filterSee list below?filters[indicators]=indicator1,indicator2
fromDate fromYYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[from]=YYYY-MM-DD
toDate toYYYY-MM-DD or YYYY-MM-DD HH:MM:SS?filters[to]=YYYY-MM-DD
granularityGet data per hour, per day or per month (only when 1 indicator is requested)hour, day, month?filters[indicators]=indicator1&filters[granularity]=day

Indicators

Contact indicators

available on chat, call, video, facebook, twitter, facebookBusinessOnMessenger, sms, whatsapp
IndicatorLabelDescriptionValue
contact_answered_after_first_message_durationResponse time after first messageAverage response time between a customer's first question and the agent's answer.Second
contact_answered_durationResponse timeAverage response time between a customer's request and the agent's response.Second
contact_closed_after_last_message_durationLength of time between last message and closing of chatAverage amount of time between the visitor's last message and the closing of the chat discussion on the panel.Second
contact_durationAverage processing timeAverage length of all contacts, the length of a contact being defined as the difference between the end time (closure) and start time.Second
contact_numberInitiated contactsNumber of contacts initiated during the selected period.Number
contact_sent_message_numberSent messagesTotal number of messages within a conversation sent by the agents.Number
contact_received_message_numberReceived messagesTotal number of messages within a conversation received by the agents.Number
contact_unanswered_numberContacts initiated with no responseNumber of contacts initiated by a visitor with no response from an agent.Number
available on chat
IndicatorLabelDescriptionValue
contact_missed_numberMissed contact opportunitiesEstimated number of missed contact opportunities because the agents were totally busy, offline or not in production.Number
contact_missed_with_busy_operators_numberMissed contact opportunities (agents busy)Estimated number of missed contact opportunities due to agents being totally busy.Number
contact_missed_with_no_operators_numberMissed contact opportunities (agents absent)Estimated number of contacts missed because the agents were either not connected or not in production.Number
contact_simultaneous_numberSimultaneous contactsAverage number of contacts processed simultaneously by an agent during his online presence.Number
available on chat, and video
IndicatorLabelDescriptionValue
contact_waiting_abort_numberAbandoned contactsNumber of contacts initiated in the queue who left before being processed.Number
contact_waiting_answered_numberProcessed contactsNumber of processed contacts coming from the queue.Number
contact_waiting_before_quit_durationWaiting time before abandonmentAverage time before a visitor abandons the queue.Second
contact_waiting_durationWaiting time before contactAverage waiting time of visitors in the queue.Second
contact_waiting_numberInitiated contactsAverage waiting time of visitors in the queue.Number
available on chat, call, video
IndicatorLabelDescriptionValue
contact_per_hour_average_numberContacts / hr of the websiteAverage number of contacts processed by all agents for an hour of production.Number
contact_per_hour_numberContacts per hourAverage number of contacts processed by an agent for an hour of production.Number
rule_contact_rateResponse rateProportion of displays having generated a contact.Rate
rule_display_numberDisplaysNumber of chat/call displays generated on the website during the period.Number
targeting_rule_triggeredTriggersNumber of times a targeting rule has been triggered, as a consequence of visitors meeting the right criteria.Number

Presence indicators

available on chat, call and video
IndicatorLabelDescriptionNumber
max_and_partial_occupation_durationGlobal occupationPeriod during which an agent is connected to the panel and is occupied partially or to the maximum.Second
max_occupation_durationMaximum occupationPeriod during which an agent is connected to the panel and is occupied to maximum capacity.Second
max_occupation_rateMaximum occupation ratePart of production time during which an agent is connected to the panel and is occupied to a maximum.Rate
non_production_durationNot in productionPeriod during which an agent is connected to the panel, unavailable and yet not busy.Second
non_production_rateNot in production rateProportion of connection time during which an agent is connected to the panel, unavailable and yet not busy.Rate
presentation_durationSmoothed period of button presentationPeriod during which buttons are displayable. Length of the time slot covered with at least one agent available.Second
production_smoothed_durationSmoothed period of productionPeriod during which operators were in production. Length of the time slot covered with at least one agent in production.Second
available on chat, call, video, facebook, twitter facebookBusinessOnMessenger, sms, whatsapp
IndicatorLabelDescriptionValue
presence_durationTotal period of presenceTotal period during which the agents were connected to the desk.
presence_smoothed_durationSmoothed period of presencePeriod during which operators were connected. Length of the time slot covered with at least one agent present.
occupation_ratePartial occupation ratePart of production time during which an agent is connected to the panel and is partially busy.
non_occupation_durationInocc.Period of time during which an agent is connected to the panel and is simultaneously available and not busy.
non_occupation_rateRate of non-occupationPart of production time during which an agent is connected to the panel and is simultaneously available and not busy.
max_and_partial_occupation_rateGlobal occupation ratePart of production time during which an agent is connected to the panel and is occupied partially or to the maximum.
production_durationIn productionPeriod during which an agent is connected to the panel and is available or busy.

Satisfaction indicators

available on chat, call and video
IndicatorLabelDescriptionValue
satisfaction_delay_rateWaiting timeVisitor satisfaction rate with the waiting time before receiving an answer.Rate
satisfaction_global_rateOverall satisfactionOverall satisfaction rate of visitors.Rate
satisfaction_resolution_rateQuality of responseVisitors' satisfaction rate with the response given by the agent.Rate
satisfaction_respondent_numberNumber of respondentsNumber of visitors who replied to a satisfaction survey following a discussion.Number
satisfaction_respondent_rateResponse rateProportion of conversations after which visitors completed the satisfaction survey.Rate
satisfaction_welcome_rateQuality of welcomeVisitor satisfaction rate with the welcome.Rate
occupation_durationPartial occupationPeriod during which an agent is connected to the panel, unavailable and yet not busy.Second

Transactions indicators

available on chat, call, video, facebook, twitter, facebookBusinessOnMessenger, sms, whatsapp
IndicatorLabelDescriptionValue
conversion_rateConversion rateProportion of conversations which led to transactions.Rate
cart_after_contact_amountAverage order value after contactAverage order value following a contact.Number
cart_global_amountAverage order value on the websiteAverage Order Value, all visitor categories.Amount
transaction_after_contact_amountT/O after contactTotal turnover from visitors who dialogued and completed a transaction after a contact.Amount
transaction_after_contact_numberTransactions after contactTotal number of transactions from visitors who dialogued and then completed a transaction following the contact.Number
transaction_total_amountWebsite T/OTotal turnover, all visitor categories.Amount
transaction_total_numberWebsite transactionsTotal number of transactions (all categories).Number
transaction_after_contact_durationTransformation time after contactAverage time between the first exchange and the transaction following a contact.Second
transaction_after_conversation_amount_per_hourWebsite transactions amount per hourAverage turnover generated by an agent after a contact on an hourly basisAmount
transaction_missed_with_busy_operators_amountT/O missed (agents totally busy)Estimated lost turnover due to agents being totally busy.Amount
transaction_missed_with_busy_operators_numberMissed transaction opportunities (agents totally busy)Estimated number of missed transaction opportunities because the agents were totally busy.Number
transaction_missed_with_no_operators_amountMissed T/O opportunity (agents absent)Estimated turnover missed because the agents were not connected or not in production.Amount
transaction_missed_with_no_operators_numberMissed transaction opportunities (agents absent)Estimated number of missed transaction opportunities because the agents were not connected or not in production.Number
transaction_amount_per_conversationWebsite transactions amount per conversationAverage turnover generated for each conversation doneAmount

Visitor

Get visitors

GET /visitor

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionUse
unique_idUnique identifier?filters[unique_id]=123
external_idExternal identifier?filters[external_id]=123
website_idWebsite identifier?filters[website_id]=123

Get a visitor details

GET /visitor/560

See reading section to discover some output examples.

Fields

FieldDescriptionValues
idVisitor identifierInteger
unique_idVisitor unique identifierString
external_idYour id if providedString
lastnameLast nameString
firstnameFirst nameString
addressAddressString
cityCityString
zipZip codeString
countryCountryString
phonePhone numberString
emailEmailString
browserBrowser used by visitorString
website_idList of website identifiersList of integers
created_atVisitor creation dateDate YYYY-MM-DD HH:MM:SS

Create a visitor

POST /visitor

See creating section to discover some output examples.

Update a visitor

PUT /visitor/560

See updating section to discover some output examples.

Delete a visitor

DELETE /visitor/560

See deleting section to discover some output examples.

Call meeting

Get call meetings

GET /callmeeting

See below to discover used fields and see reading section to discover some output examples.

Filters

FilterDescriptionUse
website_idWebsite identifier?filters[website_id]=123
fromPeriod start date?filters[from]=2015-03-31 19:00:00
toPeriod end date?filters[to]=2015-06-31 18:00:00

Fields

FieldDescriptionValues
idCall meeting identifierInteger
phone_numberVisitor phone numberString
visitor_uidVisitor unique identifierString
statusCall meeting status (pending, progress, done, failed, working)String
start_atDate of callDateTime
website_idWebsite identifierInteger
targeting_rule_idTargeting rule identifier associated to call meetingString
skill_idSkill identifier associated to call meetingString

Callback Odigo

Pick up callback

POST /odigocallback/pickup

Parameters (sent as application/x-www-form-urlencoded)

ParameterDescriptionValuesMandatory
operator_external_idOperator external identifierStringYes
website_idWebsite identifierIntegerYes
phone_numberVisitor phone numberStringYes

Response

{
    meta: {
        status: "success"
    },
    data: {
        targeting_rule_id: 107,
        website_id: 1,
        conversation_id: 139,
        skill_id: null,
        visitor_phone_number: "0614037735",
        visitor_uid: "0a1572b7cc5027fe443f4203eaf0b98d4cbea6d313afa"
    }
}

Hang up callback

POST /odigocallback/hangup Parameters (sent as application/x-www-form-urlencoded)

ParameterDescriptionValuesMandatory
operator_external_idOperator external identifierStringYes
website_idWebsite identifierIntegerYes
phone_numberVisitor phone numberStringYes

Response

{
  meta: {
    status: "success"
  },
  data: []
}