info: name: Process EFTL type: http seq: 5 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: "7792" 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 \r \r
\r \r \r \r\r
Tipologia: [TAG]SCHEMAID,341,COL0003,IUQOID, , [/TAG]
\rCorrispettivo: [TAG]SCHEMAID,341,COL0009,IUQOID, , [/TAG]
\rDecreto del Rettore
\rTipologia: [TAG]SCHEMAID,341,COL0003,IUQOID, , [/TAG]
\rCorrispettivo: [TAG]SCHEMAID,341,COL0009,IUQOID, , [/TAG]
\r [/EFTL]\r \r ...\r \r [eftl] [!-- Inizio blocco EFTL --]\r [!-- Blocco di codice riportato in output come scrittura non EFTL --]\run po' di testo che verrà riportato
[!-- Blocco di codice riportato in output come scrittura non EFTL --]\r [!-- Inizio blocco if/then/elese --]\r [IF]\r [CONDITION] [!-- Condizione del blocco IF da valutare: risultato aspettato di tipo booleano --]\r [% lang == \"IT\" %]\r [/CONDITION]\r [THEN] [!-- Se blocco condizione true --]\r \r [FOR varName=\"doc\" iterable=\"docs\"]\r doc: [%= doc %]\r [/FOR]\r \r [!-- Condizione Blocco while --]\r [WHILE]\r [CONDITION] [% docs != null && i < docsSize %] [/CONDITION]\r [DO] [!-- Blocco while da eseguire se condizione è \"true\" --]\rvalue of var \"i\" is: [%= i %]
\r [FOR varName=\"doc\" iterable=\"docs\"] [!-- Blocco FOR di iterazione --]\r doc corrente: [%= doc %] [!-- Blocco esposizione del valore della variabile --]\r Sto ciclando sul documento con nome e prezzo \r \r [/FOR]\r [% i = i + 1; %] [!-- Blocco di assegnazione valore ad una variabile --]\rvalue of var \"i\" after increment is: [%= i %]
\r [/DO]\r [/WHILE]\r [/THEN]\r [ELSE] [!-- Se blocco condizione false --]\r fixed-time RESEARCH ASSISTANT CONTRACT/S for COLLABORATION at RESEARCH ACTIVITY\r [/ELSE]\r [/IF]\r [!-- Fine blocco EFTL --]\r [/EFTL]\r \r \r ...\r \rtesto tra un documento blocco EFTL© e l'altro
\r \r ...\r \r [EFTL] [!-- Inizio 2° blocco EFTL --]\r\r Resto del documento...\r
\r\r
The Rector
\rDigitally signed
\r \r \r `;\r \r var base64EncodedDocument = btoa(eftlDocumentToBeProcessed);\r \r bru.setVar(\"elixBase64EftlDocument\", base64EncodedDocument);" settings: encodeUrl: true timeout: 0 followRedirects: true maxRedirects: 5 examples: - name: Process EFTL - Success request: url: "{{elixFormsApiUrl}}/eftl/process/v1" method: POST headers: - name: x-requested-with value: XMLHttpRequest - name: x-api-key value: "{{elixFormsWsAuthenticationToken}}" - name: x-ef-request-id value: "7792" 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 }" response: statusText: "200" headers: - name: cache-control value: no-cache, no-store, must-revalidate - name: pragma value: no-cache - name: proxy-connection value: Keep-Alive - name: x-content-security-policy value: default-src 'self'; connect-src 'self'; font-src 'none'; img-src 'self'; media-src 'self'; object-src 'self'; plugin-types application/pdf audio/x-wav; referrer no-referrer; reflected-xss block; script-src 'self'; style-src 'self' - name: content-type value: application/json;charset=UTF-8 - name: strict-transport-security value: max-age=63072000;includeSubDomains - name: content-security-policy value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'" - name: x-frame-options value: SAMEORIGIN - name: x-xss-protection value: 1;mode=block - name: x-content-type-options value: nosniff - name: referrer-policy value: unsafe-url - name: transfer-encoding value: chunked - name: vary value: Accept-Encoding - name: content-encoding value: gzip body: type: json data: |- { "value": { "code": "OK", "description": "OK", "complete": true, "globalStatus": "OK", "resultNumber": 1, "serviceInformationList": { "serviceInformation": [ { "ITSystemName": "EFTL", "complete": true, "serviceVersion": "1.0.0", "statusDetailList": { "statusDetail": [ { "code": "OK", "description": "OK", "detailStatus": "OK" } ] } } ] }, "uuid": "a6c6d1c6-14fb-457e-bd82-b1cc137f8c95", "version": "3.9.2.21", "processedDocument": "CjxodG1sPgo8IS0tIGNvZGljZSBOT04gcHJvY2Vzc2F0byBkYSBFRlRMIC0tPgo8aGVhZD4KPC9oZWFkPgo8Ym9keSBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgVmVyZGFuYSwgU2Vnb2UsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsgZm9udHN0eWxlOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxOS42cHg7Ij4KPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAxM3B0OyBwYWRkaW5nLXRvcDogNXB0OyI+CjxhIGhyZWY9IiNJVEFMSUFOTyI+VkVSU0lPTkUgSVRBTElBTkE8L2E+PC9wPgo8cCBzdHlsZT0icGFkZGluZy1ib3R0b206IDVwdDsiPiA8L3A+CjxoMiBhbGlnbj0iY2VudGVyIj48c3Ryb25nPltUQUddU0NIRU1BSUQsMzQxLENPTDAwMDUsSVVRT0lELCAsIFsvVEFHXTwvc3Ryb25nPjwvaDI+CjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTRwdDsgcGFkZGluZy10b3A6IDI1cHQ7Ij5UaXBvbG9naWE6IDxzdHJvbmc+W1RBR11TQ0hFTUFJRCwzNDEsQ09MMDAwMyxJVVFPSUQsICwgWy9UQUddPC9zdHJvbmc+PC9wPgo8cCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDE0cHQ7IHBhZGRpbmctdG9wOiAyNXB0OyI+Q29ycmlzcGV0dGl2bzogPHN0cm9uZz5bVEFHXVNDSEVNQUlELDM0MSxDT0wwMDA5LElVUU9JRCwgLCBbL1RBR108L3N0cm9uZz48L3A+CjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTRwdDsgcGFkZGluZy10b3A6IDVwdDsiPkRlY3JldG8gZGVsIFJldHRvcmU8L3A+CjxociAvPgoKPCEtLSBRdWVzdG8gaW52ZWNlICZlZ3JhdmU7IHByb2Nlc3NhdG8gLS0+Cgo8aDIgYWxpZ249ImNlbnRlciI+PHN0cm9uZz48L3N0cm9uZz48L2gyPgo8cCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDE0cHQ7IHBhZGRpbmctdG9wOiAyNXB0OyI+VGlwb2xvZ2lhOiA8c3Ryb25nPjwvc3Ryb25nPjwvcD4KPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAxNHB0OyBwYWRkaW5nLXRvcDogMjVwdDsiPkNvcnJpc3BldHRpdm86IDxzdHJvbmc+PC9zdHJvbmc+PC9wPgoKCi4uLgoKIAoKPHRhZz50ZXN0byB0cmEgdGFnIGh0bWw8L3RhZz4gCnRlc3RvIHNlbnphIHRhZ3MKCjxwPnVuIHBvJyBkaSB0ZXN0byBjaGUgdmVyciZhZ3JhdmU7IHJpcG9ydGF0bzwvcD4gCgogCgoKIAo8cD4gdmFsdWUgb2YgdmFyICJpIiBpczogMC4wPC9wPgogCmRvYyBjb3JyZW50ZTogeyJuYW1lIjoiZG9jMSIsInF1YW50aXR5IjozLCJwcmljZSI6MTIzLjN9CjxzdHJvbmc+IFN0byBjaWNsYW5kbyBzdWwgZG9jdW1lbnRvIGNvbiBub21lIGUgcHJlenpvIDwvc3Ryb25nPgogCmRvYyBjb3JyZW50ZTogeyJuYW1lIjoiZG9jMiIsInF1YW50aXR5Ijo1LCJwcmljZSI6MjEzLjN9CjxzdHJvbmc+IFN0byBjaWNsYW5kbyBzdWwgZG9jdW1lbnRvIGNvbiBub21lIGUgcHJlenpvIDwvc3Ryb25nPgogCmRvYyBjb3JyZW50ZTogeyJuYW1lIjoiZG9jMyIsInF1YW50aXR5IjoxMCwicHJpY2UiOjMyMS4zfQo8c3Ryb25nPiBTdG8gY2ljbGFuZG8gc3VsIGRvY3VtZW50byBjb24gbm9tZSBlIHByZXp6byA8L3N0cm9uZz4KCjxwPiB2YWx1ZSBvZiB2YXIgImkiIGFmdGVyIGluY3JlbWVudCBpczogMS4wPC9wPgogCjxwPiB2YWx1ZSBvZiB2YXIgImkiIGlzOiAxLjA8L3A+CiAKZG9jIGNvcnJlbnRlOiB7Im5hbWUiOiJkb2MxIiwicXVhbnRpdHkiOjMsInByaWNlIjoxMjMuM30KPHN0cm9uZz4gU3RvIGNpY2xhbmRvIHN1bCBkb2N1bWVudG8gY29uIG5vbWUgZSBwcmV6em8gPC9zdHJvbmc+CiAKZG9jIGNvcnJlbnRlOiB7Im5hbWUiOiJkb2MyIiwicXVhbnRpdHkiOjUsInByaWNlIjoyMTMuM30KPHN0cm9uZz4gU3RvIGNpY2xhbmRvIHN1bCBkb2N1bWVudG8gY29uIG5vbWUgZSBwcmV6em8gPC9zdHJvbmc+CiAKZG9jIGNvcnJlbnRlOiB7Im5hbWUiOiJkb2MzIiwicXVhbnRpdHkiOjEwLCJwcmljZSI6MzIxLjN9CjxzdHJvbmc+IFN0byBjaWNsYW5kbyBzdWwgZG9jdW1lbnRvIGNvbiBub21lIGUgcHJlenpvIDwvc3Ryb25nPgoKPHA+IHZhbHVlIG9mIHZhciAiaSIgYWZ0ZXIgaW5jcmVtZW50IGlzOiAyLjA8L3A+CiAKPHA+IHZhbHVlIG9mIHZhciAiaSIgaXM6IDIuMDwvcD4KIApkb2MgY29ycmVudGU6IHsibmFtZSI6ImRvYzEiLCJxdWFudGl0eSI6MywicHJpY2UiOjEyMy4zfQo8c3Ryb25nPiBTdG8gY2ljbGFuZG8gc3VsIGRvY3VtZW50byBjb24gbm9tZSBlIHByZXp6byA8L3N0cm9uZz4KIApkb2MgY29ycmVudGU6IHsibmFtZSI6ImRvYzIiLCJxdWFudGl0eSI6NSwicHJpY2UiOjIxMy4zfQo8c3Ryb25nPiBTdG8gY2ljbGFuZG8gc3VsIGRvY3VtZW50byBjb24gbm9tZSBlIHByZXp6byA8L3N0cm9uZz4KIApkb2MgY29ycmVudGU6IHsibmFtZSI6ImRvYzMiLCJxdWFudGl0eSI6MTAsInByaWNlIjozMjEuM30KPHN0cm9uZz4gU3RvIGNpY2xhbmRvIHN1bCBkb2N1bWVudG8gY29uIG5vbWUgZSBwcmV6em8gPC9zdHJvbmc+Cgo8cD4gdmFsdWUgb2YgdmFyICJpIiBhZnRlciBpbmNyZW1lbnQgaXM6IDMuMDwvcD4KCgoKPCEtLSBjb2RpY2UgTk9OIHByb2Nlc3NhdG8gZGEgRUZUTCAtLT4KCi4uLgoKPHA+dGVzdG8gdHJhIHVuIGRvY3VtZW50byBibG9jY28gRUZUTCZjb3B5OyBlIGwnYWx0cm88L3A+CgouLi4KCiAKPG9sPgo8bGk+CkRlY3JldG8gZGVsIHJldHRvcmUgZGVsICBuci4gCjwvbGk+CjxsaT4KRGVjcmV0byBkZWwgcmV0dG9yZSBuci4gIGRlbCAKPC9saT4KPC9vbD4KPHRhZz5hbHRybyB0YWc8L3RhZz4KCgo8IS0tIGNvZGljZSBOT04gcHJvY2Vzc2F0byBkYSBFRlRMIC0tPgo8cCBhbGlnbj0iY2VudGVyIj4KPGVtPlJlc3RvIGRlbCBkb2N1bWVudG8uLi48L2VtPgo8L3A+CjxwPiA8L3A+CjxwPlRoZSBSZWN0b3I8L3A+CjxwPkRpZ2l0YWxseSBzaWduZWQ8L3A+CjwvYm9keT4KPC9odG1sPgo=" } } - name: "Process EFTL - TEST #1" request: url: "{{elixFormsApiUrl}}/eftl/process/v1" method: POST headers: - name: x-requested-with value: XMLHttpRequest - name: x-api-key value: "{{elixFormsWsAuthenticationToken}}" - name: x-ef-request-id value: "8463" 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 }" response: statusText: "200" headers: - name: cache-control value: no-cache, no-store, must-revalidate - name: pragma value: no-cache - name: proxy-connection value: Keep-Alive - name: x-content-security-policy value: default-src 'self'; connect-src 'self'; font-src 'none'; img-src 'self'; media-src 'self'; object-src 'self'; plugin-types application/pdf audio/x-wav; referrer no-referrer; reflected-xss block; script-src 'self'; style-src 'self' - name: content-type value: application/json;charset=UTF-8 - name: strict-transport-security value: max-age=63072000;includeSubDomains - name: content-security-policy value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'" - name: x-frame-options value: SAMEORIGIN - name: x-xss-protection value: 1;mode=block - name: x-content-type-options value: nosniff - name: referrer-policy value: unsafe-url - name: transfer-encoding value: chunked - name: vary value: Accept-Encoding - name: content-encoding value: gzip body: type: json data: |- { "value": { "code": "OK", "description": "OK", "complete": true, "globalStatus": "OK", "resultNumber": 1, "serviceInformationList": { "serviceInformation": [ { "ITSystemName": "EFTL", "complete": true, "serviceVersion": "1.0.0", "statusDetailList": { "statusDetail": [ { "code": "OK", "description": "OK", "detailStatus": "OK" } ] } } ] }, "uuid": "ffaa1626-1841-41cd-8b7e-827b171e439e", "version": "3.9.2.21", "processedDocument": "ZmFsc2U=" } }