====== Webhook ====== The Webhook feature pushes events on the Hyphenate Customer Engagement Cloud to third-party servers. Webhook is a value-added service. To activate it, please provide the tenant ID and contact Hyphenate. ===== Create Webhook ===== To push an event to a third-party server: - Activate the Webhook feature. - Go to “Admin Mode > Settings > Webhook”. - Click **Create Webhook**, enter the name and server URL, select an event, and click **Save**. {{:cs-en:admin:admin-settings-webhook.png?nolink|Webhook}} ===== Events ===== Hyphenate can push the following events: * [[#Conversation Closed|Conversation Closed]] * [[#New Message|New Message]] * [[#Agent Created|Agent Created]] * [[#Agent Status Changed|Agent Status Changed]] * [[#Agent Logged Out|Agent Logged Out]] * [[#Agent Deleted|Agent Deleted]] * [[#Add Customer Tag|Add Customer Tag]] * [[#Delete Customer Tag|Delete Customer Tag]] * [[#Modify Customer Profile|Modify Customer Profile]] * [[#Agent Info Changed|Agent Info Changed]] ==== Conversation Closed ==== Event name: ServiceSessionClosedEvent Example of message content: { "eventId": "ca81ade0-6dc5-11e6-9c13-dfa1eed70626", "timestamp": 1472460726612, "event": "ServiceSessionClosedEvent", // Event type "payload": { "serviceSession": { "id": "4fe1b496-90ac-4412-8f40-0f6a13cbfc4b", // Conversation ID "state": "Terminal", "origin_type": "webim", // Channel type, webim indicates web channel "timestamp": { "create": 1472139263000, // Time the conversation was created "start": 1472139269000, // Time the conversation starts "stop": 1472460695000 // Time the conversation is closed }, "channel": { // Channel account "id": 3104, "name": "Quick IM account", // Channel account name "type": "easemob" // Channel account type, easemob indicates Hyphenate IM }, "visitor": { "id": "a6527ed1-e3f4-4537-aeef-ae35199e3765", // Customer ID "name": "webim-visitor-RY7KQK99XVGXBE3JKCHM", // Customer nickname "channel_user": { // Channel account information "app_name": "sandbox", "channel_type": "easemob", "im_id": "webim-visitor-RY7KQK99XVGXBE3JKCHM", // Hyphenate ID of the channel account "org_name": "sipsoft" } }, "agent": { "id": "b58b99c1-cd3b-44d9-9821-20fb6a0f2f49", // Agent ID "name": "Admin", // Agent nickname "type": "Agent" // Agent's role. The value is robot, agent or admin }, "agent_queue": { "id": 2112, "name": "Team Alpha" // Team name }, "summary_category": [ // Conversation tags. An array that contains all conversation tags of the conversation { "id": 23976, "name": "Test" } ], "comment": "", // Conversation remarks "enquiry":{ "score":3, // Satisfaction ratings "comment":"" // Satisfaction remarks } } } } ==== New Message ==== Event name: ServiceSessionMessageEvent Example of message content: **Text message** { "eventId": "3a7e82a0-aa60-11e5-8544-5111ba4b872e", "timestamp": 1450976598050, "event": "ServiceSessionMessageEvent", "payload": { "message": { "id": "dad14e23-4566-4ca6-b10e-fceeb59c42c2", // Message ID "service_session_id": "4e27dd5e-683d-4664-a0db-bb8457ec7101", // Conversation ID "from": { "id": "27f74a74-5139-4f8c-b65f-15129e7808a8", // Sender ID (agent or customer) "name": "Admin", // Nickname "type": "Agent" // Role }, "origin_type": "app", // Channel "channel": { // Channel account "id": 21, "type": "easemob" // Channel account type }, "body": { "type": "txt", // Message type: text "msg": "asdf" // Message content } } } } **Image message** { "eventId": "bc4a6120-aa68-11e5-b3c3-dd9f501463d3", "timestamp": 1450980251761, "event": "ServiceSessionMessageEvent", "payload": { "message": { "id": "dc5004d7-39ce-4a03-bca0-af2c16b269d6", "service_session_id": "4e27dd5e-683d-4664-a0db-bb8457ec7101", "from": { "id": "2cb00d04-60f3-48a4-93b8-caf15b22a262", "name": "fa38294841604ac89ba2815689f8f636", "type": "Visitor" }, "origin_type": "app", "channel": { "id": 21, "name": "yaaa", "type": "easemob" }, "body": { "type": "img", // Message type: image "url": "/v1/Tenant/5631/MediaFiles/df56bebd-433c-4b0e-aab9-1684fb75999f", // Download address of the image "secret": "u9X0eqpoEeW-Hw1NajGLHchLw_cjQA0WifvU7Lid7UsaLafh", "filename": "image.jpg", // File name "size": { // Image size "width": 2448, "height": 3264 } } } } } ==== Agent Created ==== Event name: AgentUserCreationEvent Example of message content: { "eventId": "cfb76910-a9fa-11e5-844c-37fa6bbad3ec", "timestamp": 1450933062687, "event": "AgentUserCreationEvent", "payload": { "agent": { "id": "614f3fb7-d757-4894-ba17-90a7c1488a59", "username":"a@qq.com", "nickname":"agent1", "name":"aaaa", "roles":["admin","agent"], "business_id":"11111", "phone":"13311111111", "created_at":123412341234, "updated_at":123412342123 } } } ==== Agent Status Changed ==== The online status of an agent or admin includes: online, busy, away, invisible, and offline. Agents and admins can switch their online status. For details about the online status, see [[cs-en:agentmode:conversation|Conversations]]. The Agent Status Changed event is sent when an agent or admin changes his online status. Event name: AgentUserStateChangedEvent Example of message content: { "eventId": "45114db0-d639-11e5-91c0-a11acb243a77", "timestamp": 1455797716755, "event": "AgentUserStateChangedEvent", "payload": { "agent": { "id": "28d0a4aa-bf19-4724-ab9d-3b74afed34a8", "nickname": "Admin", "username": "licx@easemob.com" }, "status": "Online", "stateChangeTime": 1455797716491 } } ==== Agent Logged Out ==== Event name: AgentUserLogoutEvent Example of message content: { "eventId": "a9928560-d639-11e5-8447-854851e278ee", "timestamp": 1455797885117, "event": "AgentUserLogoutEvent", "payload": { "agent": { "id": "28d0a4aa-bf19-4724-ab9d-3b74afed34a8", "nickname": "Admin", "username": "licx@easemob.com" }, "logoutTime": 1455797885109 } } ==== Agent Deleted ==== Event name: AgentUserDeletedEvent Example of message content: { "eventId": "07ffc670-ce74-11e6-a4aa-e9370bc22534", "timestamp": 1483090934322, "event": "AgentUserDeletedEvent", "payload": { "agent": { "id": "4b4f0f36-8286-4ccd-8e99-50b33cfdf958", "username": "713test10@qq.com", "nickname": "10", "name": "", "roles": [ "agent" ], "phone": "", "created_at": 1483090749000, "updated_at": 1483090749000 } } } ==== Add Customer Tag ==== Event name: VisitorTagAddedEvent Example of message content: { "eventId": "9f727ee0-07b7-11e7-b77f-3b3c6fac2bb4", "timestamp": 1489387089477, "event": "VisitorTagAddedEvent", "payload": { "visitorUserTag": { "visitorUserId": "2ad4af98-903a-4050-9cea-2d5807c85002", "userTagId": 5596, "tag": { "tagName": "Common customer", "created_at": 1436805675000 } } } } ==== Delete Customer Tag ==== Event name: VisitorTagRemovedEvent Example of message content: { "eventId": "a7364210-07b7-11e7-9a61-dbd5753351ee", "timestamp": 1489387102520, "event": "VisitorTagRemovedEvent", "payload": { "visitorUserTag": { "visitorUserId": "2ad4af98-903a-4050-9cea-2d5807c85002", "userTagId": 5596, "tag": { "tagName": "Common customer", "created_at": 1436805675000 } } } } ==== Modify Customer Profile ==== Event name: VisitorUserChangeEvent Example of message content: { "eventId": "b9c1e0b0-07b7-11e7-8ab4-53b659cd1343", "timestamp": 1489387133611, "event": "VisitorUserChangeEvent", "payload": { "visitor": { "id": "2ad4af98-903a-4050-9cea-2d5807c85002", "username": "webim-visitor-EM3GEFC7TBQVRXYM6GGC", "nickname": "Leoli", "name": "Leoli", "roles": [ "visitor" ], "gendar": 0, "created_at": 1488884778000, "updated_at": 1489387133493 } } } ==== Agent Info Changed ==== Event name: AgentUserChangeEvent Example of message content: { "eventId": "d0a31dd0-07b7-11e7-b1a7-eb03c0f01476", "timestamp": 1489387172031, "event": "AgentUserChangeEvent", "payload": { "agent": { "id": "eb524dc0-be91-47ac-b6e6-10d013d7d72b", "username": "713test4@qq.com", "nickname": "Leoli", "name": "leoli", "roles": [ "admin", "agent" ], "phone": "18612389889", "business_id": "1001", "created_at": 1453900968000, "updated_at": 1489128601000 }, "old_agent": { "id": "eb524dc0-be91-47ac-b6e6-10d013d7d72b", "username": "713test4@qq.com", "nickname": "Leoli", "name": "", "roles": [ "admin", "agent" ], "phone": "", "created_at": 1453900968000, "updated_at": 1489128601000 } } }