info:
  name: elixPro - Update associated groups
  type: http
  seq: 10

http:
  method: POST
  url: "{{elixProStudioUrl}}/eP/elixpro-studio/api/elixpro/procedimento/modulo/update"
  body:
    type: json
    data: |-
      {
        "idGenericschema": 999999,
        "tagModulo": "RequestForm_EDILIZIA_RDA_MANUTENZIONE",
        "groupIdsCsv": "113,112,111,114"
      }
  auth: inherit

runtime:
  scripts:
    - type: tests
      code: |-
        test("ISIPSESSION cookie found", function () {
          const isipsessionCookie = bru.cookies.get("ISIPSESSION");
          expect(isipsessionCookie).to.not.be.null;
          expect(isipsessionCookie).to.not.be.empty;
        });

settings:
  encodeUrl: true
  timeout: 0
  followRedirects: true
  maxRedirects: 5
  forwardAuthorizationHeader: false

examples:
  - name: example
    request:
      url: "{{elixProStudioUrl}}/eP/elixpro-studio/api/elixpro/procedimento/modulo/update"
      method: POST
      body:
        type: json
        data: |-
          {
            "idGenericschema": 168022,
            "tagModulo": "RequestForm_EDILIZIA_RDA_MANUTENZIONE",
            "groupIdsCsv": "113,112,111,114"
          }
    response:
      status: 200
      statusText: OK
      headers:
        - name: date
          value: Mon, 31 Aug 2026 13:22:25 GMT
        - name: server
          value: "Payara Server 6.2025.1 #badassfish"
        - name: content-security-policy
          value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
        - name: content-type
          value: application/json;charset=UTF-8
        - name: content-length
          value: "11"
        - name: x-frame-options
          value: SAMEORIGIN
        - name: strict-transport-security
          value: max-age=31536000; includeSubDomains
        - name: x-xss-protection
          value: "1"
        - name: x-content-type-options
          value: nosniff
        - name: referrer-policy
          value: unsafe-url
        - name: keep-alive
          value: timeout=10, max=500
        - name: connection
          value: Keep-Alive
      body:
        type: json
        data: |-
          {
            "ok": true
          }

docs: |
  # Richiesta

  ## Parametri

  ### idGenericschema

  Il parametro `idGenericschema` non è immediatamente identificabile dalle altre API.

  Per recuperare tale valore:

  1. Chiamare la request _"elixPro - Get modules list"_
  2. Nell'elenco dei risultati, cercare il modulo desiderato e annotare il valore della property `id_object`
  3. Andare sulla AJ Console e cercare l'oggetto avente valore pari a `id_object`
  4. Nel dettaglio selezionare lo schema _"WFModulo"_ e annotare il valore nella colonna _"ID Generic Schema"_

  ### tagModulo

  Il parametro `tagModulo` indica quale TAG di modulo elixForms associare al flusso elixPro (a sua volta identificato indirettamente dal parametro `idGenericschema`!).

  ### groupIdsCsv

  Il parametro `groupIdsCsv` è una lista di valori separati da virgola i cui elementi identificano i gruppi da associare al flusso elixPro, cioé i gruppi i cui membri potranno lavorare le rispettive fasi del flusso.

  Gli identificativi dei gruppi sono gli ID così come sono visibili sul Backoffice, o recuperabili tramite la request _"elixPro - Get groups catalog"_.
