0 Replies Latest reply on Aug 5, 2016 7:06 AM by Darris Friend

    Responder and IVR - SOAP API

    Darris Friend

      We need to update our IVR system to push customers calls into Responder v10.2.1 sitting in an SQL Server environment (we are moving from Responder 10.0 in Oracle). The employee that originally stood up Responder has long since retired and he left little documentation for us to reveiw. The statement below is from our IVR script and references SOAP calls in the www.miner.com namespace.

       

      I was hoping someone could:

      • help us decipher this statement
      • guide us on moving it to the new Responder version (if necessary)
      • or any other helpful details on what this does and why we need it.

       

      Select Responder.SP_IVR_CREATE_CALL_F ($db_Account ,0 ,$Hazard ,$HazardTwo ,$TroubleCode ,$CallbackRequest ,$CallbackNumber ) from dual

       

      create or replace FUNCTION SP_IVR_CREATE_CALL_F (account in varchar2, cause in number,hazard1 in number,

      hazard2 in number, trouble in number, requestCallback in number, callbackNumber in varchar2) 

      RETURN varchar2 as

       

        l_request   soap_api.t_request;

        l_response  soap_api.t_response;

        l_result     varchar2(200);

        v_message        varchar2(250);

         V_error_code     NUMBER;

         V_error_msg      varchar2(300);

      BEGIN

       

        l_request := soap_api.new_request(p_method    => 'CreateCall',p_namespace => 'xmlns="http://www.miner.com/"',p_envelope_tag => 'soap' );

        soap_api.add_parameter(p_request => l_request,p_name=>'accountNumber',p_type=>'xsd:string',p_value=>account);

        soap_api.add_parameter(p_request => l_request,p_name=>'cause',p_type=>'xsd:int',p_value=>cause);

        soap_api.add_parameter(p_request => l_request,p_name=>'hazard1',p_type=>'xsd:int',p_value=>hazard1);

        soap_api.add_parameter(p_request => l_request,p_name=>'hazard2',p_type=>'xsd:int',p_value=>hazard2);

        soap_api.add_parameter(p_request => l_request,p_name=>'trouble',p_type=>'xsd:int',p_value=>trouble);

        soap_api.add_parameter(p_request => l_request,p_name=>'callback',p_type=>'xsd:int',p_value=>requestCallback);

        soap_api.add_parameter(p_request => l_request,p_name=>'callbackNumber',p_type=>'xsd:string',p_value=>callbackNumber);

        l_response := soap_api.invoke(p_request => l_request,p_url =>GRUCONSTANTS.WEB_SERVICE,p_action => 'http://www.miner.com/CreateCall');

        l_result := soap_api.get_return_value(p_response  => l_response,p_name => 'CreateCallResult', p_namespace => 'xmlns="http://www.miner.com/');

      -- plog.debug(l_result);

        plog.debug('Call submitted for account: ' || account || ' l_result: ' || l_result ||' cause: ' ||cause||' hazard1: '||hazard1 || ' hazard2: '||hazard2);

       

        return l_result;

      EXCEPTION

        WHEN OTHERS THEN

                      v_error_code := SQLCODE;

                      v_error_msg  := SQLERRM;

                   v_message := 'ERROR: ' || v_error_code || ' ' || v_error_msg;

                   dbms_output.put_line (v_message);

      END;