Interfacce utente ================= Autenticazione -------------- +--------+------------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +--------+------------------+--------+--------+--------+ | POST | /api/Actors/auth | ✓ | ✓ | ✓ | +--------+------------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Questa interfaccia, in caso di successo, avvia la sessione identificata da un token che sarà da restituire per tutte le successive chiamate richiedenti autenticazione. Restituisce anche le informazioni di base dell'utente loggato. Parametri in input ^^^^^^^^^^^^^^^^^^ +----------------+----------+------------------------------------+--------+ | Field Name | Required | Descrizione | Type | +================+==========+====================================+========+ | email | Si | Email utente | string | +----------------+----------+------------------------------------+--------+ | password | Si | Password utente | string | +----------------+----------+------------------------------------+--------+ | appSystem | Si | Nome applicativo client | string | +----------------+----------+------------------------------------+--------+ | appVersionCode | Si | Codice versione applicativa client | string | +----------------+----------+------------------------------------+--------+ Esempio di risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": { "actor": { "id": 45, "companyName": "ing. Paolo Lauri", "piva": "07531111008", "cf": "LRAPLA72P29H501C", "iban": "", "address": "Viale Tito Boccuccia, 12/A", "zipcode": "00033", "cityId": 2072, "provinceId": 42, "condo": 0, "trader": 0, "customer": 0, "website": "http://www.ipisrl.it", "email": "paolo.lauri@ipisrl.it", "pec": "paolo.lauri@pec.ording.roma.it", "tel": "3203457940", "fax": "069574171", "lrName": "", "lrSurname": "", "lrBorAt": null, "lrBornCity": "", "lrAddress": "", "lrCity": "", "lrZipcode": "", "lrProvince": "", "lrEmail": "", "lrTel": "", "contactTraderId": null, "functionalTraderId": null, "actorType": "", "businessUnitId": 1, "customerRevenue": 0, "creditbackRevenue": 0, "machineRevenue": 0, "note": null, "billingThirdParty": 1, "paymentType": 0, "grossMarginPercentage": 0, "attachmentId": null, "state": 1, "admin": 0, "noteRatifica": null, "regionId": 9, "numTotSc": null, "numTotSp": null, "numTotGvr": null, "slRegionId": null, "slProvinceId": null, "slCityId": null, "slZipcode": "", "slAddress": "", "idOdoo": null }, "authorization": { "id": "0GEpkO8IqM3nwyebWydrEG8r89BuCOPE0CHCmHfLLPKCBbKxbqBHVVqdqW6xKgmV", "ttl": 1209600, "created": "2017-05-10T09:42:44.455Z", "userId": 45 } } } Creazione cliente ----------------- +--------+----------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +--------+----------------+--------+--------+--------+ | POST | /api/customers | ✓ | ✓ | ✓ | +--------+----------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Questa interfaccia crea un nuovo cliente, impostandolo in stato attesa contratto. Json di input ^^^^^^^^^^^^^ .. code-block:: json { "actor": { "idOdoo": 0, "slOdooId": "number", "companyName": "string", "piva": "string", "cf": "string", "iban": "string", "address": "string", "zipcode": "string", "cityId": 0, "provinceId": 0, "condo": 0, "website": "string", "email": "string", "pec": "string", "tel": "string", "fax": "string", "note": "string", "regionId": 0, "numTotSc": 0, "numTotSp": 0, "numTotGvr": 0, "slRegionId": 0, "slProvinceId": 0, "slCityId": 0, "slZipcode": "string", "slAddress": "string", "traderId": 16, "contactTraderId": 16, "targetAudience": "string" }, "user": { "name": "string", "surname": "string", "email": "string", "mobilePhone": "string", "officePhone": "string", "gender": "string", "workingPosition": "string", "password": "string" }, "sdiCodes": [ { "id": 0, "code": "string", "description": "string" } ], "contract": { "discountApplied": 0, "paymentTermId": "string" }, "attachments": [ { "name": "string", "url": "string" } ] } Descrizione campi Actor ^^^^^^^^^^^^^^^^^^^^^^^ +------------------+----------+-----------------------------------------------------+-------------+ | Field Name | Required | Descrizione | Type | +==================+==========+=====================================================+=============+ | idOdoo | Si | Identificativo univoco sede amministrativa | integer | +------------------+----------+-----------------------------------------------------+-------------+ | slOdooId | No | Identificativo univoco sede legale | integer | +------------------+----------+-----------------------------------------------------+-------------+ | companyName | Si | Nome cliente | string | +------------------+----------+-----------------------------------------------------+-------------+ | piva | Si | Partita iva | string | +------------------+----------+-----------------------------------------------------+-------------+ | cf | Si | Codice fiscale | string | +------------------+----------+-----------------------------------------------------+-------------+ | iban | No | Iban | string | +------------------+----------+-----------------------------------------------------+-------------+ | pec | No | Posta elettronica certificata | string | +------------------+----------+-----------------------------------------------------+-------------+ | email | Si | indirizzo email | string | +------------------+----------+-----------------------------------------------------+-------------+ | tel | No | numero di telefono | string | +------------------+----------+-----------------------------------------------------+-------------+ | fax | No | numero di fax | string | +------------------+----------+-----------------------------------------------------+-------------+ | website | No | sito internet | string | +------------------+----------+-----------------------------------------------------+-------------+ | slRegionId | Si | ID regione sede legale | integer | +------------------+----------+-----------------------------------------------------+-------------+ | slProvinceId | Si | ID provincia sede legale | integer | +------------------+----------+-----------------------------------------------------+-------------+ | slCityId | Si | ID comune sede legale | integer | +------------------+----------+-----------------------------------------------------+-------------+ | slAddress | Si | Indirizzo sede legale | string | +------------------+----------+-----------------------------------------------------+-------------+ | slZipcode | Si | CAP sede legale | string | +------------------+----------+-----------------------------------------------------+-------------+ | regionId | Si | ID regione sede operativa | integer | +------------------+----------+-----------------------------------------------------+-------------+ | provinceId | Si | ID provincia sede operativa | integer | +------------------+----------+-----------------------------------------------------+-------------+ | cityId | Si | ID comune sede operativa | integer | +------------------+----------+-----------------------------------------------------+-------------+ | address | Si | Indirizzo sede operativa | string | +------------------+----------+-----------------------------------------------------+-------------+ | zipcode | Si | CAP sede operativa | string | +------------------+----------+-----------------------------------------------------+-------------+ | condo | Si | Condominio | boolean | +------------------+----------+-----------------------------------------------------+-------------+ | numTotSc | No | Numero totale attrezzature Sollevamento cose | integer | +------------------+----------+-----------------------------------------------------+-------------+ | numTotSp | No | Numero totale attrezzature Sollevamento persone | integer | +------------------+----------+-----------------------------------------------------+-------------+ | numTotGvr | No | Numero totale attrezzature Gas vapore riscaldamento | integer | +------------------+----------+-----------------------------------------------------+-------------+ | note | No | Appunti sul cliente | string | +------------------+----------+-----------------------------------------------------+-------------+ | traderId | Si | ID commerciale di riferimento | integer | +------------------+----------+-----------------------------------------------------+-------------+ | contractTraderId | No | ID segnalatore commerciale | integer | +------------------+----------+-----------------------------------------------------+-------------+ | targetAudience | No | Mercato di riferimento | Map | +------------------+----------+-----------------------------------------------------+-------------+ Descrizione campi User ^^^^^^^^^^^^^^^^^^^^^^ +-----------------+----------+---------------------------------------------+--------+ | Field Name | Required | Descrizione | Type | +=================+==========+=============================================+========+ | name | Si | Nome referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ | surname | Si | Cognome referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ | email | Si | Email referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ | mobilePhone | Si | Numero telefono cellulare referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ | officePhone | Si | Numero telefono ufficio referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ | gender | Si | Sesso. Valori possibili 'M' o 'F' | char | +-----------------+----------+---------------------------------------------+--------+ | workingPosition | No | Funzione referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ | password | Si | Password referente cliente | string | +-----------------+----------+---------------------------------------------+--------+ Descrizione campi SdiCode ^^^^^^^^^^^^^^^^^^^^^^^^^ Lo SdiCode è presente all'interno dell'array `sdiCodes` +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | Field Name | Require | Descrizione | Type | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | id | Si | Identificativo codice SDI | integer | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | code | Si | Codice SdI (Sistema d'Intercambio) è il codice destinatario per le fatture elettroniche utilizzato dall'Agenzia delle Entrate | string | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | description | No | Campo descrizione | string | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ Descrizione campi Contract ^^^^^^^^^^^^^^^^^^^^^^^^^^ +-----------------+----------+---------------------------------------------+---------+ | Field Name | Required | Descrizione | Type | +=================+==========+=============================================+=========+ | discountApplied | Si | Sconto applicato al servizio del contratto | integer | +-----------------+----------+---------------------------------------------+---------+ | paymentTermId | Si | Termini di pagamento del Customer | string | +-----------------+----------+---------------------------------------------+---------+ Descrizione campi Attachments ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Il campo attachments è un array contenente una lista di oggetti. * Ogni oggetto della lista corrisponde ad un allegato. * Ogni allegato presenta i seguenti campi: +------------+----------+--------------------------------------+--------+ | Field Name | Required | Descrizione | Type | +============+==========+======================================+========+ | name | No | Nome dell'allegato | string | +------------+----------+--------------------------------------+--------+ | url | No | Url di odoo per scaricare l'allegato | string | +------------+----------+--------------------------------------+--------+ Esempio risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": { "customer": { "id": 1 } } } Modifica cliente ---------------- +--------+---------------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +--------+---------------------+--------+--------+--------+ | PUT | /api/Customers/{id} | ✓ | ✓ | ✓ | +--------+---------------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Questa interfaccia modifica le informazioni di un cliente. Json di input ^^^^^^^^^^^^^ .. code-block:: json { "actor": { "idOdoo": 0, "slOdooId": "number", "companyName": "string", "piva": "string", "cf": "string", "iban": "string", "address": "string", "zipcode": "string", "cityId": 0, "provinceId": 0, "condo": 0, "website": "string", "email": "string", "pec": "string", "tel": "string", "fax": "string", "note": "string", "regionId": 0, "numTotSc": 0, "numTotSp": 0, "numTotGvr": 0, "slRegionId": 0, "slProvinceId": 0, "slCityId": 0, "slZipcode": "string", "slAddress": "string", "targetAudience": "string" }, "user": { "name": "string", "surname": "string", "email": "string", "mobilePhone": "string", "officePhone": "string", "gender": "string", "workingPosition": "string", "password": "string" }, "sdiCodes": [ { "id": 0, "code": "string", "description": "string" } ], "contract": { "discountApplied": 0, "paymentTermId": "string" }, "attachments": [ { "name": "string", "url": "string" } ], "replaceContract": "boolean" } Descrizione campi ^^^^^^^^^^^^^^^^^ +-----------------+---------+-------------------------------------------------------------------------------------------+-------------+ | Field Name | Require | Descrizione | Type | +=================+=========+===========================================================================================+=============+ | id | Si | Identificativo specifico del CRM per il cliente da modificare | querystring | +-----------------+---------+-------------------------------------------------------------------------------------------+-------------+ | replaceContract | No | false => ignora modifiche contrattuali (default) | boolean | | | | true => sostituisce gli attuali contratti attivi con le informazioni nel campo `contract` | | +-----------------+---------+-------------------------------------------------------------------------------------------+-------------+ Descrizione campi Actor ^^^^^^^^^^^^^^^^^^^^^^^ +----------------+---------+-----------------------------------------------------+-------------+ | Field Name | Require | Descrizione | Type | +================+=========+=====================================================+=============+ | idOdoo | Si | Identificativo univoco sede amministrativa | integer | +----------------+---------+-----------------------------------------------------+-------------+ | slOdooId | No | Identificativo univoco sede legale | integer | +----------------+---------+-----------------------------------------------------+-------------+ | companyName | Si | Nome cliente | string | +----------------+---------+-----------------------------------------------------+-------------+ | piva | Si | Partita IVA | string | +----------------+---------+-----------------------------------------------------+-------------+ | cf | Si | Codice fiscale | string | +----------------+---------+-----------------------------------------------------+-------------+ | iban | No | Iban | string | +----------------+---------+-----------------------------------------------------+-------------+ | pec | No | Posta elettronica certificata | string | +----------------+---------+-----------------------------------------------------+-------------+ | email | Si | indirizzo email | string | +----------------+---------+-----------------------------------------------------+-------------+ | tel | No | Numero di telefono | string | +----------------+---------+-----------------------------------------------------+-------------+ | fax | No | Numero di fax | string | +----------------+---------+-----------------------------------------------------+-------------+ | website | No | Sito internet | string | +----------------+---------+-----------------------------------------------------+-------------+ | slRegionId | Si | ID regione sede legale | integer | +----------------+---------+-----------------------------------------------------+-------------+ | slProvinceId | Si | ID provincia sede legale | integer | +----------------+---------+-----------------------------------------------------+-------------+ | slCityId | Si | ID comune sede legale | integer | +----------------+---------+-----------------------------------------------------+-------------+ | slAddress | Si | Indirizzo sede legale | string | +----------------+---------+-----------------------------------------------------+-------------+ | slZipcode | Si | CAP sede legale | string | +----------------+---------+-----------------------------------------------------+-------------+ | regionId | Si | ID regione sede operativa | integer | +----------------+---------+-----------------------------------------------------+-------------+ | provinceId | Si | ID provincia sede operativa | integer | +----------------+---------+-----------------------------------------------------+-------------+ | cityId | Si | ID comune sede operativa | integer | +----------------+---------+-----------------------------------------------------+-------------+ | address | Si | Indirizzo sede operativa | string | +----------------+---------+-----------------------------------------------------+-------------+ | zipcode | Si | CAP sede operativa | string | +----------------+---------+-----------------------------------------------------+-------------+ | condo | Si | Condominio | boolean | +----------------+---------+-----------------------------------------------------+-------------+ | numTotSc | No | Numero totale attrezzature Sollevamento cose | integer | +----------------+---------+-----------------------------------------------------+-------------+ | numTotSp | No | Numero totale attrezzature Sollevamento persone | integer | +----------------+---------+-----------------------------------------------------+-------------+ | numTotGvr | No | Numero totale attrezzature Gas vapore riscaldamento | integer | +----------------+---------+-----------------------------------------------------+-------------+ | note | No | Appunti sul cliente | string | +----------------+---------+-----------------------------------------------------+-------------+ | targetAudience | No | Mercato di riferimento | Map | +----------------+---------+-----------------------------------------------------+-------------+ Descrizione campi User ^^^^^^^^^^^^^^^^^^^^^^ +-----------------+---------+---------------------------------------------+--------+ | Field Name | Require | Descrizione | Type | +=================+=========+=============================================+========+ | name | Si | Nome referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ | surname | Si | Cognome referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ | email | Si | Email referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ | mobilePhone | Si | Numero telefono cellulare referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ | officePhone | Si | Numero telefono ufficio referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ | gender | Si | Sesso. Valori possibili 'M' o 'F' | char | +-----------------+---------+---------------------------------------------+--------+ | workingPosition | No | Funzione referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ | password | Si | Password referente cliente | string | +-----------------+---------+---------------------------------------------+--------+ Descrizione campi SdiCode ^^^^^^^^^^^^^^^^^^^^^^^^^ Lo SdiCode è presente all'interno dell'array `sdiCodes` +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | Field Name | Require | Descrizione | Type | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | id | Si | Identificativo codice SDI | integer | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | code | Si | Codice SdI (Sistema d'Intercambio) è il codice destinatario per le fatture elettroniche utilizzato dall'Agenzia delle Entrate | string | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ | description | No | Campo descrizione | string | +-------------+---------+-------------------------------------------------------------------------------------------------------------------------------+---------+ Descrizione campi Contract ^^^^^^^^^^^^^^^^^^^^^^^^^^ +-----------------+----------+---------------------------------------------+---------+ | Field Name | Required | Descrizione | Type | +=================+==========+=============================================+=========+ | discountApplied | Si | Sconto applicato al servizio del contratto | integer | +-----------------+----------+---------------------------------------------+---------+ | paymentTermId | Si | Termini di pagamento del Customer | string | +-----------------+----------+---------------------------------------------+---------+ Descrizione campi Attachments ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Il campo attachments è un array contenente una lista di oggetti. * Ogni oggetto della lista corrisponde ad un allegato. * Ogni allegato presenta i seguenti campi: +------------+----------+--------------------------------------+--------+ | Field Name | Required | Descrizione | Type | +============+==========+======================================+========+ | name | No | Nome dell'allegato | string | +------------+----------+--------------------------------------+--------+ | url | No | Url di odoo per scaricare l'allegato | string | +------------+----------+--------------------------------------+--------+ Esempio di risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": { "customer": { "id": 1 } } } Cambio associazione commerciale ------------------------------- +--------+-----------------------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +--------+-----------------------------+--------+--------+--------+ | PUT | /api/Customers/{id}/traders | ✓ | ✓ | ✓ | +--------+-----------------------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Sostituisce il commerciale associato al cliente ed i relativi task aperti. Parametri in input ^^^^^^^^^^^^^^^^^^ +------------------+----------+----------------------------------------------------------------------+---------+ | Field Name | Required | Descrizione | Type | +==================+==========+======================================================================+=========+ | id | Si | Identificativo del cliente a cui cambiare l'associazione commerciale | integer | +------------------+----------+----------------------------------------------------------------------+---------+ | functionalTrader | Si | Identificativo del nuovo commerciale a cui associare il cliente | integer | +------------------+----------+----------------------------------------------------------------------+---------+ Esempio di risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": {} } Cambio associazione segnalatore commerciale ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +--------+-------------------------------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +--------+-------------------------------------+--------+--------+--------+ | PUT | /api/Customers/{id}/traderDetectors | ✓ | ✓ | ✓ | +--------+-------------------------------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Sostituisce il segnalatore commerciale associato al cliente Parametri in input ^^^^^^^^^^^^^^^^^^ +------------------+----------+-----------------------------------------------------------------------------+---------+ | Field Name | Required | Descrizione | Type | +==================+==========+=============================================================================+=========+ | id | Si | Identificativo del cliente a cui cambiare l'associazione commerciale | integer | +------------------+----------+-----------------------------------------------------------------------------+---------+ | traderDetectorId | Si | Identificativo del nuovo segnalatore commerciale a cui associare il cliente | integer | +------------------+----------+-----------------------------------------------------------------------------+---------+ Esempio di risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": {} } Archiviazione commerciali ------------------------- +--------+---------------------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +--------+---------------------------+--------+--------+--------+ | PUT | /api/Traders/{id}/archive | ✓ | ✓ | ✓ | +--------+---------------------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Permette di l'archiviazione del ruolo commerciale per l'id utente passato in input. Nel caso in cui ci siano problemi di dipendenze per cui non è possibile disattivare tale ruolo la chiamata andrà in KO restituendo la descrizione dell'errore qualora sia possibile Parametri in input ^^^^^^^^^^^^^^^^^^ +------------+---------+------------------------------------------+-------------+ | Field Name | Require | Descrizione | Type | +------------+---------+------------------------------------------+-------------+ | id | Si | Identificativo dell'utente da archiviare | querystring | +------------+---------+------------------------------------------+-------------+ Esempio di risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": {} } Esempio di risposta negativa ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nel caso in cui il commerciale non è archiviabile, verrà restituita la lista delle dipendenze del commerciale: .. code-block:: json { "status": 1, "errorCode": "WARN::CANNOT_ARCHIVE_TRADER", "errorMessage": [], "response": { "customers": [ 97, 126, 139 ] } } Nel caso in cui il commerciale risulta già archiviato .. code-block:: json { "status": 1, "errorCode": "WARN::TRADER_ALREADY_ARCHIVED", "errorMessage": [], "response": {} } Codici di errore ^^^^^^^^^^^^^^^^ +-------------------------------+---------------------------------------------------+ | Codice | Descrizione | +===============================+===================================================+ | WARN::TRADER_ALREADY_ARCHIVED | Commerciale già archiviato | +-------------------------------+---------------------------------------------------+ | WARN::NO_TRADER_ARCHIVED | Errore nella modifica del ruolo | +-------------------------------+---------------------------------------------------+ | WARN::CANNOT_ARCHIVE_TRADER | Errore nella modifica dei clienti del commerciale | +-------------------------------+---------------------------------------------------+ | ERR::TRADER_NOT_EXIST#003 | ID commerciale non trovato | +-------------------------------+---------------------------------------------------+ | ERR::PERMISSION_DENIED | Utente non valido per l'operazione | +-------------------------------+---------------------------------------------------+ Archiviazione clienti --------------------- +--------+----------------------------+--------+--------+--------+ | Method | URL | DM1104 | DPR462 | DPR162 | +========+============================+========+========+========+ | PUT | /api/Customers/bulkArchive | ✓ | ✓ | ✓ | +--------+----------------------------+--------+--------+--------+ Descrizione ^^^^^^^^^^^ Permette l'archiviazione dei clienti per gli ID passati in input. L'operazione, per ogni cliente, verificherà che siano presenti attrezzature caricate e, nel caso positivo, si occuperà di archiviare le attività di verifica pendenti. Nel caso in cui ci siano attività di verifica bloccanti (stato "Verificatore assegnato"), l'operazione verrà bloccata annullando tutte le operazioni eseguite e restituendo gli errori. Parametri in input ^^^^^^^^^^^^^^^^^^ +------------+---------+----------------------------+----------------+ | Field Name | Require | Descrizione | Type | +============+=========+============================+================+ | ids | Si | Array degli ID dei clienti | Array | +------------+---------+----------------------------+----------------+ Esempio di risposta positiva ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "status": 0, "errorCode": null, "errorMessage": [], "response": {} } Esempio di risposta negativa ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nel caso in cui il cliente non è archiviabile, verrà restituita la lista delle dipendenze del cliente .. code-block:: json { "status": -1, "errorCode": "GENERIC_ERROR", "errorMessage": [], "response": [ { "customer": { "id": 18, "errorCode": "ERR::CUSTOMER_ARCHIVE_FAIL#004", "errorMessage": [ { "message": "Unable to archive customer with id 18" } ], "response": [ { "machine": { "id": 10588, "errorCode": "ERR::NO_MACHINE_ARCHIVED#001", "errorMessage": [ { "message": "Cannot archive CustomerMachines with audit in state 'VERIFICATORE_ASSOCIATO'" } ], "response": { "audits": [] } } }, { "machine": { "id": 15594, "errorCode": "ERR::NO_MACHINE_ARCHIVED#001", "errorMessage": [ { "message": "Cannot archive CustomerMachines with audit in state 'VERIFICATORE_ASSOCIATO'" } ], "response": { "audits": [] } } }, { "machine": { "id": 15802, "errorCode": "ERR::NO_MACHINE_ARCHIVED#001", "errorMessage": [ { "message": "Cannot archive CustomerMachines with audit in state 'VERIFICATORE_ASSOCIATO'" } ], "response": { "audits": [] } } }, { "machine": { "id": 15803, "errorCode": "ERR::NO_MACHINE_ARCHIVED#001", "errorMessage": [ { "message": "Cannot archive CustomerMachines with audit in state 'VERIFICATORE_ASSOCIATO'" } ], "response": { "audits": [] } } }, { "machine": { "id": 19843, "errorCode": "ERR::NO_MACHINE_ARCHIVED#001", "errorMessage": [ { "message": "Cannot archive CustomerMachines with audit in state 'VERIFICATORE_ASSOCIATO'" } ], "response": { "audits": [] } } } ] } } ] } Nel caso in cui il cliente risulti già archiviato .. code-block:: json { "status": -1, "errorCode": "ERR::CUSTOMERS_BULK_ARCHIVE_FAIL#001", "errorMessage": [], "response": [ { "customer": { "id": 51, "errorCode": "WARN::CUSTOMER_ALREADY_ARCHIVED", "errorMessage": [], "response": {} } }, { "customer": { "id": 97, "errorCode": "WARN::CUSTOMER_ALREADY_ARCHIVED", "errorMessage": [], "response": {} } } ] }