API Object Structures

This page lists common objects returned by Wix Answers APIs. Not all fields are present every time the object is returned; the presence of a field depends on:
  • The method's object structure response level: The response level of an object structure can be one of the following:
    • Public: Returns all public level parameters.
    • Restricted: Returns all public level parameters, as well as restricted parameters, which are relevant to the logged-in user who called the method.
    • Extended: Returns all parameters, including public, restricted, and extended level parameters. Wix Answers returns extended objects to agents and administrators.
  • A defined value: A parameter is not returned if it holds no value.
  • Site configuration: Some parameters, such as custom fields, are returned only if they are defined for your site.
Note
See Common Elements in API Payloads / Objects, including the note about undocumented parameters. For information about the main connections between objects, see Wix Answers Data Overview.

Article Object

Represents an article.
Object field name
Description 
Format
Response Level
id
Article ID
Public
categoryId
Category associated with the article
Public
type
Integer
Public
locale
Language of the article
Two-letter country code string
Public
primaryLocale
Primary locale of the Wix Answers account
Two-letter country code string
Public
status
Integer
Public
author
Article creator
Public
relatedTicketsCount
Number of tickets that the article has marked as related
Integer
Public
position
Default sort order

Used in the Help Center when viewing a category.
Integer
Public
resolution

Included only when relevant
Integer
Public
title
Article title
String
Public
content
Article HTML content
String
Public
draftTitle
Draft article title

The same as title if there are no unpublished changes
String
Extended
draftContent
Draft article HTML content

The same as content if there are no unpublished changes
String
Extended
contentLastUpdateDate
Last time article content was updated
Unix time string
Extended
lastOpenTask
The last task opened for this article
Extended
openTasksCount
Number of tasks opened for the article
Integer
Extended
phrases
List of phrases associated with the article

Used when searching in the Help Center or using the API

Note: Currently, phrases do not appear, and cannot be managed, in the Help Center or the Wix Answers App. However, if phrases are attached to articles, they are .

You can manage an article's phrases using the API; see Update Article Phrases.
List of strings
Restricted
lastUpdatedBy
Most recent article editor
Extended
handledByUserIds
List of all users that created or edited the article
List of GUIDs
Extended
multilingual
Whether there are translations
Boolean
Public
firstPublishDate
Time article was first published
Unix time string
Public
lastPublishDate
Time article was last published
Unix time string
Public
creationDate
Time this record was created
Unix time string
Public
lastUpdateDate
Last time this record was updated
Unix time string
Public
labels
List of labels attached to the article
Public
uri
Relative path to article
String
Extended
url
Full path to article
String
Extended
translations
List of article translations, each one a structure containing:

* title (string)
* locale (two-letter country code string)
* url (string): URL of article translation
* status (integer): See status, above
List of structures
Public
importId
Import batch process

Public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "id":"e932c0a3-ee6a-6e9b-43cf-b3a990f6ee6a",
    "categoryId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
    "type":100,
    "locale":"en",
    "status":10,
    "author":{ @User object },
    "relatedTicketsCount":1,
    "position":1,
    "resolution":120,
    "title":"How to Play Go",
    "content":"HTML content",
    "draftTitle":"How to Play Go",
    "draftContent":"Draft HTML content",
    "contentLastUpdateDate":1568193387000,
    "openTasksCount":0,
    "lastUpdatedBy":{ @User object },
    "handledByUserIds":["123"],
    "multilingual":false,
    "firstPublishDate":1568181779000,
    "lastPublishDate":1568193387000,
    "creationDate":1568180889000,
    "lastUpdateDate":1568273014000,
    "labels":[{ @Label object }],
    "translations":[{
        "title":"How to Play Go",
        "locale":"en",
        "url":"https://domain/en/article/how-to-play-go",
        "status":10
    }]
}

Counter Object

A counter object contains a counter associated with another object, such as an article or category. The counter can be, for example, the number of category followers, or the number of people who found an article helpful.
Object field name
Description
Format
itemId
The object to which the counter is attached
itemType
The attached object type (the object to which this counter is attached)

Integer
counterType
Integer
locale
Language of item
Two-letter country code string
value
Value for this counter

For example, the number of likes or followers.
Integer
1
2
3
4
5
6
7
{
    "itemId":"e932c0a3-6e9b-43cf-b3a9-ee6a90f6ee6a",
    "itemType":10,
    "counterType":10,
    "locale":"en",
    "value":3
}

Label Object

Used for articles and tickets. Agents can assign one or more labels to an article, and then filter articles using the labels.
Object field name
Description
Format
id
Label ID
name
Label name
String
sortOrder
Default sort order of this label when viewing the item to which labels are attached

Used in the Help Center when viewing the item.
Integer
1
2
3
4
5
{
    "id":"e932c0a3-6e9b-43cf-b3a9-ee6a90f6ee6a",
    "name":"Label Name",
    "sortOrder":0,
}

Article Version Object

Represents a specific version of an article.
Object field name
Description
Format
Response Level
id
Version ID
Public
itemId
The article ID
Public
type
Always 300 (Article)
300
Public
createdByUser
User who created the version
Public
locale
Article language
Two-letter country code string
Public
content
The version's HTML content
String
Public
publicationStatus
Integer
Public
comment
Internal comment associated with the version
String
Public
creationDate
The version creation date
Unix time string
Public
lastUpdateDate
The version last updated date
Unix time string
Public
1
2
3
4
5
6
7
8
9
10
11
{
    "id":"e932c0a3-ee6a-6e9b-43cf-b3a990f6ee6a",
    "itemId":"77bc8694-5ccf-436c-ab2b-543563a5f425",
    "type":300,
    "createdByUser": { @User object },
    "locale":"en",
    "content":"This is the version content.",
    "publicationStatus":1,
    "creationDate":1568180889000,
    "lastUpdateDate":1568180889000
}

Category Object

Represents a category. Categories are used to group or filter articles.
Object field name
Description 
Format
Response Level
id
Category ID
Public
parentId
Category's parent category
GUID (00000000-0000-0000-0000-000000000000 for top level category)
Public
creationDate
Time this record was created
Unix time string
Public
lastUpdateDate
Last time this record was updated
Unix time string
Public
position
Default sort order

Used in the Help Center when viewing the list of categories or subcategories.
Integer
Public
locale
Category language
 Two-letter country code string
Public
name
Category name
String
Public
translated
Whether the category is translated to the requested language
Boolean
Public
visible
Whether the category is visible
Boolean
Public
data
Structure of:

* iconKey (string): ID of Wix Answers stock image used to represent category.
* iconSrc (string): URL of custom category image
Structure
Public
children
List of subcategories
Public
translations
List of category translations, each one a structure containing:

* title (String)
* locale (Two-letter country code string)
* url (String)
List of structures
Public
publishedArticleCount
Number of published articles associated with this category
Integer
Public
draftArticleCount
Number of draft articles associated with this category
Integer
Public
uri
Relative path to category
String
Extended
url
Full path to category
String
Extended
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "id":"e932c0a3-6e9b-43cf-b3a9-ee6aee6a5b07",
    "parentId":"00000000-0000-0000-0000-000000000000",
    "creationDate":1511857328000,
    "lastUpdateDate":1533642617000,
    "position":0,
    "locale":"en",
    "name":"Getting Started",
    "visible":true,
    "data":{
        "iconKey":"phone_paused"
    },
    "children":[],
    "publishedArticleCount":8,
    "draftArticleCount":7
}

Ticket Object

Represents a ticket. Tickets are opened as a result of several possible channels, as defined by the customer: by an email, by an agent, or as a result of a chat or phone call.
Object field name
Description 
Format
id
Ticket ID
locale
Ticket language
Two-letter country code string 
subject
Ticket subject
String
content
Ticket content
String
user
User that created the ticket, or on behalf of whom the ticket was created
company
Company associated with the ticket
userInfo
Structure of user system information sent by the user's browser:

* ip (string)
* userAgent (string)
* operatingSystemFamily (string)
* operatingSystemName (string)
* operatingSystemVersion (string)
* browserFamily (string)
* browserName (string)
* browserVersion (string)
* countryCode (two-letter country code string)
Structure
status
Integer
priority
Integer
repliesCount
Number of ticket replies (user and agent replies, not including internal notes)
Integer
lastReply
Last reply (user or agent, not internal note)
channel
The channel by which the ticket was created

See Channel.
Integer
channelData
Other data related to the channel, depending on the channel. See Channel.
Structure
labels
List of labels attached to the ticket
relatedArticleIds
List of articles that are marked as related to the ticket
List of GUIDs
ticketNumber
Ticket reference number
Integer
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
assignedBy
Agent who assigned the ticket
createdByAgent
Agent who created the ticket

Relevant only for tickets created on behalf of a user.
assignedUser
Agent assigned to the ticket
assignedGroup
Agent group assigned to the ticket
lastAgentReplyDate
The time of the last agent reply
Unix time string
lastSolvedDate
The time the ticket was last solved.
Unix time string
lastOpenedDate
The last time the ticket was opened
Unix time string
lastStatusChangeDate
The last time the ticket status changed
Unix time string
satisfaction
Ticket satisfaction rating

Integer
handledByUserIds
List of user/agent IDs that have changed the ticket 
List of GUIDs
repliedByUserIds
List of user/agent IDs that have replied to the ticket
List of GUIDs
positiveRatedUserIds
List of users that rated the ticket positively
List of GUIDs
negativeRatedUserIds
List of users that rated the ticket negatively
List of GUIDs
customFields
List of ticket custom field values, each one a structure of:
* <API field name> (string): The API name of the field (auto-generated)
* <Custom Field value> (format depends on the field)
Structure
hasAgentReply
Whether the ticket has a reply from an agent
Boolean
spam
Whether the ticket was marked as spam
Boolean
unauthenticated
Whether the user is unauthenticated (not registered in Wix Answers)
Boolean
createdOnBehalf
Whether an agent created the ticket on behalf of the user
Boolean
initialUserEmail
Email address of user who created the ticket

This is useful if the user's email has since changed.
String
allCcUsers
All (current or previous) CC users associated with the ticket
List of  User objects
allCcUserIds
All (current or previous) CC users associated with the ticket
Set of GUIDs
ccUserIds
CC users associated with the most recent reply
Set of GUIDs
SLA
SLA policy associated with the ticket, a structure of:
* policyID (GUID): SLA policy
* policyMetadata: SLA information
* respondSLA (@SLA Data object)
* resolveSLA (@SLA Data object)
@SLA object
previousLocales
List of previous locales
Set of two-letter country code strings
importId
Import batch process 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "content":"Ticket HTML",
    "user":{ @User object },
    "channel":130,
    "creationDate":1528883681793,
    "lastUpdateDate":1529515777757,
    "userInfo":{},
    "id":"77bc8694-5ccf-436c-ab2b-543563a5f425",
    "locale":"en",
    "ticketNumber":1234,
    "status":120,
    "priority":20,
    "assignedUser":{ @Agent object },
    "lastAgentReplyDate":1529245296000,
    "lastOpenedDate":1528910191000,
    "lastStatusChangeDate":1528910191000,
    "repliesCount":2,
    "subject":"Ticket Subject",
    "relatedArticleIds:["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07"],
    "assignedBy":{ @Agent object },
    "handledByUserIds":["e932c0a3-6e9b-43cf-b3a9-80f6ee6a5b08"],
    "repliedByUserIds":["e932c0a3-6e9b-43cf-b3a9-60f6ee6a5b09"],
    "hasAgentReply":true,
    "spam":false,
    "unauthenticated":false,
    "createdOnBehalf":false,
    "channelData":{
        "mailboxId":"12345",
        "mailboxEmail":"info@wixanswers.com"
    },
}

Reply Object

A reply is a response by a user or agent to a ticket. Private agent replies are called internal notes. Also see Saved Reply object.
Object field name
Description 
Format
id
Reply ID
ticketId
The ticket to which this reply is attached
content
Reply content HTML
String
type
Integer
attachments
List of reply attachments
ccRecipients
Current CC email addresses associated with the reply, each one a structure of:
* email (string)
* name (string)
List of structures
sla
SLA policy associated with the reply, a structure of:
* policyID (GUID): SLA policy
* policyMetadata (@SLA Policy Metadata object)
* status (Integer): SLA Policy Status
* elapsedTime (Integer)
Structure
newTicketStatus

Relevant when the ticket status is changed when the reply is attached.
Integer
rating
Integer
user
The user or agent that wrote the reply
userInfo
Structure of user system information sent by the user's browser:

* ip (string)
* userAgent (string)
* operatingSystemFamily (string)
* operatingSystemName (string)
* operatingSystemVersion (string)
* browserFamily (string)
* browserName (string)
* browserVersion (string)
* countryCode (two-letter country code string) 
Structure
channel
How the reply was created

See Channel.
Integer
webChannelData
Additional data is channel is web 

See Channel.
Structure
chatChannelData
Additional data if channel is chat 

See Channel.
Structure
widgetChannelData
Additional data is channel is widget 

See Channel.
Structure
emailChannelData
Additional data if channel is email 

See Channel.
Structure
facebookChannelData
Additional data if channel is email

See Channel.
Structure
timelineItemType
For a reply, this is always 9
9
deleted
Whether this reply was deleted
Boolean
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
importId
Import batch process 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    {
      "content": "<div>Test 3</div>",
      "user": { @User object },
      "channel": 100,
      "creationDate": 1569315593065,
      "lastUpdateDate": 1569315593065,
      "userInfo": {
        "ip": "91.199.119.252",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0",
        "operatingSystemFamily": "Windows",
        "operatingSystemName": "Windows",
        "operatingSystemVersion": "10.0",
        "browserFamily": "Firefox",
        "browserName": "Firefox",
        "browserVersion": "69",
        "countryCode": "IL"
      },
      "id": "180b18c4-843a-4374-a022-bb63bcb97a79",
      "ticketId": "b896981d-8434-439f-9631-66f94b4f29bb",
      "type": 110
    }

Saved Reply Object

A saved reply is not a reply. It is present contents that can be applied to the reply form in the UI. The user can then submit the contents to create a reply.
Object field name
Description
Format
id
Saved reply ID
shared
Whether the saved reply is shared (can be used by other agents)

The default is false.
Boolean
title
Reply title
String
content
Reply HTML content
String
locale
Saved reply language
Two-letter country code string
shortcut
Hashtag shortcut for the reply
String, up to 25 characters
status
Integer
author
Reply author user
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
lastOpenTask
The last task opened for this article
1
2
3
4
5
6
7
8
9
10
11
12
13
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "shared":true,
    "title":"Reply Title",
    "content":"HTML content",
    "locale":"en",
    "primaryLocale":"en",
    "shortcut":"#shortcut",
    "status":1,
    "author":{ @User object },
    "creationDate":1568014811000,
    "lastUpdateDate":1568061353000
}

Saved Filter Object

A saved filter creates a custom view in the UI. A saved filter is composed of one or more ticket filters, each of which filters tickets by a specific criteria, such as whether the ticket has a label or was assigned by a particular agent (in the UI, these are divided into ticket filters, agent filters, call filters, and custom field filters, but in the API these are all ticket filters).
Object field name
Description
Format
id
The saved filter ID
name
Saved filter name
String, max 50 characters
type

The value System (0) is not used for saved filters.
Integer
context
Integer
locale
Language of the saved filter
Two-letter country code string
filters
Ticket filters structure:
* channelFilters (list of structures):
  * channel (integer): See Channel.
  * ids (list of GUIDs)
* statuses (list of integers): Ticket Statuses
* priorities (list of integers): Ticket Priorities
* assigned (Boolean)
* assignedByUserIds (list of GUIDs)
* assignedByMe (Boolean)
* assignedGroupIds (list of GUIDs)
* assignedUserIds (list of GUIDs)
* assigndToMe (Boolean)
* assignedToMyGroups (Boolean)
* repliedByUserIds (list of GUIDs)
* repliedByMe (Boolean)
* ratingType (integer): Rating Type
* ratedUserIds (list of GUIDs)
* hasAllOfLabelIds (list of GUIDs)
* hasAnyOfLabelIds (list of GUIDs)
* notHasAnyOfLabelIds (list of GUIDs)
* categoryId (GUID)
* hasAgentReply (Boolean)
* spam (Boolean)
* createdOnBehalf (Boolean)
* relatedArticleIds (list of GUIDs)
* countries (list of strings)
* mailboxIds (list of GUIDs)
* companyIds (list of GUIDs)
* userIds (list of GUIDs)
* customFieldFilters (map of ticket custom field values): Each field is:
  * <API field name> (string): The API name of the field (auto-generated)
  * <Custom Field value> (format depends on the field)
* slaFilters (list of SLA filters)
* fromHoursAgo (integer between 1 and 8,760 (365 days))
* fromCreationDate (yyyy-MM-dd)
* toCreationDate (yyyy-MM-dd)
* fromLastUpdateDate (yyyy-MM-dd)
* toLastUpdateDate (yyyy-MM-dd)
* fromLastOpenedDate (yyyy-MM-dd)
* toLastOpenedDate (yyyy-MM-dd)
* timezone (Long time zone name string, for example America/Denver)
* myChats (Boolean)
* chatStatuses (list of integers): Chat Statuses
* activeChatParticipantIds (list of GUIDs)
* chatParticipantIds (list of GUIDs)
* callLineIds (list of GUIDs)
* callQueueIds (list of GUIDs)
* fromCallDurationSeconds (integer from 0 to 14,400 (4 hours))
* toCallDurationSeconds (integer from 0 to 14,400 (4 hours))
* fromCallWaitDurationSeconds (integer from 0 to 43,200 (12 hours))
* toCallWaitDurationSeconds (integer from 0 to 43,200 (12 hours))
* callStatuses (list of integers): Call Statuses
* callHandlingUserIds (list of GUIDs)
* callHandledByMe (Boolean)
* callHandled (Boolean)
Structure
ownerId
User who created this record
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
1
2
3
4
5
6
7
8
9
10
11
{
    "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name": "Spam",
    "type": 10,
    "context": 0,
    "locale": "en",
    "filters": { "spam": true },
    "ownerId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
    "creationDate":1524230600000,
    "lastUpdateDate":1561065255000
}

ContentTask Object

A task that is created for an article, asking an agent to review or translate the article.
Object field name
Description
Format
id
Task ID
itemId
The item to which the task is attached
itemType
The attached item type (the object to which this task is attached)

Currently, tasks can be crated only for articles. See Item Type.
Integer
locale
Language of the item to which the task is attached
Two-letter country code string 
type
Integer
status
Integer
priority
Integer
createdByUser
Agent who created the task
assignedUser
Agent to whom the task is assigned. Either this or assignedGroup is set.
assignedGroup
Group to whom the task is assigned. Either this or assignedUser is set.
completedByUser
Agent who completed the task, if any
creationDate
Time this record was created
Unix time string
lastUpdateDate
Time this record was last updated
Unix time string
completionDate
Time the task was completed
Unix time string
description
Task description
String
notes
Task notes
List of Note objects
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "itemId": "1234-5678",
    "itemType": 10,
    "locale": "en",
    "type": 20,
    "status": 10,
    "priority": 20,
    "createdByUser": { @User object },
    "assignedUser": { @User object },
    "creationDate": 1562843993000,
    "lastUpdateDate": 1562843993000,
    "description": "Please review!"
}

ContentTaskInfo Object

This object is a subset of the ContentTask object.
Object field name
Description
Format
id
Content Task ID
type
Integer
status
Integer
priority
Integer
createdByUserId
Agent who created the task
assignedUser
Agent to whom the task is assigned. Either this or assignedGroup is set.
assignedGroup
Agent group to whom the task is assigned. Either this or assignedUser is set.
completedByUserId
Agent who completed the task, if any
creationDate
Time this record was created
Unix time string
lastUpdateDate
Time this record was last updated
Unix time string
completionDate
Time the task was completed
Unix time string
1
2
3
4
5
6
7
8
9
10
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "type": "10",
    "status": 10,
    "priority": 20,
    "createdByUserId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
    "assignedUser": { @User object },
    "creationDate": 1562843993000,
    "lastUpdateDate": 1562843993000
}

User Object

Represents any user (including unauthenticated users). An agent object is a superset of a user object (contains the user object fields plus additional fields).

The email address must be unique; a user object is identified by its email address.
Object field name 
Description 
Format
Response Level
id
User ID
Public
firstName
User first name
String
Public
lastName
User last name
String
Restricted
userType
Integer
Restricted
email
User email address, up to 200 characters

Must be unique to this user obect.
String
Restricted
emailStatus
Integer
Public
lastUpdateDate
Time this record was last updated
Unix time string
Public
profileImage
URL of user’s profile image

String
Public
signature
URL of signature

Relevant only for agents.
String
Restricted
phoneNumbers
List of phone numbers
Restricted
company
Associated company
Public
externalId
Relevant only for tenants supporting SSO - the external ID in the tenant’s SSO auth system
String
Public
creationDate
Time this record was created
Unix time string
Public
customFields
List of user custom field values, each one a structure of:
* <API field name> (string): The API name of the field (auto-generated)
* <Custom Field value> (format depends on the field)
Structure
Extended
banned
Whether the user is banned
Boolean
Extended
importId
Import batch process 

Public
1
2
3
4
5
6
7
8
9
10
11
12
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "email":"user@wix.com",
    "emailStatus":0,
    "creationDate":1562843993000,
    "lastUpdateDate":1562843993000,
    "userType":2,
    "firstName":"Wix",
    "lastName":"User",
    "profileImage":"Image URL",
    "banned":false
}

User Ban Object

Represents a user ban created by an agent.
Object field name
Description
Format
userId
The user ID
agentId
The agent that enabled the ban
reason
The reason for the ban
String
creationDate
Time this record was created
Unix time string
1
2
3
4
5
6
{
    "userId": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "agentId": "e932c0a3-6e9b-43cbc-a3a4-90f6ee6a5b06",
    "reason": "Abusive",
    "creationDate": 1568892518000
}

Company Object

Represents a company, which can be used to classify users. For more information, see Companies API.
Object field name
Description
Format
id
Company ID
name
Company name
String
settings
Structure of:

* defaultSlaPolicyId (GUID)
* +followers (structure)
* +emailDomainSettings (structure)
* +accountManagerSettings (structure)

Structure

+followers

List of agents that are notified when users associated with this company add tickets
List of GUIDs

+emailDomainSettings

Email domain settings. Structure of:

* emailDomain (string): Domain to associate with this company
* autoAssociateUsers (Boolean): Whether to automatically associate users who have this domain with this company
Structure

+accountManagerSettings

Account manager settings: Structure of:

* accountManagerID (GUID): Agent primarily responsible for tickets opened by the users associated with this company
* autoAssignTickets (Boolean): Whether to automatically assign tickets opened by/for users associated with this company to the account manager
Structure
accountManager
Agent primarily responsible for tickets opened by the users associated with this company 
numberOfUsers
Number of users associated with the company
Integer
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
description
Company description
String
logo
URL to company logo
String
externalId
Relevant only for tenants supporting SSO - the external ID in the tenant’s SSO auth system
String
customFields
List of company custom field values, each one a structure of:
* <API field name> (string): The API name of the field (auto-generated)
* <Custom Field value> (format depends on the field)
Structure
importId
Import batch process 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b01",
    "name":"Company1",
    "settings":{
        "followers":["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b02"],
        "emailDomainSettings":{
            "emailDomain":"company1.com",
            "autoAssociateUsers":true
        },
        "accountManagerSettings":{
            "accountManagerId":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b03",
            "autoAssignTickets":true
        }
    },
    "accountManager":{ ... @Agent object ... },
    "creationDate":1568892518000,
    "lastUpdateDate":1568892518000,
    "description":"Company One",
    "logo":"https://a.com/company1.jpg"
}

Agent Object

An agent object has all of the fields that a User object has, plus the following:
Agent Custom Fields
When you get an agent object (using an agent API), any returned custom fields are those specifically configured for the agent (if any). When you get a user object of an agent, any returned custom fields are those specifically configured for the user object (if any); agent custom fields are not returned.
Object field name
Description
Format
permissionLevel
Integer
roleId
User role
statusStartDate
Time status last changed
Unix time string
agentCreationDate
Time this user was made an agent
Unix time string
agentLastUpdateDate
Last time the record of this agent was updated
Unix time string
managerId
The agent's manager
User GUID
locationId
The agent's location
Location GUID
teamId
The agent's team
Team GUID
jobTitle
The agent's job title
String
locales
The languages with which the agent is familiar
List of two-letter country code strings
active
Whether the agent is active or not
Boolean
supportUtilizationRate
The agent's availability percentage
Integer
groupIds
The groups of which this agent is a member
List of GUIDs
qualifiedChannels
List of Agent Channels methods that the agent uses to communicate with users
List of integers
channel
Agent Channel to which the agent is currently assigned
Integer
customStatusId
A custom busy status
agentStatus
Integer
lastChatAssignedDate
Time agent last assigned to a chat
Unix time string
assignedQueues
List of queues to which the agent is assigned. Each item in the list a structure of:
* queueId: Queue GUID
List of structures
statistics
Structure of:

* avgCallDurationSec (integer): Average call duration, in seconds
* callsCount (integer): Number of calls
* totalTimeBusySec (integer): Total number of seconds agent's phone was busy
* timeBusy (integer): Number of times agent's phone was busy
Structure
customFields
List of agent custom field values, each one a structure of:
* <API field name> (string): The API name of the field (auto-generated)
* <Custom Field value> (format depends on the field)
Structure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "email":"agent@wix.com",
    "emailStatus":1,
    "creationDate":1567711713000,
    "lastUpdateDate":1567711713000,
    "channel":0,
    "agentStatus":10,
    "userType":4,
    "firstName":"Wix",
    "lastName":"Agent",
    "profileImage":"Image URL",
    "banned":false,
    "groupIds":["123"],
    "agentCreationDate":1567711714000,
    "agentLastUpdateDate":1567711714000,
    "assignedQueues":[ {"queueId": "d367738e-368e-41fe-9289-1a5cbbc3c239"} ],
    "activity":{
        "status":100,
        "statusStartDate":1567711713738
    },
    "statistics":{
        "avgCallDurationSec":0,
        "callsCount":0,
        "totalTimeBusySec":0,
        "timesBusy":0
    },
}

Group Object

Agents can be assigned to groups.
Object field name
Description
Format
id
The group ID
name
The group name
String, between 1 and 100 characters
settings
Structure of:
* avatarPath (string): Path to group image
Structure
creationDate
Time this record was created
Unix time string
latUpdateDate
Last time this record was updated
Unix time string
membersCount
Number of agents in the group
Integer
members
List of agents in the group
1
2
3
4
5
6
7
8
9
{
    "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name": "Group 1",
    "settings": {"avatarPath":"/path/to/group/image"},
    "creationDate": 1567711714000,
    "lastUpdateDate": 1567711714000,
    "membersCount": 2,
    "members": [ @Agent objects ],
}

Team Object

Agents can be assigned to teams.
Object field name
Description
Format
id
The team ID
name
The team name
String
creationDate
Time this record was created
Unix time string
latUpdateDate
Last time this record was updated
Unix time string
1
2
3
4
5
6
{
    "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name": "Team 1",
    "creationDate": 1567711714000,
    "lastUpdateDate": 1567711714000,
}

Location Object

Agents can be assigned to locations.
Object field name
Description
Format
id
The location ID
name
The location name
String
creationDate
Time this record was created
Unix time string
latUpdateDate
Last time this record was updated
Unix time string
1
2
3
4
5
6
{
    "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name": "Location 1",
    "creationDate": 1567711714000,
    "lastUpdateDate": 1567711714000,
}

Line Object

Represents a phone line that can handle inbound calls, outbound calls, or both.

Inbound calls come into a phone line and pass through an IVR. Depending on how the customer has defined the service, the IVR provides numerical options, directs the call to a phone queue, routes to voicemail, or routes to an external CRM.

Outbound calls can be initiated by a callback request or directly by an agent.
Object field name
Description 
Format
id
The line ID
phoneNumber
The phone number associated with this line
String
name
A name representing the line
String
description
A short description for the line
String
status
The line status
Integer

1 if inbound or outbound (or both) calls are enabled, 0 if both are disabled
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
inactiveLineVoiceMessage
Voice message when line is inactive
callBackVoiceMessage
Voice message to send to user when Wix Answers initiates a call on this line using a callback.
callBackTextMessage
Text message to send to user when Wix Answers initiates a call on this line using a callback. Structure of:

* text (string): Text message in response to calls
* enabled (Boolean): Whether text message is enabled
Structure
schedule
Phone line schedule information. Structure of:

* +openingHours (structure, see below):  Normal business hours
* offHoursMessage (Voice Message object): Voice message outside of normal business hours
* +downTimes (list of down times): Temporary down time during normal business hours, a list of structures as follows: 
  * name (string): Reason for downtime as it appears in the UI
  * start (Unix time string): Start of downtime
  * end (Unix time string): End of downtime
  * message (Voice Message object): Message to play during this downtime
Structure

+openingHours

Structure of:

* openTwentyFourSeven (Boolean): Whether line is always open (when true, ignore other settings)
* openingHours (structure, see below): Normal business hours
Structure

+openingHours

Structure of:

* +MONDAY ... +SUNDAY (structures, see below)


+MONDAY
+TUESDAY
+WEDNESDAY
+THURSDAY
+FRIDAY
+SATURDAY
+SUNDAY

Business hours for each day of the week. Structure of:
 
* enabled (Boolean): Whether to enable or disable this day. When false, ignore other settings for this day and note the day as closed.
* dailyActivities (list of structures): List of opening times, a list of structures as follows:
  * start (List of start hour (integer), start minute (integer), start second (integer), start ms (integer))
  * end (List of end hour (integer), end minute (integer), end second (integer), end ms (integer))
  * enabled (Boolean): Whether to enable or disable this start/end time period
Structure
inboundEnabled
Whether the line is open for inbound calls
Boolean
outboundEnabled
Whether the line is open for outbound calls
Boolean
default
Whether this line is the default line for inbound / outbound calls
Boolean
ivrId
IVR flow used for each call received on this line

Required when inboundEnabled is true.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
    "id": "a63a96fc-6914-48b3-96c9-e068cb8fdeb9",
    "phoneNumber": "+1234567890",
    "name": "IVR Authentication line",
    "description": "this is new line that should work 24/h",
    "inactiveLineVoiceMessage": { @Voice Message Object },
    "callBackVoiceMessage": { @Voice Message Object },
    "callBackTextMessage": {
      "text": "Get immediate help by visiting our Help Center. If you don't find what you need, you can request a call with an agent right from there.",
      "enabled": false
    },
    "schedule": {
      "offHoursMessage": { @Voice Message Object },
      "openingHours": {
        "openingHours": {
          "SUNDAY": {
            "dailyActivities": [
              {
                "start": [
                  0,
                  0,
                  0,
                  0
                ],
                "end": [
                  23,
                  59,
                  59,
                  0
                ],
                "enabled": true
              }
            ],
            "enabled": true
          },
          "MONDAY": {
            // same as Sunday
          }
          ...
        } // close second openingHours
      } // close first openingHours
      "downTimes": [
        {
          "name": "testing",
          "start": 1580882400000,
          "end": 1580932800000,
          "message": { @Voice Message Object }
        }
      ]
    }, // close schedule
    "inboundEnabled": true,
    "outboundEnabled": true,
    "ivrId": "24865db8-d430-4845-a5cb-ff8360b3704c",
    "creationDate": 1540389928000,
    "lastUpdateDate": 1576417441000,
    "status": 1,
    "default": false
}

Voice Message Object

Represents a voice message that plays automatically when the relevant criteria are met.
Object field name
Description
Format
textToSpeech
Structure of:

* text (string): Text to convert to speech for voice message
* locale (two-letter country code string): For which language this message is applicable
Structure
audioFile
Structure of:

* url (string): URL of audio file
* name (string): Name of audio file
Structure
mode
Mode for this this message is applicable. Possible values are:

* tts
* audio
String
1
2
3
4
5
6
7
8
9
10
11
{
    "textToSpeech": {
        "text": "Text to convert",
        "locale": "en"
    },
    "audioFile": {
        "url": "/path/to/audiofile",
        "name": "audiofile.wav"
    },
    "mode": "audio"
}

Call Object

Represents a phone call.

Inbound calls come into a phone line and pass through an IVR. Depending on how the customer has defined the service, the IVR provides numerical options, directs the call to a phone queue, routes to voicemail, or routes to an external CRM. One agent (of the ones assigned to the queue) answers the phone call; this agent may invite other agents to join the call.

Outbound calls can be initiated by a callback request or directly by an agent.

A phone call creates a new ticket, or is associated with an existing ticket.
Object field name
Description 
Format
id
The call ID
lineId
The line from which the call originated
queueId
The queue into which the call was sent/handled
type
Integer
user
User who initiated the call
userPhoneNumber
User's phone number
ticketId
Associated ticket

The ticket contains details about the phone call.
status
Integer
closingAgentId
Agent who closed the call
participants
Set of participants in the call, structure of:
* status (integer): Call Participant Status
* statusLastUpdateDate (Unix time string): Time the status was last updated
* all other User object fields
Structure of extended User object, as described
callTransferInfo
Structure of:
* transferredFromCallId (GUID)
* transferredToCallId (GUID)
* transferredToNumber (Phone Number object)
* additionalQueues (list of Queue objects)
* externalTransferStartDate (Unix time string)
* externalTransferEndDate (Unix time string)
Structure
priority
Integer
ivrJourney
List of IVR history structures
List of structures
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
startDate
Time call started
Unix time string
endDate
Time call ended
Unix time string
ivrStartDate
Time IVR started
Unix time string
ivrEndDate
Time IVR ended
Unix time string
queueStartDate
Time queue started
Unix time string
queueEndDate
Time queue ended
Unix time string
wrapUpStartDate
Time wrap up started
Unix time string
wrapUpEndDate
Time wrap up ended
Unix time string

Queue Object

Represents a phone queue.

Inbound calls come into a phone line and pass through an IVR. Depending on how the customer has defined the service, the IVR provides numerical options, directs the call to a phone queue, routes to voicemail, or routes to an external CRM.

Callback requests also enter a queue. Agents are assigned to the queue to handle incoming phone calls and callback requests.
Object field name
Description 
Format
id
The queue ID
name
Queue name
String
description
Queue description
String
locale
Language expected of the users on the phone calls in this queue
Two-letter country code string 
totalAssignees
Number of agents assigned to the queue
Integer
useCallOptionsFromTenantSettings
Whether to use the Call Center call options, or the call options configured for this queue (see below)
Boolean
callOptions
Structure of:

* +waitAudio (structure): audio to play while user is waiting for agent to answer
* +holdAudio (structure): audio to play while user is on hold
* voiceMailMessageLengthMinutes (integer): Max length of user's voice mail message, in minutes, between 1 and 10
String

+waitAudio
+holdAudio

Audio to play while waiting or on hold. Structure of:

* url (string): URL to wait/hold audio file
* name (string): Name of wait/hold audio file
Structure
queueWaitOfferSettings
Whether to offer options to users waiting in the queue, and, if so, what options and how frequently. Structure of:

* enabled (Boolean): Whether wait offers are enabled
* +queueWaitOfferThresholds  (structure) 
* waitOfferMessage (Voice Message object): Message to play before all wait offers
* waitOfferOptions  (List of Offer objects): The offers linked to the keys pressed by the user
Structure

+queueWaitOfferThresholds

Thresholds related to wait offers. Structure of:

* enableOfferPerAudioIterations (Boolean): Enable offers after maxAudioIterationsThreshold number of times playing waitAudio.
* enableOfferPerCalls (Boolean): Enable offers if maxWaitingCallsThreshold number of other users are waiting.
* maxAudioIterationsThreshold (integer):See enableOfferPerAudioIterations.
* maxWaitingCallsThreshold (integer): See enableOfferPerCalls
Structure
queueOpeningHourSettings
Opening hours for the queue. A structure as follows:

* schedule (structure): See schedule in Line object
* offHoursAction (structure): Call actions; see action in Offer object
Structure
queueNonAvailableAgentsSettings
What to do when all agents assigned to the queue are offline. A structure as follows:

* nonAvailableAgentsMessage (Voice Message object): Message to send to user
* nonAvailableAgentsAction (structure): Call actions; see action in Offer object
Structure
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
isDefault
Whether this is the default queue
Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name":"Billing",
    "description":"Queue Description",
    "locale":"en",
    "totalAssignees":0,
    "useCallOptionsFromTenantSettings":true,
    "callOptions":{
        "waitAudio":{
            "url":"Wait Audio URL",
            "name":"Wait Audio file name"
        },
        "holdAudio":{
            "url":"Hold Audio URL",
            "name":"Hold Audio file name"
        },
        "voiceMailMessageLengthMinutes":2
    },
    "queueWaitOfferSettings": {
      "enabled": true,
      "queueWaitOfferThresholds": {
        "enableOfferPerAudioIterations": true,
        "enableOfferPerCalls": true,
        "maxAudioIterationsThreshold": 1,
        "maxWaitingCallsThreshold": 1
      },
      "waitOfferMessage": { @Voice Message object },
      "waitOfferOptions": [ List of @Offer objects ],
    },
    "queueOpeningHoursSettings": {
      "schedule": {
        "offHoursMessage": { @Voice Message object },
        "openingHours": {
          "openingHours": {
            "SUNDAY": {
              "dailyActivities": [
                {
                  "start": [
                    9,
                    0,
                    0,
                    0
                  ],
                  "end": [
                    18,
                    0,
                    0,
                    0
                  ],
                 "enabled": false
                }
              ],
              "enabled": false
            },
            "MONDAY": {
                ...
            },
            ...,
          },
          "openTwentyFourSeven": true
        },
      },
      "offHoursAction": {
        "assignTicketEnabled": false,
        "prioritizeTicketEnabled": false,
        "addTicketLabelsEnabled": false,
        "transcribeVoiceMailMessageEnabled": false,
        "type": 6
      }
    }
    "queueNonAvailableAgentsSettings": {
        "nonAvailableAgentsMessage":{ @Voice Message object },
        "nonAvailableAgentsAction": {
          "assignTicketEnabled": false,
          "prioritizeTicketEnabled": false,
          "addTicketLabelsEnabled": false,
          "transcribeVoiceMailMessageEnabled": false,
          "type": 6
        }
    }
    "creationDate":1546427400000,
    "lastUpdateDate":1546427400000,
    "isDefault":false
}

Offer Object

Represents an offer, which includes a voice message that plays automatically when the relevant criteria are met.
Object field name
Description
Format
queueWaitOfferType
The type of offer:

* Callback (0)
* Transfer Queue (1)
* Voicemail Message (2)
Integer
userInputOption
Structure of:

* +input (structure)
* messages (List of Voice Message objects): Messages to play for the options
* +action (structure): Call actions
Structure

+input

The user input and how it was received. Structure of (one of the following):

* keyPressed (string): The key pressed by the user
* say (string): Text of user voice input
Structure

+action

What to do with the ticket after receiving user input. Structure of some or all of the following:

* queueId (GUID)
* type (integer): Action type
* assignTicketEnabled (Boolean)
* prioritizeTicketEnabled (Boolean)
* addTicketLabelsEnabled (Boolean)
* transcribeVoiceMailMessageEnabled (Boolean)
Structure

Phone Number Object

Represents a phone number.
Object field name
Description 
Format
countryCode
The country code (See country codes here )
String
number
The number
String
1
2
3
4
{
    "countryCode":"1",
    "number":"2125551212"
}

Custom Field Object

Used for tickets, users, agents, and companies.
Object field name
Description
Format
Response Level
id
The custom field ID
Public
name
Custom field API name

The API name of the field (auto-generated). This name is returned in the relevant object custom field map.
String
Public
type
Integer
Public
itemType
The attached object type (the object to which this custom field is attached)

See Item Type. Relevant values are:

* Ticket (8)
* User (60)
* Company (230)
* Agent (300)
Integer
Public
displayName
Name displayed in the UI
String
Public
data
For tickets only (for users, agents, or companies, see below):

Structure of:
* multilingualData: Map of <locales> to <custom field data>, as follows:
  * <locale> (e.g. "en")
  * <custom field data>: Structure of:
    * title (string): The display name, as configured for the field
    * placeHolder (string): Default text, relevant for text or multi-line field
    * description (string): Text to appear near the field in the UI
    * values (List of integers): Field options, relevant for an options field
    * disabled (Boolean): Whether field is disabled in the current locale. Disabled custom fields are not returned at Public level.
* deletedValues (Extended): Map of <locale> to list of strings, as follows:
  * <locale> (e.g. "en")
  * <list of values> (list of strings): deleted values for this locale.
Structure
Public, except as noted in the description

For users, agents, or companies:

Structure of:
* data: Structure of:
  * title (string): The display name, as configured for the field
  * placeHolder (string): Default text, relevant for text or multi-line field
  * description (string): Text to appear near the field in the UI
  * values (List of integers): Field options, relevant for an options field
  * disabled (Boolean): Whether field is disabled in the current locale. Disabled custom fields are not returned at Public level.
* deletedValues (list of strings, Extended): deleted values. 
Structure
Public, except as noted in the description
creationDate
Time this record was created
Unix time string
Public
lastUpdateDate
Last time this record was updated
Unix time string
Public
Ticket custom object:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name":"wix-answers-disclaimer",
    "itemType":8,
    "displayName":"Wix Answers Disclaimer",
    "data": {
      "multilingualData": {
        "pt": {
          "title": "",
          "placeHolder": "",
          "description": "",
          "values": [
            "Option Placeholder",
            "Option 2"
          ],
          "disabled": false
        },
        "en": {
          "title": "What is you favourite food?",
          "placeHolder": "Select Food",
          "description": "Food is cool",
          "values": [
             "Pizza",
             "Burgers"
          ],
          "disabled": false
        }
      }
    }
    "creationDate":1524230600000,
    "lastUpdateDate":1561065255000,
    "type":3
}
User custom object (similar for agent and company):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
    "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07",
    "name":"wix-answers-bird",
    "itemType":60,
    "displayName":"Bird Choice",
    "data":{
      "data":{
          "title":"Bird Choice",
          "placeHolder":"A custom field",
          "description":"",
          "values":["goose","gander"],
          "disabled":false
        },
        "deletedValues": [
          "duck"
        ]
    },
    "creationDate":1524230600000,
    "lastUpdateDate":1561065255000,
    "type":3
}

Note Object

Notes are attached to articles, tasks, or tickets.
Object field name
Description 
Format
id
The note ID
itemId
The item to which the note is attached
itemType
The attached item type (the object to which this note is attached)

Integer
createdByUser
The agent that created the note 
content
Note HTML content
String
locale
Language of the item to which the note is attached
Two-letter country code string
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
1
2
3
4
5
6
7
8
9
{
    "id":"d367738e-368e-41fe-9289-1a5cbbc3c239",
    "itemId":"d7f4c80c-7560-4dc2-8bca-37c589727e5c",
    "itemType":60,
    "createdByUser":{ @User object },
    "content":"A note here",
    "creationDate":1569166518225,
    "lastUpdateDate":1569166518225
}

Attachment Object

Represents an attachment, such as a file or image, uploaded in a chat message or ticket reply.
Object field name
Description 
Format
name
The attachment name
String
url
URL of the attachment
String
sizeBytes
The size of the attachment, in bytes
Integer
contentType
The content type of the attachment
String
status
The attachment status:
* Failed (1)
* Invalid extension (2)
* Max file size exceeded (3)
* OK (200)
Integer
1
2
3
4
5
6
{
    "name": "Attachment 1",
    "url": "/path/to/attachment",
    "sizeBytes": 1000,
    "status": 200
}

Chat Object

Represents an entire chat conversation.
Object field name
Description 
Format
id
The chat ID
ticketId
The associated ticket

The ticket contains details about the chat.
widgetId
The associated widget
chatParticipantsInfo
A map of participants to participant information:
* participants, a map of:
  *<user GUID>
  * A structure of:
    * isAgent (Boolean): Whether the chat participant is an agent.
    * statusLastUpdateDate (Unix time string)
Structure
chatStatus
Integer
unansweredCount
The number of unanswered messages in the chat
Integer
creationDate
Time this record was created
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
lastReopenedDate
Last time this record was reopened
Unix time string
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "id": "d367738e-368e-41fe-9289-1a5cbbc3c239",
    "ticketId": "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a",
    "chatParticipantsInfo": {
        { "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
          {
            "isAgent": false,
            "chatParticipantStatus": 10,
            "statusLastpdate": 1569166518225
          }
        },
        { "e932c0a3-6e9b-a3a4-b3a9-0ae790f6ee6b",
          {
            "isAgent": true,
            "chatParticipantStatus": 10,
            "statusLastpdate": 1569166518345
          }
        }
    },
    "chatStatus": 1,
    "unansweredCount": 0,
    "creationDate":1569166518225,
    "lastUpdateDate":1569166518225
}

Chat Info Object

This object is a subset of the Chat object.
Object field name
Description 
Format
id
The chat message ID
ticketId
The associated ticket
userId
The user who started the chat
chatStatus
Integer
lastAgentReplier
The last agent to reply in the chat, a structure:
* firstName (string)
* profileImage (string): URL of profile image
Structure
lastMessageContent
The last message from lastAgentReplier
String
LastMessageByAgent
Whether the last message in the chat from the an agent (lastAgentReplier)
Boolean
lastMessageCreationDate
Date of last message from lastAgentReplier
Unix time string

Chat Message Object

Represents a specific chat message within a chat.
Object field name
Description 
Format
id
The chat ID
externalId
Currently, this is the ID from Whatsapp
String
ticketId
The associated ticket
ticketOwner
The user who started the chat
text
The chat message content
String
chatMessageType
Whether the author is a user or an agent; Chat Message Type
Integer
chatMessageData
The chat message's attachments, a structure of:

* attachments: List of Attachment objects
Structure
status
Integer
creationDate
Time this record was created
Unix time string
deliveredDate
Time this record was delivered
Unix time string
readDate
Time this record was read
Unix time string
lastUpdateDate
Last time this record was updated
Unix time string
chatId
The associated chat
deleted
Whether the message is deleted
Boolean. The default is false.
user
The message author

Related Articles

Wix Answers API Overview

The WIX Answers REST API enables you to use code to interact with the Wix Answers back-end. You can use the API to create webhooks that interact with the Wix Answers front and back-ends, or create a new front-end app that works with the Wix Answers back-end. You can also use the API to get information about your customers and their Wix Answers history.The API documentation assumes that you are familiar with Wix Answers features and have read the knowledge base articles about these features.The API documentation includes articles with the following subcategories in the Developers category:API Overview: This documentAPI Reference: All public Wix Answers APIs, as well as common objects returned by APIs. Start with the API Reference Overview.Procedures: Frequently asked workflow questions, such as how to find information you might need or how to combine APIs or webhooks to perform common proceduresSDK: How and where to create code that works with the APIs and back-end. Start with the Wix Answers SDK Overview.Webhooks: How to create webhooks that may be called from the APIsNote: Keep a Debug LogWe highly recommend that you create a minimum 3-day log of responses from Wix Answers. This will ease your debugging process in the case of any issues.You can test API calls using cURL or any similar software.Wix API methods accept HTTPS requests in JSON content-type with UTF-8 character set (application/json; charset=utf-8). Parameters are case-sensitive: for example, ID is not accepted when id is expected.Successful responses are returned by HTTPS in JSON format (application/json) with status headers that include codes in the 200-300 range. For example:Status: 200 { &quot;id&quot;: &quot;bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa&quot;, &quot;name&quot;: &quot;Article Title&quot;, ... &quot;creationDate&quot;: 1568180889000 }API EndpointAll URLs referenced in the API documentation have the following endpoint: https://&lt;tenant_subdomain&gt;.wixanswers.comAuthorizationSome API endpoints do not require authorization. Most endpoints require a JWT authorization token. The token is valid for one hour and must be sent on every request using an Authorization header:Authorization: Bearer &lt;token&gt;App Settings, Roles, and PermissionsWix Answers uses app settings, roles, and permissions to determine whether you are allowed to access an endpoint.You can configure app settings to restrict access to specific endpoints. The token retrieved by an app with these settings cannot access these endpoints, regardless of your role/permissions.Any user can access some endpoints without any permissions. However, see Token Types, below. For all other endpoints, a user must be an agent with a specific role. An agent is a user that is assigned any role.Roles are collections of permissions. Wix Answers comes with three out-of-the-box roles: Viewer, Agent, and Admin. Viewers have read-only access to Wix Answers endpoints and the Wix Answers app. Agents can do anything Viewers can do, but they also can manage users, tickets, articles, calls, and other non-administrative areas of the app. An Admin(istrator) can do anything an Agent can do, and can also manage other agents and perform other administrative tasks.  An admin can define other roles in the Wix Answers App.You can access any endpoints that are enabled for any permissions of your role, as long as these permissions are also enabled by the app settings. In addition, some endpoints simply require you to be an agent; you can access these endpoints as long as you are an agent, with any role.For more information, see Roles and Permissions.Token TypesA user-specific authorization token has the authorization for that user. This token not only has the permissions of the user, it also contains the user's ID. A general authorization token (not specific to a user) has all of the permissions enabled by the app settings, but does not contain a user ID.Some endpoints require a user-specific authorization token. For these endpoints, a general authorization token does not work, even though the general token has the required permissions. For example, adding a ticket as a specific user requires a user-specific token; see Add a Ticket as Authenticated User.For all other endpoints, you can use a general token or a user-specific token with the required permissions. If you use the general token, Wix Answers records the activity as done by the default admin user for your tenant, which appears as &quot;System User&quot; in the Wix Answers UI.In some cases, such as reading articles on a public website, no authorization token is required.Help Center Authorization OverrideYou can configure your help center to require users to register before they can access any contents. In this case, all API calls require an authorization token, even if no authorization is indicated in the documentation.Tokens with no User SpecifiedIf you request a token without specifying the user that the token is for, the token is a general token with admin privileges, but will not work for endpoints that require a token associated with a specific user.Authenticated UsersTo be an authenticated user means that Wix Answers has authenticated the user's email and the user has a unique ID (GUID).Chat Unauthenticated User HeaderWhen calling a chat API without an authenticated user token, you must add an additional header to the API request. For more information, see Chat Unauthenticated User Header in the Chats API page.Requesting an Authorization Token (Without Specifying a User)Requesting an Authorization Token Must be Made as a Server-Side RequestYou send the tenant secret in order to obtain an authorization token. This secret is extremely sensitive and must be kept private. Therefore, requests to obtain an authorization token must be made from your servers as server-side requests, NOT from a client.The authorization token is also sensitive, since it enables its holder to act on behalf of the user that it represents. It is important to ensure that the token is kept secure (from everyone except the client/user who will use it). Therefore, Wix Answers recommends that all client requests be made to your servers, which in turn send the token as server-side requests to the Wix Answers API.To obtain an API token without specifying a user:In the Wix Answers app, navigate to Settings &gt; Webhooks &amp; API Keys (https://&lt;tenant_subdomain&gt;.wixanswers.com/app/settings/tools/webhooks-and-api/webhooks) and copy Key ID (Public) and Secret (Private).Make a request to the token generator endpoint, with the parameters key and secret (both are required).POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/accounts/tokenContent type: application/json; charset=utf-8Accept: application/jsonPayload Structure:POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/accounts/token { &quot;keyId&quot;:&quot;&lt;key_id&gt;&quot;, &quot;secret&quot;:&quot;&lt;secret&gt;&quot; }Request Example Using cURL:curl -XPOST 'https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/accounts/token' -d '{ &quot;keyId&quot;:&quot;&lt;key_id&gt;&quot;, &quot;secret&quot;:&quot;&lt;secret&gt;&quot; }' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Response Example:{ &quot;token&quot;:&quot;eyJlbmMiOiJBMTI0NNIiwiYWxnIjoiZGlyIn0..9-fRNeE8J3SspYg9.3eaSroE6kEIpLfdgmhg0fvOxMUs1YAHZC6dHacAkZOOjD1EA-1pApV863H1fxqCVoGbq2163PnE--83rFqU4RxbH33tTbfw0kE-baf1YEnbVt5MOWoQ_F59FzY.BiTX-Ao-OcaDeRuEDIuaeA&quot; }Requesting a Specific User's Authorization Token POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/accounts/tokenIf you have the required permission (users with the agent or admin roles have this permission), you can get a token for a specific user. This kind of token is required where noted in the documentation. You must have the user's GUID.Content type: application/json; charset=utf-8Accept: application/jsonPayload Structure:POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/accounts/token { &quot;keyId&quot;:&quot;&lt;key_id&gt;&quot;, &quot;secret&quot;:&quot;&lt;secret&gt;&quot;, &quot;userId&quot;:&quot;&lt;GUID&gt;&quot; }Request Example Using cURL:curl -XPOST 'https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/accounts/token' -d '{ &quot;keyId&quot;:&quot;&lt;key_id&gt;&quot;, &quot;secret&quot;:&quot;&lt;secret&gt;&quot;, &quot;userId&quot;:&quot;77bc8694-5ccf-436c-ab2b-543563a5f425&quot; }' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Response Example:{ &quot;token&quot;:&quot;eyJlbmMiOiJBMTI0NNIiwiYWxnIjoiZGlyIn0..9-fRNeE8J3SspYg9.3eaSroE6kEIpLfdgmhg0fvOxMUs1YAHZC6dHacAkZOOjD1EA-1pApV863H1fxqCVoGbq2163PnE--83rFqU4RxbH33tTbfw0kE-baf1YEnbVt5MOWoQ_F59FzY.BiTX-Ao-OcaDeRuEDIuaeA&quot; }Requesting a Specific User's Authorization Token from a Widget POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/widgets/{widget GUID}/authIf you have the required permission (users with the agent or admin roles have this permission), you can get a token for a specific user from a widget using the user's email address. If the user is not registered as authenticated in Wix Answers, Wix Answers registers the user as authenticated before returning the token.This is a shorter process than adding the user, receiving the user's GUID, and then requesting a token using the GUID.Content type: application/json; charset=utf-8Accept: application/jsonPayload Structure:POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/widgets/{widget GUID}/auth { &quot;email&quot;:&quot;&lt;email_address&gt;&quot;, &quot;keyId&quot;:&quot;&lt;key_id&gt;&quot;, &quot;secret&quot;:&quot;&lt;secret&gt;&quot;, &quot;externalId&quot;:&quot;&lt;external_SSO_ID&gt;&quot;,// String. If provided, and the tenant // uses SSO, then this value is used // to identify the user, instead of // the email address. // If Wix Answers registers this user as an authenticated user, // it will add the following optional parameters to the user record. // If the tenant uses SSO, it will also add the email address (above). // If the user is already registered, these parameters are ignored. &quot;firstName&quot;:&quot;&lt;first_name&gt;&quot;, // If not provided, the username // of the email address is used. &quot;lastName&quot;:&quot;&lt;last_name&gt;&quot; }Request Example Using cURL:curl -XPOST 'POST https://&lt;tenant_subdomain&gt;.wixanswers.com/api/v1/widgets/77bc8694-5ccf-436c-ab2b-543563a5f425/auth' -d '{ &quot;keyId&quot;:&quot;&lt;key_id&gt;&quot;, &quot;secret&quot;:&quot;&lt;secret&gt;&quot;, &quot;email&quot;:&quot;user@yourdomain.com&quot; }' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Response Example:{ &quot;token&quot;:&quot;eyJlbmMiOiJBMTI0NNIiwiYWxnIjoiZGlyIn0..9-fRNeE8J3SspYg9.3eaSroE6kEIpLfdgmhg0fvOxMUs1YAHZC6dHacAkZOOjD1EA-1pApV863H1fxqCVoGbq2163PnE--83rFqU4RxbH33tTbfw0kE-baf1YEnbVt5MOWoQ_F59FzY.BiTX-Ao-OcaDeRuEDIuaeA&quot; }Important Information about Updating Structures Using the APIFields in a PUT request entirely replace the fields in the Wix Answers back-end. Unless noted, you cannot append information to an existing field.To modify the existing contents of a field:Get the structure using the relevant GET request.Extract the relevant field.Modify the field as required.PUT the modified field back to Wix Answers.Common Elements in API Payloads / ObjectsThe following formats or values repeatedly appear in the requests you make to, or in the structures returned by, Wix Answers.Note About Undocumented ParametersMost return structures include additional parameters not documented in this guide. These parameters are irrelevant and can be safely ignored.Global IDs (GUID)Many records, such as users, tickets, labels, and so forth, are uniquely identified by a global ID, also known as a GUID. A GUID looks something like e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07.Unix Time StringsUnix time strings are integers indicating the number of seconds since Jan 1, 1970 00:00:00. Unix time strings are commonly used to indicate the creation or last modified time of a record.Languages / LocalesClick here to see the list of supported languages.Import IDDuring the Wix Answers on-boarding process, Wix Answers can help you load your initial data by importing users, companies, articles, categories, tickets, and replies. These items are tagged during the import process with an import ID (importId).You can use your own code (such as in a webhook) to filter these items based on their import ID.API Request Rate LimitThe Wix Answers APIs have a rate limit. We reserve the right to adjust the rate limit for given endpoints so we can provide a high quality of service for all clients. If you need to make more requests than the limit, please contact us and we will try to accommodate your request.API Usage Legal NoticeYour use and access to the API are expressly conditioned on your compliance with the policies, restrictions, and other provisions related to the API set forth in our Terms of Use and our Privacy Policy. If we believe that you have or attempted to violate any term, condition, or the spirit of these policies or agreements, your right to access and use the API may be temporarily or permanently revoked.

9 min read

API Enumerations

This page lists the values in enumerations that are available to configure Wix Answers object statuses and types, and are returned in API responses that contain object structures. Not all values are available to use in all requests, and not all values are available to be returned in all object structures. See the specific API for more details.Agent ChannelWhere the agent is currently operating, as it appears in the UI.ValueInteger ValueNotesNone0Call Center20Chat30Agent StatusThe visibility status in the UI.ValueInteger ValueNotesOnline10In Work40Busy60Offline100Article ResolutionValueInteger ValueNotesCollecting Votes110Relevant for feature requestsIn Development112Relevant for feature requestsComing Soon114Relevant for feature requestsReleased116Relevant for feature requestsInvestigating120Relevant for known issuesWorking On It122Relevant for known issuesResolved124Relevant for known issuesThird-Party Bug126Relevant for known issuesArticle StatusValueInteger ValueNotesDraft0A new, published article, or an article whose draft version is different from its most recently published versionPublished10A published article, whose draft version is the same as the most recently published versionDeleted30Article TypeValueInteger ValueNotesArticle100Feature Request110Known Issue120Video130Article Version Publication StatusValueInteger ValueNotesDraft0One (and only one) draft exists at any one timePublished1Call Participant StatusValueInteger ValueNotesConnecting10Talking20On Hold30Muted40Left50Declined60No Answer70Cancelled80Invited90Failed100Call PriorityValueInteger ValueNotesNormal0High1Call StatusValueInteger ValueNotesIn IVR10In Queue20Reserved30Initiated40Ringing50In Progress60Completed70Completed in IVR71Forwarded72Transferred to Number73Completed Voicemail74Pending Voicemail75Busy80Failed90No Answer100Cancelled110Expired120Transferred to Queue130Abandoned140Hung Up in Queue150Hung Up in IVR160Transferred to IVR170Call TypeValueInteger ValueNotesInbound10Outbound20Callback30ChannelHow a ticket was created.ValueInteger ValueChannel DataWeb100* userFirstName (string)* userLastName (string)Email110* mailboxID (string)* mailboxEmail (string)* attachments (list of URL strings)Phone Callback120Phone Outbound121Phone Inbound122By Agent130Facebook140* pageId (string)* id (string)* parentId (string)* postId (string)* type (integer): Message (10), Post (20)* time (long)* attachments (list of URL strings)Whatsapp150* lineId (GUID)* userPhoneNumber (string)Chat160* chatId (GUID)* chatStatus (Chat Status)* chatStatusLastUpdateDate (Unix time string)* activeParticipantIds (list of GUIDs)* participantIds (list of GUIDs)* activeParticipants (list of Agent objects)* widgetId (GUID)* unansweredMessageCount (integer)* originalUserId (GUID)* lastMessage (Chat Message object)* waitDurationsSec (list of longs)* activeDurationsSec (list of longs)Widget170* widgetId (GUID)API180Chat Message StatusValueInteger ValueNotesQueued10Failed20Sent30Delivered40Failed50Chat Message TypeValueInteger ValueNotesUser100Agent110Chat Participant StatusValueInteger ValueNotesTalking10Left20Chat StatusValueInteger ValueNotesWaiting0Active1Completed2Content Task PriorityValueInteger ValueNotesLow10Normal20High30Content Task StatusValueInteger ValueNotesOpen10Completed20Content Task TypeValueInteger ValueNotesWrite10Update20Review30Translate40Counter TypeValueInteger ValueNotesFollower10View20Vote30Unhelpful / Rating 1300Helpful / Rating 5304Custom Field TypeValueInteger ValueNotesText1Multi-Line Text2Single Select3Multi-Select4Number5Checkbox6Date Picker7Email StatusValueInteger ValueNotesNot Verified0Verified1Invalidated99Event TypeValueInteger ValueItem TypeNotesArticle Added650ArticleArticle Updated651ArticleArticle Content Updated652ArticleArticle Deleted653ArticleArticle Restored654ArticleArticle Merged655ArticleArticle Unpublished656ArticleArticle Published663ArticleArticle Labels Updated665ArticleArticle Phrases Updated666ArticleArticle Visibility Changed667ArticleTicket Updated700TicketTicket Content Updated701TicketTicket Deleted702TicketTicket Status Changed703TicketReply Deleted705ReplyOutbound Ticket Added707TicketReply Content Updated709ReplyReply Moved710ReplyTicket Created From Reply711TicketTicket labels Updated712TicketScheduled Call Cancelled713TicketReply Made Into Ticket714ReplyTicket Locale Changed715TicketTicket Set Private716TicketTicket Article Relations Changed717TicketTicket Priority Changed718TicketTicket Assigned722TicketTicket Unassigned723TicketTicket Marked as Spam724TicketReply Moved to Ticket725TicketReply Moved from Ticket726TicketInternal Note Deleted727ReplyTicket Custom Fields Updated728TicketAgent Reply Added729TicketTicket Attachments Removed730TicketReply Attachments Removed731ReplyRule Failed732TicketTicket Transferred733TicketEmail Sent734TicketReply Updated on Ticket Transferred735ReplyTicket Authenticated736TicketSLA Policy Added to Ticket737TicketMacro Applied on Ticket738TicketAgent Internal Reply (Note) Added739ReplyCategory Added800CategoryCategory Removed801CategoryCategory Language Values Changed802CategoryCategory Updated803CategoryCategory Moved804CategoryChat Ticket User Updated1500TicketAgent Joined Chat1501TicketAgent Left Chat1502TicketAgent Ended Chat1503TicketItem TypeValueInteger ValueNotesCategory2SEO Content6Tenant7Ticket8Reply9Article10Email Template14Content Task40Mailbox50User60Saved Reply70Label90URL Mapping110Multilingual Text120Saved Filter130Help Center Renderable Component140Phone Call150Note160Chat Message170Chat175Integration180SLA Policy190Group200Widget210Line220Widget Multilingual Texts221Company230Queue260Agent300Rating TypeValueInteger ValueNotesAll0Negative10Positive20Reply StatusValueInteger ValueNotesDraft0Published1Deleted2Reply TypeValueInteger ValueNotesUser100CC User101A reply from the CC: email userAgent110Internal120An internal noteSatisfactionValueInteger ValueNotesNot at All0Not Very10Somewhat20Very30Extremely40Saved Filter ContextValueInteger ValueNotesTicket0Chat10Saved Filter TypeValueInteger ValueNotesSystem0A preset filter that comes with Wix Answers, so technically not relevant for a saved filter.Private10Public20Saved Reply StatusValueInteger ValueNotesDraft0Published1Delete2Search TypeValueInteger ValueNotesExact1Contains2Not Contains3SLA Policy StatusValueInteger ValueNotesPaused0Active1Completed Successfully2Completed Unsuccessfully3Ticket PriorityValueInteger ValueNotesLow10Normal20High30Ticket StatusValueInteger ValueNotesOpen100Pending110Closed120Solved140Investigating150User Permission LevelValueInteger ValueNotesUserWhen undefined, the permission level is for a regular user.Agent20Admin80User TypeValueInteger ValueNotesAuthenticated1Unauthenticated2Pending Authentication4Pending Deletion5Deleted99

3 min read