Merge branch 'main' into script-autogenerate-http

This commit is contained in:
2026-07-09 16:58:25 +02:00
5 changed files with 160 additions and 60 deletions
@@ -5,7 +5,7 @@ info:
http: http:
method: GET method: GET
url: "{{IdemApiUrl}}/strutt_dip_centri_resp.php?id_ab=105846" url: "{{IdemApiUrl}}/strutt_dip_centri_resp.php?cd_csa=106154"
params: params:
- name: id_ab - name: id_ab
value: "199930" value: "199930"
@@ -36,9 +36,8 @@ http:
type: query type: query
disabled: true disabled: true
- name: cd_csa - name: cd_csa
value: "106284" value: "106154"
type: query type: query
disabled: true
- name: id_ab - name: id_ab
value: "186475" value: "186475"
type: query type: query
@@ -46,6 +45,7 @@ http:
- name: id_ab - name: id_ab
value: "105846" value: "105846"
type: query type: query
disabled: true
auth: inherit auth: inherit
settings: settings:
@@ -5,61 +5,11 @@ info:
http: http:
method: GET method: GET
url: "{{IdemApiUrl}}/dipendente.php?cod_fis=SPRGRL67B15F611N" url: "{{IdemApiUrl}}/dipendente.php?cod_fis=SAIFNC69H24Z604D"
params: params:
- name: cod_fis - name: cod_fis
value: MMMPPL74T17E463A value: SAIFNC69H24Z604D
type: query type: query
disabled: true
- name: cod_fis
value: BLLCDL60C28H224V
type: query
description: Codice fislcale del dipendente
disabled: true
- name: cod_fis
value: RCRVCN92S06D284C
type: query
disabled: true
- name: cod_fis
value: NCLMHL73P02I862C
type: query
disabled: true
- name: cod_fis
value: CRRRRT63T31H223A
type: query
disabled: true
- name: cod_fis
value: BRTSMN69B65G337A
type: query
disabled: true
- name: cod_fis
value: XXXXXXXXXXXXXXXX
type: query
description: 404 Not Found - Testing
disabled: true
- name: cod_fis
value: BFFSFN68R19H501F
type: query
disabled: true
- name: cod_fis
value: TLTFRC83R30G337R
type: query
disabled: true
- name: cod_fis
value: GNTLDN64A67D643P
type: query
disabled: true
- name: cod_fis
value: DNFGTN65H09I441P
type: query
disabled: true
- name: cod_fis
value: SPRGRL67B15F611N
type: query
- name: cod_fis
value: RMGGNN82S16I496I
type: query
disabled: true
auth: inherit auth: inherit
settings: settings:
@@ -0,0 +1,71 @@
info:
name: Elenco Contraenti in formato CSV DSAN
type: http
seq: 30
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: "34398"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="elencoContraentiCsv" type="string"][% elencoContraentiCsv = ""; %][/VAR]
[VAR name="elencoContraenti" type="string"][TRIM][TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG][/TRIM][/VAR]
[VAR name="elencoContraentiIterable" type="iterable"][SPLIT regex="\n" emptyIfBlank="true"][VALUE_OF varname="elencoContraenti" /][/SPLIT][/VAR]
[VAR name="elencoContraentiCount" type="number"][SIZE_OF varname="elencoContraentiIterable" /][/VAR]
[VAR name="contraenteIdx" type="number"][% contraenteIdx = 0; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% contraenteIdx < elencoContraentiCount %][/CONDITION]
[DO]
[VAR name="contraenteIterable" type="iterable"][SPLIT regex=", CF/PIVA: " emptyIfBlank="true"][TRIM][VALUE_OF varname="elencoContraentiIterable" index="contraenteIdx" /][/TRIM][/SPLIT][/VAR]
[VAR name="contraenteDenominazione" type="string"][VALUE_OF varname="contraenteIterable" index="firstItem" /][/VAR]
[% elencoContraentiCsv = elencoContraentiCsv + contraenteDenominazione; %]
[% contraenteIdx = contraenteIdx + 1; %]
[IF]
[CONDITION][% contraenteIdx < elencoContraentiCount %][/CONDITION]
[THEN]
[% elencoContraentiCsv = elencoContraentiCsv + ", "; %]
[/THEN]
[/IF]
[/DO][/WHILE]
[%= elencoContraentiCsv %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,71 @@
info:
name: Elenco RS in formato CSV DSAN
type: http
seq: 30
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: "34398"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="elencoResponsabiliCsv" type="string"][% elencoResponsabiliCsv = ""; %][/VAR]
[VAR name="elencoResponsabili" type="string"][TRIM][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,ID_OBJECT[/TAG][/TRIM][/VAR]
[VAR name="elencoResponsabiliIterable" type="iterable"][SPLIT regex="\n" emptyIfBlank="true"][VALUE_OF varname="elencoResponsabili" /][/SPLIT][/VAR]
[VAR name="elencoResponsabiliCount" type="number"][SIZE_OF varname="elencoResponsabiliIterable" /][/VAR]
[VAR name="responsabileIdx" type="number"][% responsabileIdx = 0; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% responsabileIdx < elencoResponsabiliCount %][/CONDITION]
[DO]
[VAR name="responsabileIterable" type="iterable"][SPLIT regex=", CF: " emptyIfBlank="true"][TRIM][VALUE_OF varname="elencoResponsabiliIterable" index="responsabileIdx" /][/TRIM][/SPLIT][/VAR]
[VAR name="responsabileNominativo" type="string"][VALUE_OF varname="responsabileIterable" index="firstItem" /][/VAR]
[% elencoResponsabiliCsv = elencoResponsabiliCsv + responsabileNominativo; %]
[% responsabileIdx = responsabileIdx + 1; %]
[IF]
[CONDITION][% responsabileIdx < elencoResponsabiliCount %][/CONDITION]
[THEN]
[% elencoResponsabiliCsv = elencoResponsabiliCsv + ", "; %]
[/THEN]
[/IF]
[/DO][/WHILE]
[%= elencoResponsabiliCsv %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -12,7 +12,7 @@ http:
- name: x-api-key - name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}" value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id - name: x-ef-request-id
value: "32873" value: "34396"
body: body:
type: json type: json
data: |- data: |-
@@ -39,9 +39,12 @@ runtime:
[VAR name="rsp_nome" type="string"][TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG][/VAR] [VAR name="rsp_nome" type="string"][TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG][/VAR]
[% responsabileScientificoProponente = rsp_titolo + " " + rsp_cognome + " " + rsp_nome; %] [% responsabileScientificoProponente = rsp_titolo + " " + rsp_cognome + " " + rsp_nome; %]
<h2>&Egrave; necessario compilare la DSAN collegata all'istanza del modulo "Ripartizione Utili / Compensi - Presentazione Proposta" i cui dati sono riportati nel seguito!</h2> [% secondItem = 1; %]
[VAR name="partecipanteIterable" type="iterable"][SPLIT regex="\] "][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,ID_OBJECT[/TAG][/SPLIT][/VAR]
[VAR name="partecipante" type="string"][VALUE_OF varname="partecipanteIterable" index="secondItem" /][/VAR]
[VAR name="importo" type="string"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,ID_OBJECT[/TAG][/VAR]
<br/> <h2>&Egrave; necessario compilare la DSAN collegata all'istanza del modulo "Ripartizione Utili / Compensi - Presentazione Proposta" i cui dati sono riportati nel seguito!</h2>
<h3>Riepilogo dei dati della Proposta</h3> <h3>Riepilogo dei dati della Proposta</h3>
<p>Responsabile Scientifico proponente:&nbsp;&nbsp;<b>[%= responsabileScientificoProponente %]</b></p> <p>Responsabile Scientifico proponente:&nbsp;&nbsp;<b>[%= responsabileScientificoProponente %]</b></p>
@@ -49,9 +52,14 @@ runtime:
<p>Titolo contratto:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,TITOLO_CONTRATTO,REQUEST,ID_OBJECT[/TAG]</b></p> <p>Titolo contratto:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,TITOLO_CONTRATTO,REQUEST,ID_OBJECT[/TAG]</b></p>
<p>Contraente/i:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG]</b></p> <p>Contraente/i:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG]</b></p>
<br/> <h3>Ripartizione</h3>
<p>Partecipante:&nbsp;&nbsp;<b>[%= partecipante %]</b></p>
<p>Importo (&euro;):&nbsp;&nbsp;<b>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importo" /][/FORMAT]</b></p>
<p><b>Il link al modulo di presentazione della DSAN è: [%= href %]</b></p> <h3>Modulo DSAN</h3>
<p>Link al modulo:&nbsp;&nbsp;<b>[%= href %]</b></p>
<p><i>(se il link non fosse cliccabile, copiarlo e incollarlo in una nuova finestra del browser)</i></p>
[/EFTL] [/EFTL]
`); `);