Monday, November 17, 2025

Custom API URL calling through button

 [Form] 

public class MDSTimesheetTriggerForm extends FormRun 

{ 

    [Control("Button")] 

    class MDSTimeSheetTrigger 

    { 

        /// <summary> 

        /// 

        /// </summary> 

        public void clicked() 

        { 

           RetailCommonWebAPI          retailCommonWebAPI; 

            System.Exception                ex; 

            ProjParameters                projParameters; 

            MDSTimeSheetTriggerLogTab  mDSTimeSheetTriggerLogTabloc; 

            

           

           super(); 

            try 

            { 

                projParameters =   ProjParameters::find(); 

  

                str url =projParameters.MDSTimeSheetTriggerUrl; 

                str _requestJson = "{" + '"'+'Legalentity'+'"' + ":" +  '"'+ curExt() + '"' + "}"; 

                retailCommonWebAPI =     RetailCommonWebAPI::construct(); 

                RetailWebResponse retailWebResponse =retailCommonWebAPI.makePostRequest(url, _requestJson,"Authorization:No Auth","application/Json");  

                if (retailWebResponse.parmHttpStatus() ==200) 

                { 

                    info("success"); 

                } 

                else 

                { 

                    info("fail"); 

                } 

            } 

            catch(exception::CLRError) 

            { 

                //exception 

                ex = CLRInterop::getLastException().GetBaseException(); 

                error(ex.get_Message()); 

            } 

            catch 

            { 

                Log errorMessage; 

                SysInfologEnumerator sysInfologEnumerator; 

  

                sysInfologEnumerator = SysInfologEnumerator::newData(infolog.infologData()); 

                errorMessage =""; 

                While(sysInfologEnumerator.moveNext()) 

                { 

                    errorMessage += sysInfologEnumerator.currentMessage(); 

                } 

                error(errorMessage); 

            } 

            

            mDSTimeSheetTriggerLogTabloc.insert(); 

            MDSTimeSheetTriggerLogTab_ds.executeQuery(); 

                   } 

  

    } 

  

} 

 

 

response 

=========== 

 

public void createHeader(str   requestJson,InventTransferJour     inventTransferJour) 

    { 

        System.Net.HttpWebRequest       request; 

        System.Net.HttpWebResponse      response; 

        CLRObject                       clrObj; 

        System.Exception                ex; 

        System.Net.WebHeaderCollection  httpHeader; 

        System.IO.Stream                requestStreamresponseStream; 

        NYKKEInvoiceJsonResponse        jsonResponse; 

        System.IO.StreamWriter          streamWriter; 

        RefRecId                        refrecid = 0; 

        NYKKEInvoiceIntegrationSetup    eInvoiceSetup; 

        SalesParameters                 salesParameters; 

        str  token; 

        try 

        { 

            salesParameters = SalesParameters::find(); 

  

            httpHeader = new System.Net.WebHeaderCollection(); 

            new InteropPermission(InteropKind::ClrInterop).assert(); 

            //clrObj = System.Net.WebRequest::Create("https://einvoicesyncapi.eyasp.in/einvoiceapi/v2.0/generateIRN"); 

            clrObj = System.Net.WebRequest::Create(salesParameters.NYKKDigiGSTEInvoiceURL); 

  

            request = clrObj; 

  

            httpHeader.Add("accessToken", this.getToken()); 

            httpHeader.Add("Apiaccesskey", salesParameters.NYKKDigiGSTAPIAccesKey); 

  

            request.set_Headers(httpHeader); 

            request.Method = "POST"; 

            request.ContentType = "application/json"; 

  

            requestStream = request.GetRequestStream(); 

            streamWriter = new System.IO.StreamWriter(request.GetRequestStream()); 

            streamWriter.Write(_requestJson); // writing JSON 

            streamWriter.Flush(); 

            streamWriter.Close(); 

  

            response = request.GetResponse(); 

            System.IO.StreamReader streamRead = new System.IO.StreamReader(response.GetResponseStream()); 

            str res = streamRead.ReadToEnd().ToString(); 

            info(res); 

            NYKKDigiGSTGovt_Response getRespose = new NYKKDigiGSTGovt_Response(); 

            getRespose = FormJsonSerializer::deserializeObject(className2Id(classstr(NYKKDigiGSTGovt_Response)), res); 

  

          

       

             

  

        } 

        catch 

        { 

            //exception 

            ex = CLRInterop::getLastException().GetBaseException(); 

            error(ex.get_Message()); 

        } 

    } 

No comments:

Post a Comment