Conversation import
The following example showcases the ability to import an existing conversation from the external integration.
From the business logic point, the client already exists and we don’t need an Incoming lead to be created.
Let’s create a contact to better showcase the process.
Connecting the channel to the account
Request example
POST https://amojo.kommo.com/v2/origin/custom/f90ba33d-c9d9-44da-b76c-c349b0ecbe41/connect
Date: Mon, 03 Oct 2020 15:11:21 +0000
Content-Type: application/json
Content-MD5: a5e8ae04332a6d0aac15f01ad05d40e3
X-Signature: 85d94e7f21bdd3971c2721ca22793e45a96d0c75
Response
{
"account_id": "af9945ff-1490-4cad-807d-945c15d88bec",
"scope_id": "f90ba33d-c9d9-44da-b76c-c349b0ecbe41_af9945ff-1490-4cad-807d-945c15d88bec",
"title": "ChatIntegration",
"hook_api_version": "v2"
}
Creating a new chat
Request example
POST https://amojo.kommo.com/v2/origin/custom/f90ba33d-c9d9-44da-b76c-c349b0ecbe41_af9945ff-1490-4cad-807d-945c15d88bec/chats
Date: Mon, 03 Oct 2020 15:17:55 +0000
Content-Type: application/json
Content-MD5: 28623103cc158fde408e6ecd1965d437
X-Signature: 7cc462e28eadbb842a2a49edb469f15f24c56676
Response
{
"conversation_id": "skc-8e3e7640-49af-4448-a2c6-d5a421f7f217",
"user": {
"id": "sk-1376265f-86df-4c49-a0c3-a4816df41af9",
"avatar": "https:/example.com/users/avatar.png",
"name": "Example Client",
"profile": {
"phone": "14151112233",
"email": "example.client@example.com"
},
"profile_link": "https://example.com/profile/example.client"
}
}
Creating a contact
Request example
POST /api/v4/contacts HTTP/1.1
Host: https://onlinechat.kommo.com
Content-Type: application/json
Authorization: Bearer xxxx
[
{
"first_name": "Jack200803",
"last_name": "Tester"
}
]
Response
{
"_links": {
"self": {
"href": "https://onlinechat.kommo.com/api/v4/contacts"
}
},
"_embedded": {
"contacts": [
{
"id": 3102959,
"request_id": "0",
"_links": {
"self": {
"href": "https://onlinechat.kommo.com/api/v4/contacts/3102959"
}
}
}
]
}
}
Linking the chat to the contact
Request example
POST /api/v4/contacts/chats HTTP/1.1
Host: https://onlinechat.kommo.com
[
{
"contact_id": 3102959,
"chat_id":"6cbab3d5-c4c1-46ff-b710-ad59ad10805f"
}
]
Response
{
"_total_items": 1,
"_embedded": {
"chats": [
{
"chat_id": "6cbab3d5-c4c1-46ff-b710-ad59ad10805f",
"contact_id": 3102959,
"id": 26219,
"request_id": "0"
}
]
}
}
Let’s check that the chat is linked properly
The step is not necessary, we just showcase the ability to acquire contacts linked to chats. You can read more about the method here
Request example
POST /api/v4/contacts/chats HTTP/1.1
Host: https://onlinechat.kommo.com
[
{
"contact_id": 3102959,
"chat_id":"6cbab3d5-c4c1-46ff-b710-ad59ad10805f"
}
]
Response
{
"_total_items": 1,
"_embedded": {
"chats": [
{
"chat_id": "6cbab3d5-c4c1-46ff-b710-ad59ad10805f",
"contact_id": 3102959,
"id": 26219,
"request_id": "0"
}
]
}
}
Importing the message from the client
Request example
POST https://amojo.kommo.com/v2/origin/custom/f90ba33d-c9d9-44da-b76c-c349b0ecbe41_af9945ff-1490-4cad-807d-945c15d88bec
Date: Mon, 03 Oct 2020 16:06:48 +0000
Content-Type: application/json
Content-MD5: 204dc99bcaa899db72954f16de987022
X-Signature: 6201ab8b5154bfa2af847920f1dfeab74b125489
{
"account_id": "af9945ff-1490-4cad-807d-945c15d88bec",
"event_type": "new_message",
"payload": {
"timestamp": 1596470808,
"msgid": "5f283618af2c8",
"conversation_id": "skc-8e3e7640-49af-4448-a2c6-d5a421f7f217",
"sender": {
"id": "sk-1376265f-86df-4c49-a0c3-a4816df41af9",
"avatar": "https:/example.com/users/avatar.png",
"name": "Example Client",
"profile": {
"phone": "14151112233",
"email": "example.client@example.com"
},
"profile_link": "https://example.com/profile/example.client"
},
"message": {
"type": "text",
"text": "Can we discuss a discount?"
},
"silent": true
}
}
Response
{
"new_message": {
"msgid": "1bf6a765-ec6f-4680-8cd5-6f2d31f78ebc"
}
}
Importing a message from the account user
Request example
POST https://amojo.kommo.com/v2/origin/custom/f90ba33d-c9d9-44da-b76c-c349b0ecbe41_af9945ff-1490-4cad-807d-945c15d88bec
Date: Mon, 03 Oct 2020 16:09:12 +0000
Content-Type: application/json
Content-MD5: 671efccd7cedf63b72823faf9a8037ff
X-Signature: 61a129968e586e8a021c2dfcc6be08e896a4fd77
{
"account_id": "af9945ff-1490-4cad-807d-945c15d88bec",
"event_type": "new_message",
"payload": {
"timestamp": 1596470952,
"msgid": "skm-5f2836a8ca468",
"conversation_id": "skc-8e3e7640-49af-4448-a2c6-d5a421f7f217",
"sender": {
"id": "sk-e1982bb8-bdf1-4fa5-841d-7d5cebd77f7b",
"ref_id": "d8d9f9c4-9611-4794-a136-a253a13e1bb5",
"name": "Sales Manager"
},
"receiver": {
"id": "sk-1376265f-86df-4c49-a0c3-a4816df41af9",
"avatar": "https:/example.com/users/avatar.png",
"name": "Example Client",
"profile": {
"phone": "14151112233",
"email": "example.client@example.com"
},
"profile_link": "https://example.com/profile/example.client"
},
"message": {
"type": "text",
"text": "Sure thing. We can discuss special terms if you'd like to purchase atleast for a 1 year."
},
"silent": true
}
}
Response
{
"new_message": {
"msgid": "3985523d-78b3-45b7-aeaf-142405bbf1dc"
}
}
Getting the communication history
Request example
GET https://amojo.kommo.com/v2/origin/custom/f90ba33d-c9d9-44da-b76c-c349b0ecbe41_af9945ff-1490-4cad-807d-945c15d88bec/chats/6cbab3d5-c4c1-46ff-b710-ad59ad10805f/history?limit=50&offset=0
Date: Mon, 03 Oct 2020 16:23:14 +0000
Content-Type: application/json
Content-MD5: d41d8cd98f00b204e9800998ecf8427e
X-Signature: 5693447e362dcb3bc77abeb27888ff4a0ca53a1c
Response
{
"messages": [
{
"timestamp": 1596470953,
"sender": {
"id": "d8d9f9c4-9611-4794-a136-a253a13e1bb5",
"name": "Sales Manager"
},
"receiver": {
"id": "86a0caef-41ec-49ac-814b-b27da2cea267",
"client_id": "sk-1376265f-86df-4c49-a0c3-a4816df41af9",
"avatar": "https:/example.com/users/avatar.png",
"name": "Example Client",
"phone": "79151112233",
"email": "example.client@example.com"
},
"message": {
"id": "3985523d-78b3-45b7-aeaf-142405bbf1dc",
"client_id": "skm-5f2836a8ca468",
"type": "text",
"text": "Sure thing. We can discuss special terms if you'd like to purchase atleast for a 1 year."
"media": "",
"thumbnail": "",
"file_name": "",
"file_size": 0
}
},
{
"timestamp": 1596470809,
"sender": {
"id": "86a0caef-41ec-49ac-814b-b27da2cea267",
"client_id": "sk-1376265f-86df-4c49-a0c3-a4816df41af9",
"avatar": "https:/example.com/users/avatar.png",
"name": "Example Client",
"phone": "14151112233",
"email": "example.client@example.com"
},
"message": {
"id": "1bf6a765-ec6f-4680-8cd5-6f2d31f78ebc",
"client_id": "5f283618af2c8",
"type": "text",
"text": "Can we discuss a discount?"
"media": "",
"thumbnail": "",
"file_name": "",
"file_size": 0
}
}
]
}