API: DOCUMENT_QUERY - ricerca di un documento

Gli identificativi del tipo "<***>" sono descritti in questa sezione

Azione

Recupero di un documento sulla base di specifici parametri di ricerca.

Nota: poiché l’indicizzazione dei documenti (utilizzata per la ricerca) richiede un certo tempo dopo che il documento è stato archiviato nel sistema, può accadere che una ricerca effettuata subito dopo un upload di un grosso spool lavori su indici  non ancora completamente aggiornati.

Richiesta

{ 
    "message_type": "DOCUMENT_QUERY", 
    "version": "1.0", 
    "authentication": <AUTHTENTICATION>, 
"organization_code": <ORGANIZATION_CODE>,
"document_type": <DOCUMENT_TYPE>,

"senddata": [
// For String Fields
{
"field_name": ,
"operation": "MATCH",
"value1":
},
...
],
"documentdata": [
// For Date Fields
{
"field_name": ,
"operation": ( "BETWEEN" | "MATCH" ),
"value1": ,
"value2":
},

// For String Fields
{
"field_name": ,
"operation": "MATCH",
"value1":
},

...
],
"metadata": [

// For Date Fields
{ "field_name": ,
"operation": ( "BETWEEN" | "MATCH" ),
"value1": ,
"value2":
},

// For String Fields
{
"field_name": ,
"operation": "MATCH",
"value1":
},

// For Non-negative Integer Number Fields
{
"field_name": ,
"operation": ( "BETWEEN" | "MATCH" ),
"value1": ,
"value2":
},

...
],

"order_by" : [
{
"section_name": ( "senddata" | "documentdata"
| "metadata" ),
"field_name": ,
"type": ( "ASC" | "DESC" )
},
...
],

"paging" : {
"start" : ,
"count" :
}
}

Risposta OK

200 OK
{
"status": "OK",
"comment": "Document Query Results",
"rows_count": ,
"rows": [
{
"document_id" : ,
"job_id" : ,
"metadata": {
...
},
"sending_status" : [
{
"media_type": ( "FAX" | "EMAIL" | "LETTER" | "EMAIL_PEC" | "FPA" ),
"send_status": ( "TO_SEND" | "SENDING" |
 "PHYSICAL_SENDING" |
 "SENT" | "FINISHED" | "ERROR" | "TO_CHECK" | "CHECKING" ),
"last_status_update_time": ,
"status_detail": ,
"status_comment": ,
"fax_number": ,
"email": ,
"zipcode": ,
"address_1": ,
"address_2": ,
"address_3": ,
"address_4": ,
"address_5":
},
],
"spool_filename": ,
"document_filename": ,
"label":

Errori

Errore nel parsing della richiesta
400 Bad Request
{
    "status" : "ERROR_PARSING_FIELD_QUERY",
    "field_area" : ('senddata' | 'documentdata' | 'metadata'),
    "field_name" : ,
"description" : ,
"comment" : "Error parsing $FIELD_NAME: $DESCRIPTION"
}

Troppi parametri specificati

400 Bad Request
{
    "status" : "TOO_MANY_CLAUSES",
    "comment" : "Too many clauses, make a more specific query"
}

Descrizione dei campi

Campo Tipo Documento
 -Spedizione
Descrizione
upload_date Date documento Data e ora dell’upload
label String documento Label del documento
document_filename String documento Filename in caso di upload di un singolo documento
spool_filename String documento Filename in caso di upload di uno spool
document_id String documento Identificativo dello spool o del documento
reference_year String documento Anno di riferimento
status String documento status ('ARCHIVED', 'ARCHIVE_ERROR', 'DELETED')
status_detail String documento

Dettaglio dello status:  
'ARCHIVED' => ('ARCHIVED', 'CONSERVED'), 
'ARCHIVE_ERROR' => ('DUPLICATED', 'UNAUTHORIZED_USER', 'INVALID_ALIAS_OR_PIN', 'STRING_METADATA_TOO_LONG', 'INTEGER_TOO_LONG','MISSING_METADATA', 'UNKNOWN_METADATA', 'GENERIC_ERROR'), 'DELETED' => ('DELETED', 'OVERWRITTEN')

lot_code String documento Codice del lotto
media_type String Spedizione Canale (FAX, EMAIL, LETTER, EMAIL_PEC, FPA)
send_status String Spedizione Stato della spedizione ('TO_SEND', 'SENDING', 'SENT', 'TO_CHECK', 'CHECKING', 'FINISHED')
fax_number String Spedizione Numero Fax
email String Spedizione Indirizzo email
address_1 String Spedizione Indirizzo postale
address_2 String Spedizione  
address_3 String Spedizione  
address_4 String Spedizione  
address_5 String Spedizione  
zipcode String Spedizione

Cap per spedizione in Italia
“NOT_ITALY” per spedizioni all’estero (al momento non implementato)

senddata
documentata
metadata
Arrays Documento

Array coi dati della query

 

I campi data devono essere nel formato yyyy-mm-dd. Per tali campi le ricerche possibili sono 2:

  • ricerca in una data specifica: “OPERATION” deve essere “MATCH” e “value1” contiene la data da ricercare
  • ricerca in un intervallo: “OPERATION” deve essere “BETWEEN” e “value1” e “value2” i due estremi dell’intervallo di date
Le ricerche sui campi interi positivi utilizzano “value1” e “value2”, che sono decimali, e si possono avere 2 casi:
  • ricerca in un valore specifico: “OPERATION” deve essere “MATCH” e “value1” contiene il valore da ricercare
  • ricerca in un intervallo: “OPERATION” deve essere “BETWEEN” e “value1” e “value2” i due estremi dell’intervallo numerico

Le ricerche sui campi testuali utilizzano “value1” che può contenere “*” e “?” e “OPERATION” deve essere “MATCH”

 

Nel caso sia necessario ricercare una stringa precisa è necessario scriverla fra doppi apici (ricordarsi che in json i doppi apici vanno indicati come '\"')

 

Note: Il campo "correlation" viene popolato nel momento in cui viene effettuata una spedizione o nel caso di spedizioni a FPA al ricevimento della prima notifica.

Attenzione: le informazioni riportate in questa sezione possono non essere perfettamente allineate con la versione corrente del servizio, in continua evoluzione. Per qualunque informazione specifica, vi preghiamo di contattarci.