getNextRequest(context)

Note:

To access the LATAM E-Document Certification SuiteApp documentation in Brazilian Portuguese (Português do Brasil), see LATAM E-Document Certification.

Example
          function getNextRequest(context) {
   var hasNextRequest = false;
   var requestParameters = null;

   if (context.operationTypeExternalId === "Send E-Document") {

      var requestType = context.requestParameters.requestType;
      var transaction = context.requestParameters.transaction;
      var resultDocumentSubsidiaryCnpj = context.responseResult.details.subsidiaryCnpj;
      var resultDocumentSubsidiaryInscricaoMunicipal = context.responseResult.details.subsidiaryInscricaoMunicipal;
      var resultDocumentMessageCode = context.responseResult.details.messageCode;
      var resultDocumentProtocol = context.responseResult.details.certificationProtocol;

      if (!requestType) {
         requestType = "RecepcionarLoteRpsRequest";
      }

      switch(requestType) {
         case "RecepcionarLoteRpsRequest": {
            hasNextRequest = true;
            requestParameters = {
               requestType: "ConsultarLoteRpsRequest",
               subsidiaryCnpj: resultDocumentSubsidiaryCnpj,
               subsidiaryInscricaoMunicipal: resultDocumentSubsidiaryInscricaoMunicipal,
               certificationProtocol: resultDocumentProtocol,
               transaction: transaction,
               nextOperation: getWebServiceOperationByOperationType({
                  taxAuthority: context.taxAuthority,
                  subsidiary: context.subsidiary,
                  category: getCategoryIdByExternalId("Service"),
                  operationType: getOperationTypeIdByExternalId("Check Status"),
                  environment: context.environment
               })
            }

            break;
         }
         case "ConsultarLoteRpsRequest": {
            hasNextRequest = checkHasNextRequest(resultDocumentMessageCode);

            if (hasNextRequest) {
               requestParameters = {
                  requestType: "ConsultarLoteRpsRequest",
                  subsidiaryCnpj: resultDocumentSubsidiaryCnpj,
                  subsidiaryInscricaoMunicipal: resultDocumentSubsidiaryInscricaoMunicipal,
                  certificationProtocol: resultDocumentProtocol,
                  transaction: transaction,
                  nextOperation: context.requestParameters.nextOperation
               }
            } else {
               requestParameters = {
                  requestType: "ConsultarLoteRpsRequest",
                  transaction: transaction
               }
            }
             
            break;
         }
      }
   }

   return {
      hasNextRequest: hasNextRequest,
      requestParameters: requestParameters
   };
}; 

        

General Notices