Genesys Engage on-premises

 View Only

Discussion Thread View
  • 1.  ProxyClientId

    Posted 08-28-2023 07:23

    Hello,

    We are developing a WDE customization adding a button that puts an email in a workbin using RequestPlaceInWorkbin.

    To create this request we need to fill the attribute ProxyClientId. Does anyone know where to find this value?

    Thanks in advance.


    #Implementation

    ------------------------------
    Ricardo Sosa
    PlusNet Solutions, S.L.
    ------------------------------


  • 2.  RE: ProxyClientId

    Posted 08-28-2023 09:10
    Edited by Ricardo Sosa 08-29-2023 02:04

    More information. 

    To get the InteractionServerProtocol we are doing this (the code is not complete, but to give you an idea of how are we trying to get this):

    IAgent myAgent = container.Resolve<IAgent>();
    IEnterpriseServiceProvider enterpriseService = myAgent.EntrepriseService;
    channelService = enterpriseService.Resolve<IChannelService>("channelService");
    
    ...
    
    InteractionServerProtocol protocol = null;
    
    channelList = channelService.ListChannels();
    foreach (Genesyslab.Enterprise.Model.Channel.IClientChannel chn in channelList)
                    {
                        if (chn.Protocol is Genesyslab.Platform.OpenMedia.Protocols.InteractionServerProtocol)
                        {
                            protocol = (chn.Protocol as InteractionServerProtocol);
                        }
                    }
                    ...
    
    try
                {
                    WorkbinInfo oWorkbinInfo = WorkbinInfo.Create("XXX.workbin_in_progress");
                    oWorkbinInfo.WorkbinAgentId = MyContainer.GetInstance().agent.UserName;
                    
                    ReasonInfo oReasonInfo = ReasonInfo.Create("No Reason", "");
    
                    RequestPlaceInWorkbin oWorkbinRequest = RequestPlaceInWorkbin.Create(interactionId, oWorkbinInfo, oReasonInfo);
                    
    
                    oWorkbinRequest.ProxyClientId = protocol.ProxyId;
                   
                    oWorkbinRequest.Reason.ReasonSystemName = "No Reason";
    
                    IMessage res = protocol.Request(oWorkbinRequest);
                }
                catch (Exception ex)
                {
                    log.Error(ex.Message, ex);
                    return -1;
                }

    In the variable res we have this:

    'EventError' ('126')
    message attributes:
    attr_ref_id [int] = 39
    attr_error_code [int] = 3
    attr_error_desc [str] = "Unknown client id in request from proxy"

     



    ------------------------------
    Ricardo Sosa
    PlusNet Solutions, S.L.
    ------------------------------



  • 3.  RE: ProxyClientId

    GENESYS
    Posted 09-05-2023 04:25
    Edited by Pete Hoyle 09-05-2023 04:26

    Hi Ricardo,

    Instead of using:

    protocol.ProxyId

    Try using:

    protocol.ServerContext.ProxyId

    .



    ------------------------------
    Pete Hoyle
    Genesys - Employees
    ------------------------------



  • 4.  RE: ProxyClientId

    Posted 09-05-2023 06:58

    Thank you Pete,

    we already tried with that one and did not work.

    Anyway, eventually we got this thread id by subscribing to the events but this way led no where. If the interaction is not assigned to the agent, it is not working. 

    Thank you.



    ------------------------------
    Ricardo Sosa
    PlusNet Solutions, S.L.
    ------------------------------



  • 5.  RE: ProxyClientId

    Posted 10-17-2023 10:30

    Hi all

    Finally we could retrieve ProxyClientId by adding a Event Handler and retrieve from the very first EventAck from Platform SDK.

    Anyway we used the Genesys Enterprise SDK with IInteractionManager service and adding callback handler function for listening Interaction events.



    ------------------------------
    Daniel Blázquez
    PlusNet Solutions, S.L.
    ------------------------------



Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources