info: name: Elenco contraenti formattati type: http seq: 3 http: method: POST url: "{{elixFormsApiUrl}}/eftl/process/v1" headers: - name: x-requested-with value: XMLHttpRequest - name: x-api-key value: "{{elixFormsWsAuthenticationToken}}" - name: x-ef-request-id value: "8760" body: type: json data: "{\r \ \"userDocument\": \"{{elixBase64EftlDocument}}\", // see the pre-request script\r \ \"userContext\": {\r \ \"lang\": \"IT\",\r \ \"docs\": [\r \ {\r \ \"name\": \"doc1\",\r \ \"quantity\": 3,\r \ \"price\": 123.3\r \ },\r \ {\r \ \"name\": \"doc2\",\r \ \"quantity\": 5,\r \ \"price\": 213.3\r \ },\r \ {\r \ \"name\": \"doc3\",\r \ \"quantity\": 10,\r \ \"price\": 321.3\r \ }\r \ ],\r \ \"docsAsEntities\": [\r \ {\r \ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r \ \"eftlEntity\": {\r \ \"name\": \"doc1\",\r \ \"quantity\": 3,\r \ \"price\": 123.3\r \ }\r \ },\r \ {\r \ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r \ \"eftlEntity\": {\r \ \"name\": \"doc2\",\r \ \"quantity\": 5,\r \ \"price\": 213.3\r \ }\r \ },\r \ {\r \ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r \ \"eftlEntity\": {\r \ \"name\": \"doc3\",\r \ \"quantity\": 10,\r \ \"price\": 321.3\r \ }\r \ }\r \ ],\r \ \"singleEntity\": {\r \ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r \ \"eftlEntity\": {\r \ \"name\": \"doc1\",\r \ \"quantity\": 3,\r \ \"price\": 123.3\r \ }\r \ },\r \ \"simpleList\": [\r \ \"s1\",\r \ \"s2\",\r \ \"s3\"\r \ ],\r \ \"docsSize\": 3\r \ }\r }" auth: inherit runtime: scripts: - type: before-request code: "// Copy-pasta your EFTL document below inside the template literals (`)\r var eftlDocumentToBeProcessed = `\r [EFTL][HEADER name=\"trimDocument\" value=\"true\" type=\"boolean\" /]\r [VAR name=\"idxNome\" type=\"number\"][% idxNome = 0; %][/VAR]\r [VAR name=\"idxCfPIva\" type=\"number\"][% idxCfPIva = 1; %][/VAR]\r [VAR name=\"idxSede\" type=\"number\"][% idxSede = 2; %][/VAR]\r \r [VAR name=\"elencoContraentiCompleto\" type=\"string\"][% elencoContraentiCompleto = \"\"; %][/VAR]\r \r [VAR name=\"contraenti\" type=\"iterable\"][SPLIT regex=\"\\n\"][TAG]SCHEMAID,341,COL0004,IUQOID, , [/TAG][/SPLIT][/VAR]\r [VAR name=\"countContraenti\" type=\"number\"][SIZE_OF varname=\"contraenti\" /][/VAR]\r [VAR name=\"idxContraente\" type=\"number\"][% idxContraente = 0; %][/VAR]\r \r [!-- Estraggo i dati del primo contraente (ce ne sarà sempre almeno uno) --]\r [VAR name=\"currContraente\" type=\"string\"][VALUE_OF varname=\"contraenti\" index=\"idxContraente\" /][/VAR]\r [VAR name=\"currContraenteSplit\" type=\"iterable\"][SPLIT regex=\", (.*?):\"][TRIM][VALUE_OF varname=\"currContraente\" /][/TRIM][/SPLIT][/VAR]\r [VAR name=\"currContraenteNome\" type=\"string\"][TRIM][VALUE_OF varname=\"currContraenteSplit\" index=\"idxNome\" /][/TRIM][/VAR]\r [VAR name=\"currContraenteCfPIva\" type=\"string\"][TRIM][VALUE_OF varname=\"currContraenteSplit\" index=\"idxCfPIva\" /][/TRIM][/VAR]\r [VAR name=\"currContraenteSede\" type=\"string\"][TRIM][VALUE_OF varname=\"currContraenteSplit\" index=\"idxSede\" /][/TRIM][/VAR]\r [% elencoContraentiCompleto = currContraenteNome + \" (CF/PIVA: \" + currContraenteCfPIva + \") con sede legale in \" + currContraenteSede; %]\r \r [!-- Se c'è più di un contraente, ciclo su tutti i rimanenti (tutto questo per non avere una \", \" in fondo alla stringa finale...) --]\r [WHILE]\r \ [CONDITION][% idxContraente < countContraenti - 1 %][/CONDITION]\r \ [DO]\r \ [% idxContraente = idxContraente + 1; %]\r \r \ [VAR name=\"currContraente\" type=\"string\"][VALUE_OF varname=\"contraenti\" index=\"idxContraente\" /][/VAR]\r \ [VAR name=\"currContraenteSplit\" type=\"iterable\"][SPLIT regex=\", (.*?):\"][TRIM][VALUE_OF varname=\"currContraente\" /][/TRIM][/SPLIT][/VAR]\r \ [VAR name=\"currContraenteNome\" type=\"string\"][VALUE_OF varname=\"currContraenteSplit\" index=\"idxNome\" /][/VAR]\r \ [VAR name=\"currContraenteCfPIva\" type=\"string\"][VALUE_OF varname=\"currContraenteSplit\" index=\"idxCfPIva\" /][/VAR]\r \ [VAR name=\"currContraenteSede\" type=\"string\"][VALUE_OF varname=\"currContraenteSplit\" index=\"idxSede\" /][/VAR]\r \ [% elencoContraentiCompleto = elencoContraentiCompleto + \", \" + currContraenteNome + \" (CF/PIVA: \" + currContraenteCfPIva + \") con sede legale in \" + currContraenteSede; %]\r \ [/DO]\r [/WHILE]\r \r [%= elencoContraentiCompleto %]\r [/EFTL]\r `;\r \r var base64EncodedDocument = btoa(eftlDocumentToBeProcessed);\r \r bru.setVar(\"elixBase64EftlDocument\", base64EncodedDocument);" settings: encodeUrl: true timeout: 0 followRedirects: true maxRedirects: 5