Wix Answers Help Center
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 | |
brandId | Brand ID | Public | |
type | Integer | Public | |
locale | Language of the article | Language code string (for example: 'de') | Public |
primaryLocale | Primary locale of the Wix Answers account | Language code string (for example: 'de') | 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 See note about HTML Markup at the introduction to Article APIs. Does not include comments. | 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 | 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 | Public | |
lastPublishDate | Time article was last published | Public | |
creationDate | Time this record was created | Public | |
lastMessageId | Last chat message associated with thi | ||
labels | List of labels attached to the article | List of Label objects | Public |
translations | List of article translations, each one a structure containing: * title (string) * locale (language code string) * url (string): URL of article translation * status (integer): See status, above | List of structures | Public |
importId | Import batch process See Import ID. | 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
{ "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, "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) See Item Type. | Integer |
counterType | Integer | |
locale | Language of item | Language code string (for example: 'de') |
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 | Language code string | Public |
content | The version's HTML content See note about HTML Markup at the introduction to Article APIs. | String | Public |
publicationStatus | Integer | Public | |
comment | Internal comment associated with the version | String | Public |
creationDate | The version creation date | Public | |
lastUpdateDate | The version last updated date | 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 | |
brandId | Brand ID | Public | |
parentId | Category's parent category | GUID (00000000-0000-0000-0000-000000000000 for top level category) | Public |
creationDate | Time this record was created | Public | |
lastUpdateDate | Last time this record was updated | Public | |
position | Default sort order Used in the Help Center when viewing the list of categories or subcategories. | Integer | Public |
locale | Category language | Language 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 | List of Category objects | Public |
translations | List of category translations, each one a structure containing: * title (String) * locale (language 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 |
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 }
Article Comment Object
Represents an article comment.
Article Comment Tag
An article comment object does not indicate where in the article the comment appears. The article content must contain a link to the comment using the tag <span data-composite="true" data-comment-id="{comment GUID}">tagged text</span>.
Object field name | Description | Format |
---|---|---|
id | Article Comment ID | |
articleId | The associated article | |
locale | Language of the article | Language code string |
resolved | Whether the comment is marked as resolved | Boolean |
content | The comment | String |
number | Each comment in an article receives a unique number | Integer |
repliesCount | Number of replies associated with this comment | Integer |
participants | Agents associated with comment, a structure of: * all (set of GUIDs): Agents associated with the comment or one of its replies, including the agent who wrote the comment * mentioningAgentIds (set of GUIDs): Agents who mentioned other agents (including in a reply) * mentionedAgentIds (set of GUIDs): Agents mentioned by other agents | Structure |
createdBy | Agent who wrote the comment | |
resolvedBy | Agent who most recently resolved the comment | |
lastEditDate | Time the comment was most recently edited | |
lastResolveDate | Time the comment was most recently resolved | |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was update |
1 2 3 4 5 6 7 8 9 10 11 12 13 14
{ "id":"e932c0a3-6e9b-43cf-b3a9-ee6aee6a5b07", "articleId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "creationDate":1511857328000, "lastUpdateDate":1533642617000, "locale":"en", "content":"Check this out", "participants":{ "all": { @User objects }, "mentioningAgentIds": { @User objects }, "mentionedAgentIds": { @User objects } }, "createdBy": { @User object } }
Article Comment Reply Object
Represents an article comment reply.
Object field name | Description | Format |
---|---|---|
id | Article Comment Reply ID | |
commentId | The associated article comment | |
content | The reply | String |
createdBy | Agent who wrote the reply | |
lastEditDate | Time the reply was most recently edited | |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was update |
1 2 3 4 5 6 7 8
{ "id":"e932c0a3-6e9b-43cf-b3a9-ee6aee6a5b07", "commentId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "creationDate":1511857328000, "lastUpdateDate":1533642617000, "content":"Why?", "createdBy": { @User object } }
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 | Response Level |
---|---|---|---|
id | Ticket ID | ||
brandId | Brand ID | Extended | |
content | Ticket content | String | |
user | User that created the ticket, or on behalf of whom the ticket was created | ||
deleted | Whether the ticket is deleted | Boolean | Extended |
channel | The channel by which the ticket was created See Channel. | Integer | |
creationDate | Time this record was created | ||
lastUpdateDate | Last time this record was updated | ||
userInfo | Information about the user's system | UserInfo object | |
channelData | Additional data, depending on the channel type See Channel. | Structure | |
attachments | List of ticket attachments | List of Attachment objects | |
ccRecipients | Current CC email addresses associated with the ticket, each one a structure of: * email (string) * name (string) | List of structures The maximum is 30 CC recipients. | |
locale | Ticket language | Language code string | |
ticketNumber | Ticket reference number | Integer | |
status | Integer | Extended | |
priority | Integer | Extended | |
assignedUser | Agent assigned to the ticket | Extended | |
assignedGroup | Agent group assigned to the ticket | Extended | |
lastAgentReplyDate | The time of the last agent reply | Extended | |
lastSolvedDate | The time the ticket was last solved. | Extended | |
lastOpenedDate | The time the ticket was last opened. | Extended | |
lastStatusChangeDate | The time the ticket status changed. | Extended | |
repliesCount | Number of ticket replies (user and agent replies, not including internal notes) | Integer | |
subject | Ticket subject | String | |
allCcUsers | All (current or previous) CC users associated with the ticket | List of User objects | Extended |
ccUserIds | CC users associated with the most recent reply | Set of GUIDs | Extended |
allCcUserIds | All (current or previous) CC users associated with the ticket | Set of GUIDs | Extended |
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 | Extended |
labels | List of labels attached to the ticket | List of Label objects | Extended |
company | Company associated with the ticket | Extended | |
relatedArticleIds | List of articles that are marked as related to the ticket | List of GUIDs | Extended |
assignedBy | Agent who assigned the ticket | Extended | |
createdByAgent | Agent who created the ticket Relevant only for tickets created on behalf of a user. | Extended | |
handledByUserIds | List of user/agent IDs that have previously handled the ticket | List of GUIDs | Extended |
handlingUserInfos | List of user/agent IDs that are currently handling the ticket Each list entry is a structure of: * user (User object): Agent handling this ticket * startHandlingTime (Unix time string): The time the agent began handling this ticket | List of structures | Extended |
repliedByUserIds | List of user/agent IDs that have replied to the ticket | List of GUIDs | Extended |
positiveRatedUserIds | List of users that rated the ticket positively | List of GUIDs | Extended |
negativeRatedUserIds | List of users that rated the ticket negatively | List of GUIDs | Extended |
hasAgentReply | Whether the ticket has a reply from an agent | Boolean | |
spam | Whether the ticket was marked as spam | Boolean | Extended |
unauthenticated | Whether the user is unauthenticated (not registered in Wix Answers) | Boolean | |
initialUserEmail | Email address of user who created the ticket This is useful if the user's email has since changed. | String | Extended |
previousLocales | List of previous locales | List of language code strings | Extended |
createdOnBehalf | Whether an agent created the ticket on behalf of the user | Boolean | |
SLA | SLA policy associated with the ticket, a structure of: * policyID (GUID): SLA policy * policyMetadata (structure): SLA information * firstRespondSLA (structure): SLA data object * respondSLA (structure): SLA data object * resolveSLA (structure): SLA data object | Structure | Extended |
snooze | Information about the snooze status of this ticket, a structure of: * snoozeDate (Unix time string): When the ticket will automatically unsnooze * cancelOnUserReply (Boolean): Whether the ticket will unsnooze if the user replies to the ticket * notifyOnSnoozeDate (Boolean): Whether to notify the user who snoozed the ticket (and any other people who receive notifications about this ticket) when the ticket unsnoozes * reopenOnSnooze (Boolean): Whether to reopen the ticket when the ticket unsnoozes * snoozedBy (user GUID): The user who set the snooze | Structure | Extended |
lastReply | Last reply (user or agent, not internal note) | Extended | |
ratings | List of Ratings for this ticket | List of integers | Extended |
hasRatingComment | Whether the ticket has any comments from rating responses | Boolean | Extended |
primaryTicketId | If this ticket is a secondary ticket because it was merged into another ticket, this field identifies the primary ticket (the ticket into which this one was merged) | Extended | |
secondaryTicketIds | Any other tickets that have been merged into this one | List of GUIDs | Extended |
companyShareable | Whether this ticket is hidden from users who normally can view this company's tickets | Boolean | Extended |
importId | Import batch process See Import ID. |
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":"77bc8694-5ccf-436c-ab2b-543563a5f425", "locale":"en", "subject":"Ticket Subject", "content":"Ticket HTML", "user":{ @User object }, "userInfo":{}, "status":120, "priority":20, "repliesCount":2, "channel":130, "channelData":{ "mailboxId":"12345", "mailboxEmail":"info@wixanswers.com" }, "relatedArticleIds:["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07"], "ticketNumber":1234, "creationDate":1528883681793, "lastUpdateDate":1529515777757, "assignedBy":{ @Agent object }, "assignedUser":{ @Agent object }, "lastAgentReplyDate":1529245296000, "lastOpenedDate":1528910191000, "lastStatusChangeDate":1528910191000, "handledByUserIds":["e932c0a3-6e9b-43cf-b3a9-80f6ee6a5b08"], "repliedByUserIds":["e932c0a3-6e9b-43cf-b3a9-60f6ee6a5b09"], "hasAgentReply":true, "spam":false, "unauthenticated":false, "createdOnBehalf":false, }
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 | List of Attachment objects |
ccRecipients | Current CC email addresses associated with the reply, each one a structure of: * email (string) * name (string) | List of structures |
slaState | SLA policy associated with the reply, a structure of: * policyID (GUID): SLA policy * policyMetadata (structure): SLA Policy Metadata object * response (structure): Response SLA state object * resolve (structure): Target SLA state object | Structure |
newTicketStatus | New Ticket Status Relevant when the ticket status is changed when the reply is attached. | Integer |
user | The user or agent that wrote the reply | |
userInfo | Information about the user's system | UserInfo object |
channel | How the reply was created See Channel. | Integer |
webChannelData | Additional data if channel is web See Channel. | Structure |
chatChannelData | Additional data if channel is chat See Channel. | Structure |
widgetChannelData | Additional data if channel is widget See Channel. | Structure |
emailChannelData | Additional data if channel is email See Channel. | Structure |
facebookChannelData | Additional data if channel is facebook See Channel. | Structure |
twitterChannelData | Additional data if channel is twitter See Channel. | Structure |
whatsappChannelData | Additional data if channel is whatsapp See Channel. | Structure |
instagramChannelData | Additional data if channel is instagram See Channel. | Structure |
smsChannelData | Additional data if channel is sms 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 | |
lastUpdateDate | Last time this record was updated | |
importId | Import batch process See Import ID. |
1 2 3 4 5 6 7 8 9 10 11 12
{ "content": "<div>Test 3</div>", "user": { @User object }, "channel": 100, "creationDate": 1569315593065, "lastUpdateDate": 1569315593065, "userInfo": { @userInfo object }, "id": "180b18c4-843a-4374-a022-bb63bcb97a79", "ticketId": "b896981d-8434-439f-9631-66f94b4f29bb", "type": 110, "timelineItemType": 9 }
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 | Language 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 | |
lastUpdateDate | Last time this record was updated | |
lastOpenTask | The last task opened for this article |
1 2 3 4 5 6 7 8 9 10 11 12
{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "shared":true, "title":"Reply Title", "content":"HTML content", "locale":"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 | Language code string |
filters | Ticket filters structure: The following are relevant for tickets, only: * 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) * assignedToAnyAgent (Boolean) * repliedByUserIds (list of GUIDs) * repliedByMe (Boolean) * myTickets (Boolean) * hasRatings (Boolean) * ratings (list of Ratings) * hasRatingComment (Boolean) * 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 (structure): SLA filters * snooze (structure): ticket snooze filters * currentlyHandled (Boolean) * handled (Boolean) * myHandled (Boolean) * facebookChannelType (Integer) * twitterChannelTypes (List of Integers) * instagramChannelTypes (List of Integers) * fromHoursAgo (integer between 1 and 8,760 (365 days)) * fromCreationDate (Date string) * toCreationDate (Date string) * fromLastUpdateDate (Date string) * toLastUpdateDate (Date string) * fromLastOpenedDate (Date string) * toLastOpenedDate (Date string) * fromLastStatusChangeDate (Date string) * toLastStatusChangeDate (Date string) * timezone (Long time zone name string, for example America/Denver) The following are relevant for chats, only: * myChats (Boolean) * chatStatuses (list of integers): Chat Statuses * activeChatParticipantIds (list of GUIDs) * chatParticipantIds (list of GUIDs) The following are relevant for tickets related to phone calls, only: * 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 |
brandFilters | Brand filters structure: * brandId (GUID): Brand ID * brandless (Boolean): When true, include only tickets not associated with any brand | Structure |
ownerId | User who created this record | |
oneInboxSorts | Sort criteria of active and inactive tickets, as follows: * activeListSortType (integer): Primary sort criteria for list of active tickets * activeListSecondarySortType (integer): Secondary sort criteria for list of active tickets * inactiveListSortType (integer): Primary sort criteria for list of inactive tickets * inactiveListSecondarySort (integer): Secondary sort criteria for list of inactive tickets For sort criteria options, see Search Tickets (Agent). | Structure |
oneInboxDisplayedColumns | List of columns that appear when viewing tickets of a saved filter as a table. Each column is a structure of: * columnName (string, required): A saved filter column name * width (integer): column width, in pixels | List of structures |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated |
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 }
Macro Object
Macros are customizable shortcuts that allow you to apply a set of actions to a ticket with just one step.
Object field name | Description | Format |
---|---|---|
id | Macro object ID | |
name | Name assigned to the macro | String |
description | Description assigned to the macro | String |
actions | List of actions, each one a structure of: * Action Type (integer) * Other parameters relevant to the action. See Action Type table for more information. | List of structures |
disabled | Whether the macro is enabled (true) or disabled (false) | Boolean |
macroRestrictions | List of agents or groups who can/cannot view this macro in a list of enabled macros, a structure as follows: * agentIds (list of agent GUIDs) * groupIds (list of group GUIDs) * restrictionMode (Integer): Whether these agents/groups can/cannot view the macro. 1 for Allow (in which case all agents/groups not listed are forbidden), or 2 for Forbid (in which case all agents/groups not listed are allowed). * enabled (Boolean): Whether these restrictions are enabled or not This parameter affects the endpoint described in Get All Enabled Macros. | |
creationDate | Time this record was created | |
lastUpdateDate | Time this record was last updated |
CSAT Object
Wix Answers sends an email requesting a customer satisfaction rating (CSAT) after an agent solves a ticket. The user's response results in a CSAT object. See Sending Customer Satisfaction Surveys in Your Supported Channels.
Object field name | Description | Format |
---|---|---|
id | CSAT object ID | |
ticketId | Ticket ID | |
csatStatus | Status of CSAT object The status is Waiting from when the email is sent to the user until the user responds. | * Waiting (10) * Submitted (30) |
channel | How the ticket was created See Channel. | Integer |
rating | The user Rating | Integer |
comment | Any user comment, if any | String Max 1,200 characters. |
agentId | ID of the Agent whose reply prompted the request for a rating | |
userId | The user ID This is not saved in Wix Answers, but is sent when calling the Customer Satisfaction Survey Submitted webhook. | |
creationDate | Time this record was created | |
lastUpdateDate | Time this record was last updated |
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 | Language 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 | |
lastUpdateDate | Time this record was last updated | |
completionDate | Time the task was completed | |
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 | |
lastUpdateDate | Time this record was last updated | |
completionDate | Time the task was completed |
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.
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 | 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 | List of PhoneNumber objects | Restricted |
company (Deprecated) | Associated company | Public | |
companyIds (Deprecated) | List of associated companies | List of GUIDs | Public |
companiesPermissions | List of associated companies and their permissions, as follows: * <company GUID> | Map | Public |
twitterHandle | Twitter ID | String | Public |
instagramHandle | Instagram ID | String | Public |
instagramImageLastUpdateDate | Time the Instagram user image was last fetched from Instagram When the image is more than two days old, Wix Answers fetches the image again the next time the user adds a reply or adds an Instagram ticket. | 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 | 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 See Import ID. | Public |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
{ "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, "companiesPermissions": { "1f550b89-a12a-4169-82fd-82e4ca51f264": 2, "1f550b89-a12a-4169-82fd-82e4ca51f265": 1, "1f550b89-a12a-4169-82fd-82e4ca51f266": 0, } }
UserInfo Object
Information about a user's system.
Object field name | Description | Format |
---|---|---|
ip | The user's IP address | String |
userAgent | String | |
operatingSystemFamily | String | |
operatingSystemName | String | |
operatingSystemVersion | String | |
browserFamily | String | |
browserName | String | |
browserVersion | String | |
countryCode | Note that a country code is different from a language code | Two-letter country code string |
Additional information may also be available, such as plugins, domain, organization, city, areaCode, timeZone, and so forth.
1 2 3 4 5 6 7 8 9 10 11
{ "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" }
User Role Object
A user with a role is an agent. Roles contain a collection of permissions. Standard roles include Viewer, Agent, and Admin.
Object field name | Description | Format |
---|---|---|
id | The role ID | |
name | The role name | String |
description | The role description | String |
permissionsData | List of permissions for this role: - permissions (list of permissions) | Structure |
creationDate | Time this record was created | |
lastUpdateDate | Time this record was last modified |
1 2 3 4 5 6 7 8
{ "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name": "Custom", "description": "Aget Custom", "permissions": ["30", "40", "70"], "creationDate": 1568892518000, "lastUpdateData": 1568892518000 }
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 |
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 (SLA policy GUID) * followers (List of user GUIDs): List of agents that are notified when users associated with this company add tickets. Max 10. * contacts (List of user GUIDs): List of company contacts. Max 10. * +emailDomainSettings (structure) * +accountManagerSettings (structure) * shareTicketsEnabled (Boolean): When true, then, by default, users of this company can interact with all tickets of the company. When false, then users of this company can interact only with their own tickets. Each user can be configured to inherit or override this property. | Structure |
+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 |
numberOfTickets | Number of tickets associated with the company | Long |
shareTicketsEnabled | Whether, by default, users can enable other users of this company to view their tickets; see Company Customer Permission | Boolean |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated | |
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 |
timezone | Company time zone | Long time zone name string For example: America/Denver |
importId | Import batch process See Import ID. |
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-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", "timezone": "America/Denver" }
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 |
---|---|---|
roleId | User role | |
statusStartDate | Time status last changed | |
agentCreationDate | Time this user was made an agent | |
agentLastUpdateDate | Last time the record of this agent was updated | |
manager | The agent's manager | |
isManager | Whether this agent is a manager of one or more other agents | Boolean |
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 language code strings |
active | Whether the agent is active or not | Boolean |
interfaceLocale | The locale the agent selected for the KB UI | Language code string |
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 | |
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 | |
lastUpdateDate | Last time this record was updated | |
membersCount | Number of agents in the group | Integer |
members | List of agents in the group | List of Agent objects |
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 | |
lastUpdateDate | Last time this record was updated |
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 | |
lastUpdateDate | Last time this record was updated |
1 2 3 4 5 6
{ "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name": "Location 1", "creationDate": 1567711714000, "lastUpdateDate": 1567711714000, }
PII Object
Represents the GDPR personally identifiable information about the user.
Object field name | Description | Format |
---|---|---|
userId | The user ID | |
email | The user's email address | String |
phoneNumbers | List of phone numbers | List of PhoneNumber objects |
firstName | The user's first name | String |
lastName | The user's last name | String |
profileImage | URL of user’s profile image | String |
googleId | The user's Google ID | String |
facebookId | The user's Facebook ID | String |
ssoId | Relevant only for tenants supporting SSO - the external ID in the tenant’s SSO auth system See externalId in the User Object. | String |
PI Object
Represents the GDPR personal information about the user, other than what is in the PII object.
Object field name | Description | Format |
---|---|---|
tickets | Information about the user's tickets, a list of structures The structure of each entry is described in the following table. | Structure, see below |
PI Ticket Information field name | Description | Format |
---|---|---|
id | The ticket ID | |
ticketNumber | The ticket number | Integer |
subject | The ticket subject | String |
toEmail | The email address to which the user sent an email, as a result of which the ticket was created | String |
resolvedCustomFields | A map of custom fields associated with the ticket, each one a string followed by an object | Structure |
phoneCalls | A list of phone calls associated with the ticket, each one containing a phone number and a URL to the recorded phone call, if any | Structure |
replies | A list of replies associated with the ticket, each of which contains the reply GUID | Structure |
chatMessages | A list of chat messages associated with the ticket, each of which contains the text and any attachments | Structure |
content | The ticket content | String |
userInfo | Information about the user's system | UserInfo object |
attachments | List of ticket attachments | List of Attachment objects |
creationDate | Time this record was created |
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.
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 | |
lastUpdateDate | Last time this record was updated | |
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. | |
schedule | Phone line schedule information. Structure of: * (Deprecated; use scheduleId, instead) +openingHours (structure, see below): Normal business hours * offHoursMessage (Voice Message object): Voice message outside of normal business hours * offHoursSmsMessage (Text Message object): Text message outside of normal business hours * (Deprecated; use scheduleId, instead) 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 * smsMessage (Text Message object): Message to send during this downtime * schduleId (schedule GUID): See Schedule object * useSchedule (Boolean): Whether to use the schedule defined in scheduleId (recommended), or to use the old system of openingHours and downtimes. | Structure |
(Deprecated) +openingHours Structure of: * openTwentyFourSeven (Boolean): Whether line is always open (when true, ignore other settings) * openingHours (structure, see below): Normal business hours | Structure | |
(Deprecated) +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 (language 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" }
Text Message Object
Represents a text (SMS) message that is sent automatically when the relevant criteria are met.
Object field name | Description | Format |
---|---|---|
text | The message | String |
enabled | Whether this message is enabled | Boolean |
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.
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 | |
lastUpdateDate | Last time this record was updated | |
startDate | Time call started | |
endDate | Time call ended | |
ivrStartDate | Time IVR started | |
ivrEndDate | Time IVR ended | |
queueStartDate | Time queue started | |
queueEndDate | Time queue ended | |
wrapUpStartDate | Time wrap up started | |
wrapUpEndDate | Time wrap up ended |
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.
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 | Language 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): * offHoursMessage (Voice Message object): Voice message outside of normal business hours * (Deprecated; use scheduleId, instead) openingHours (structure): See Line Object for details. * schduleId (schedule GUID): See Schedule object * useSchedule (Boolean): Whether to use the schedule defined in scheduleId (recommended), or to use the old system of openingHours. * 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 |
blockManualCallTransfer | Whether a call can be manually transferred to this queue | Boolean |
queueCallPriority | Call priority: * 0 (normal, default) * 1 (high) | Integer |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated | |
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 prefix (See country code prefixes 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, non-multilevel field: 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 tickets only, multilevel field: Structure of: * fieldLevels (list of structures): List of levels, in order, each one as follows: * title (String): The level title * translatedTitles (map): A map of locales to translated titles, which are pairs of: * <locale> (language code string): Language * <title> (String): The title in this locale * values (list of value structures): A list of top level values and their trees of subvalues, a recursive structure as follows: * value (String): The value, such as "Wrong Size". * translatedValues (map): A map of locales to translated values, which are pairs of: * <locale> (language code string): Language * <title> (structure): The value in this locale, a structure of: * value (String): The translated value) * disabled (Boolean): Whether this translated value is enabled in the KB. Disabled translated values are not returned at Public level. * disabled (Boolean): Whether this value is disabled in the KB. Disabled values are not returned at Public level. * children (list of value structures): The children of this value, a list of recursive structures identical to this structure (with parameters value, translatedValues, disabled, and children). * enabledLocales (list of language code strings): List of languages enabled for this field. * publiclyVisible (Boolean): Whether this field appears in the KB. Not publicly visible fields are not returned at Public level. | 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 | Public | |
lastUpdateDate | Last time this record was updated | 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) See Item Type. | Integer |
createdByUser | The agent that created the note | |
content | Note HTML content | String |
locale | Language of the item to which the note is attached | Language code string |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated |
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 }
Error Object
Represents an error.
Object field name | Description | Format |
---|---|---|
errorCode | The error code | Integer |
message | The error | String |
Attachment Object
Represents an attachment, such as a file or image, uploaded in a chat message or ticket reply.
Supported file types
See supported file types.
Object field name | Description | Format |
---|---|---|
name | The attachment file name For example, attachment.txt . | String |
url | URL of the attachment | String |
sizeBytes | The size of the attachment, in bytes | Integer |
contentType | The content type of the attachment | String |
externalAttachmentId | Attachment ID in external server (for example, Twitter) | String |
status | The attachment status: * Failed (1) * Invalid extension (2) * Max file size exceeded (3) * OK (200) | Integer |
attachmentType | The attachment type: * Image (1) * Video (2) * Audio (3) | Integer |
1 2 3 4 5 6 7
{ "name": "Attachment1.txt", "url": "/path/to/attachment.txt", "sizeBytes": 1000, "status": 200, "attachmentType": 1 }
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 | |
chatTransferInfo | History of transfer events for this chat, as follows: * transfers (list of structures): A list of previous transfers, each one a structure as follows: * fromGroupId (GUID): The agent group that the chat was transferred from * toGroupId (GUID): The agent group that the chat was transferred to * transferredDate (Unix time string) | Structure |
unansweredCount | The number of unanswered messages in the chat | Integer |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated | |
lastReopenedDate | Last time this record was reopened | |
lastMessageId | Most recent chat message |
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 |
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 | |
deliveredDate | Time this record was delivered | |
readDate | Time this record was read | |
lastUpdateDate | Last time this record was updated | |
chatId | The associated chat | |
deleted | Whether the message is deleted | Boolean. The default is false. |
user | The message author |
Schedule Object
Represents a list of opening hours for your customer service.
Object field name | Description | Format |
---|---|---|
id | The schedule ID | |
name | A name for this schedule (as it appears in the UI) | String |
description | A description for this schedule (as it appears in the UI) | String |
openingHours | Opening hours, a structure as follows: * openingHours (structure, required): A map of days of the week to opening hours, pairs of values as follows: * string for the day of the week, one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, or SUNDAY * A structure of: * dailyActivities (list of structures, required): A list of start and end time pairs, as follows: * start (list of integers): Start time as a list of four integers: HH, mm, ss, ms. For example: [9, 0, 0, 0] * end (list of integers): End time, as above for start time * enabled (Boolean): Whether this daily activity is currently enabled * enabled (Boolean): Whether this list of daily activities is currently enabled * openTwentyFourSeven (Boolean): Whether to ignore the opening hours, because support is available all day and night | Structure |
timeZone | Time zone for this schedule The default is the tenant time zone | Long time zone name string For example: America/Denver |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated |
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
{ "id": "b913bb9e-0111-3d01-a52b-1ee23adbc84a", "name": "default", "openingHours": { "openingHours": { "FRIDAY": { "dailyActivities": [ { "start": [9,0,0,0], "end": [17,0,0,0], "enabled": true } ], "enabled": true }, "MONDAY": { ... }, "SUNDAY": { ... }, "TUESDAY": { ... }, "SATURDAY": { ... }, "THURSDAY": { ... }, "WEDNESDAY": { ... } }, "openTwentyFourSeven": false }, "timezone": "Asia/Jerusalem", "creationDate": 1619590351000, "lastUpdateDate": 1622453885000 }
Schedule Downtime Object
Represents a temporary downtime for your customer service.
Object field name | Description | Format |
---|---|---|
id | The schedule ID | |
name | A name for this downtime (as it appears in the UI) | String |
scheduleId | The schedule to which to apply this downtime | Schedule object GUID |
startDate | Start of downtime | |
endDate | End of downtime | |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated |
1 2 3 4 5 6 7 8 9
{ "id": "b913bb9e-0111-3d01-a52b-1ee23adbc84a", "name": "maintenance", "sceduleId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "startDate": 1619590351000, "endDate": 1619590351900, "creationDate": 1619590251000, "lastUpdateDate": 1619590251000 }
Email Template Object
Represents the subject and content of an email template in a specific language.
Object field name | Description | Format |
---|---|---|
type | Integer | |
brandId | Brand ID | Brand GUID |
locale | Language of template | Language code string |
subject | The email subject | String |
bodyHtml | The email contents, in HTML Depending on the template type, the HTML can contain placeholders and dynamic text. See the email template type for details. | String |
1 2 3 4 5 6
{ "type": 4, "locale": "en", "subject": "Ticket Added", "bodyHtml": "<p>A ticket was added in Wix Answers.</p>" }
Email Template Settings Object
Represents whether an email template is enabled or disabled.
Object field name | Description | Format |
---|---|---|
isDisabled | Whether the email template is enabled or disabled | Boolean The default is false (templates are enabled by default). |
type | Integer |
1 2 3 4
{ "isDisabled": false, "type": 4 }
Brand Object
Represents information about a brand.
Object field name | Description | Format |
---|---|---|
id | The brand ID | |
enabled | Whether the brand is enabled | Boolean |
name | The brand name | String Up to 50 characters. |
primaryLocale | Primary locale of the brand | Language code string (for example: 'de') |
logoUrl | URL of the brand logo | String Up to 1000 characters. |
settings | Various brand settings | Structure |
creationDate | Time this record was created | |
lastUpdateDate | Last time this record was updated |
1 2 3 4 5 6 7 8 9
{ "id": "b913bb9e-0111-3d01-a52b-1ee23adbc84a", "enabled": true, "primaryLocale": "en", "logoUrl": "http://path/to/logo", "settings": { ... }, "creationDate": 1619590251000, "lastUpdateDate": 1619590251000 }
Was this article helpful?