"Неподдерживаемый элемент протокола" при программном создании взаимодействий
Я пытаюсь программно создать новые взаимодействия в Genesys Platform SDK 8.5 для Java.
Я использую пример на ссылку API
public void createInteraction(String ixnType, String ixnSubtype, String queue) throws Exception
{
RequestSubmit req = RequestSubmit.create();
req.setInteractionType(ixnType);
req.setInteractionSubtype(ixnSubtype);
req.setQueue(queue);
req.setMediaType("email");
Message response = mPMService.getProtocol("IxnSrv").request(req);
if(response == null || response.messageId() != EventAck.ID) {
// For this sample, no error handling is implemented
return;
}
EventAck event = (EventAck)response;
mInteractionId = event.getExtension().getString("InteractionId");
}
Тем не менее, это дает мне ошибку неподдерживаемого элемента протокола.
'EventError' (126) attributes:
attr_error_desc [str] = "Unsupported protocol element"
attr_ref_id [int] = 2
attr_error_code [int] = 4
Как мне создать новое взаимодействие программно?
3 ответа
Оказывается, мне нужно было установить ClientType в InteractionClient.ReportingEngine.
Сервер взаимодействия должен быть связан с ClientType как либо MediaServer
или же AgentApplication
для этого запроса (RequestSubmit).
Прежде всего, вы должны открыть свой протокол как Media Server. После этого вы должны отправить свое взаимодействие на сервер взаимодействия.
Во-первых, ваша конфигурация протокола должна быть такой:
interactionServerConfiguration.ClientName = "TestClient";
interactionServerConfiguration.ClientType = InteractionClient.MediaServer;
// Register this connection configuration with Protocol Manager
protocolManagementService.Register(interactionServerConfiguration);
Примечание: у вас должно быть определение приложения типа MediaServer в вашем Configuration Env., Вы должны увидеть его в CME. После открытия вы подключаетесь к серверу ixn. Вы можете отправить свое взаимодействие, что вам нравится. Даже вы можете создать новый тип взаимодействия, как я. Я сделал для нашей системы смс Coopate. Его имя не важно. Мы определили его в нашем атрибуте bussiness, чтобы наш агент мог отправлять совместную смс-систему со своего рабочего стола. Без нового расширения или новой лицензии:) Просто обманул систему. Также genesys позволяет это. я знаю это, потому что мы являемся официальной службой поддержки genesys в нашей стране:) (но может потребоваться лицензия на месторасположение агента в зависимости от количества сотрудников).
RequestSubmit request = RequestSubmit.Create();
request.TenantId = 1;
request.MediaType = "email";
request.Queue = c_inboundQueue;
request.InteractionType = "Inbound";
request.InteractionSubtype = "InboundNew";
// Prepare the message to send. It is inserted in the request as UserData
KeyValueCollection userData =
new KeyValueCollection();
// Prepare the message to send
userData.Add("Subject", "subject goes here");
request.UserData = userData; protocolManagementService[c_interactionServerConfigurationIdentifier].Send(request);