Для создания нового диалога необходимо выполнить несколько последовательных вызовов API

  1. Получение списка доступных каналов

Untitled

{
	ApiKey: "",
	ApiVersion: "100",
	UserKey:"cb09abf1-263c-4633-88d9-2c1465a3eb2c",
	Method: "Dialogs.GetChannels",
	Parameters:  
	{
		
	}
}
{
	"Result": [
		{
			"channelId": "69322e69-5f01-41e9-9a58-da774c8085b5",
			"transport": "whatsapp",
			"plainId": "79629031736",
			"state": "active",
			"id": null,
			"type": "",
			"login": "",
			"avatar": "",
			"exteranlId": "",
			"status": "",
			"identifier": "",
			"url": ""
		},
		{
			"channelId": "c269167d-4b3c-48a4-a217-96aea3cc7490",
			"transport": "tgapi",
			"plainId": "79629031736",
			"state": "active",
			"id": null,
			"type": "",
			"login": "",
			"avatar": "",
			"exteranlId": "",
			"status": "",
			"identifier": "",
			"url": ""
		}
	],
	"ApiKey": "",
	"ApiVersion": "100",
	"Method": "Dialogs.GetChannels",
	"Errors": [],
	"Duration": 0.0
}
  1. Получение списка клиентов для создания диалога

Untitled

<aside> 💡 ВАЖНО! отправлять запрос на сервер необходимо после ввода пробела, т.е. после того как клиент полностью ввел фамилию или телефон клиента, если клиент введет только часть фамилии, например “солда “, нажмет пробел и отправит запрос на сервер то ничего найдено не будет.

</aside>

{
	ApiKey: "",
	ApiVersion: "100",
	UserKey:"cb09abf1-263c-4633-88d9-2c1465a3eb2c",
	Method: "Clients.GetAutoComliteList",
	Parameters:  
	{
		Pattern:"солдатов"
	}
}
{
	"Result": [
		{
			"Id": 144432,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Максим Алексеевич, (910) 6**-***3, 30.08.1997, ID:144432",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144433,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Максим Алексеевич, (910) 6**-***3, 30.08.1997, ID:144433",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144438,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Максим Алексеевич, (262) 4**-***3, 30.08.1997, ID:144438",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144922,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Максим Алексеевич, (999) 5**-***1, 30.08.1997, ID:144922",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144938,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Ибрагим Алексеевич, (555) 5**-***5, 30.08.1997, ID:144938",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144939,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Максим Алексеевич, (353) 4**-***7, 30.08.1998, ID:144939",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144981,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Ибрагим Максимович, (236) 2**-***1, 30.09.1997, ID:144981",
			"BaseObjectDate": "01.01.0001 00:00:00"
		},
		{
			"Id": 144982,
			"BaseObjectType": 0,
			"BaseObjectName": "Солдатов Кирил Барсович, (132) 4**-***1, 30.07.1988, ID:144982",
			"BaseObjectDate": "01.01.0001 00:00:00"
		}
	],
	"ApiKey": "",
	"ApiVersion": "100",
	"Method": "Clients.GetAutoComliteList",
	"Errors": [],
	"Duration": 0.0
}
  1. для выбранного клиента получение списка доступных телефонов

Untitled

{
	ApiKey: "",
	ApiVersion: "100",
	UserKey:"cb09abf1-263c-4633-88d9-2c1465a3eb2c",
	Method: "Clients.GetClientPhones",
	Parameters:  
	{
		LongParamValue:144432
	}
}
{
	"Result": [
		"(910) 6**-***3"
	],
	"ApiKey": "",
	"ApiVersion": "100",
	"Method": "Clients.GetClientPhones",
	"Errors": [],
	"Duration": 0.0
}
  1. Создание диалога

Untitled

{
	ApiKey: "",
	ApiVersion: "100",
	UserKey:"cb09abf1-263c-4633-88d9-2c1465a3eb2c",
	Method: "Dialogs.CreateNewDialog",
	Parameters:  
	{
		ClientId:144432,
		ChannelId:"69322e69-5f01-41e9-9a58-da774c8085b5",
		PhoneIndex:0
	}
}
{
	"Result": {
		"ChangedReason": 0,
		"DialogClientId": 144432,
		"DialogClientFio": "Солдатов Максим Алексеевич",
		"Channel": "79629031736 (WhatsApp)",
		"ChannelId": "69322e69-5f01-41e9-9a58-da774c8085b5",
		"ClientAccount": "",
		"ClientUsername": "",
		"IsFinihed": false,
		"ContractId": 0,
		"RequestId": 0,
		"FilialId": 1,
		"AlreadyExists": true
	},
	"ApiKey": "",
	"ApiVersion": "100",
	"Method": "Dialogs.CreateNewDialog",
	"Errors": [],
	"Duration": 562.50560000000007
}

<aside> 💡 ВАЖНО! Если диалог уже существовал, то вернется объект существующего диалога, с признаком AlreadyExists == true, и приложение при этом должно переключить фокус на уже существующий диалог. Если же флаг равен false, то в панель с диалогами нужно будет добавить новую плашку с только что добавленным диалогом.

</aside>

<aside> 💡 ОЧЕНЬ ВАЖНО! при создании диалога передается не телефон клиента, а его индекс в списке доступных номеров. Сделано это для того, чтобы не “светить” номера клиента в случае если они скрыты политиками безопасности.

</aside>