REST - Esempio chiamata di lettura con filtro
SeguiCome visto nell'esempio precedente possiamo facilmente ottenere in formato JSON un elenco contenente tutti i dati restituiti da una vista. In un contesto semplice, in cui non ci sono molti dati e hai bisogno di filtrarli, puoi farlo direttamente lato applicazione client. Se invece la mole di dati è consistente e vuoi sfruttare la capacità di query di Altamira HRM, allora puoi associare alla vista un filtro incorporato.
Una volta associato un filtro incorporato puoi usarlo nella tua chiamata usando il parametro filters. filters supporta un linguaggio di query semplificato che puoi usare per fare query che verranno eseguite lato server prima di restituire i risultati.
Continuando con l'esempio precedente:
- Aggiungi alla vista un filtro incorporato
- Aggiungi il campo Annunci\Dati di base\Titolo che ha il tag name Jobs.Title
REST v3 - Lettura con filtro
Ora è possibile usare il campo per filtrare i risultati:
Prametro |
Nome |
Descrizione |
Tipo |
header |
Token (obbligatorio) |
Token generato precedentemente da AltamiraHRM |
string |
header |
environment |
Restituisce i dati nel formato corrispondente a quello ricevuto.
Valori disponibili : Frontend, Mobile, Api
Valore predefinito : Api |
string |
querystring |
filters |
Filtri da applicare ai dati della view. |
string |
querystring |
structure |
Visualizza la proprietà 'view' nel Json restituito Valore predefinito: false |
boolean |
querystring |
RowNumber |
Paginazione: numero di righe per pagina |
int |
querystring |
PageNumber |
Paginazione: numero di pagina |
int |
Il parametro Token deve essere inviato come header.
Il parametro filters va invece utilizzato come parametro nella url e dovrà avere la struttura di un oggetto JSON come quello di seguito:
{
"filters": [
{
"tagname" : "Jobs_Title",
"comparator": "Contains",
"value": "Director"
}
]
}
Invocando la seguente url:
otterrai:
{
"count": "1",
"data": [
{
"Jobs_StatusID": id_value,
"id": id_value,
"Jobs_FullName": "002 - International Sales Director",
"Jobs_StatusName": "Published",
"Jobs_DatePublished": "2024-05-17T17:02:00Z",
"Jobs_DateToUnpublish": null,
"Jobs_ReceptionType": "Back office",
"status": {
"statusID": id_value,
"statusName": "Published",
"statusType": id_value
}
}
],
"result": [
{
"status": "Extracted",
"statusMessage": "",
"details": []
}
]
}
Trovi un elenco completo degli operatori logici e di confronto qui.
Tieni presente le seguenti raccomandazioni quando costruisci le query:
- Se il campo non è stato aggiunto nel filtro dalla GUI di Altamira HRM, non potrà essere utilizzato nell'API. L'API darà un messaggio di errore indicando che non è stato possibile trovare il TagName nel filtro. Vedi la gestione del filtro incorporato
- Ogni campo supporta solo alcuni operatori specifici. Se usi un operatore che il campo non supporta l'API restituirà un messaggio di errore indicando quali operatori sono supportati
- Per i campi di tipo lista dovrai usare l'attributo DisplayNamePath come filtro. I testi di display name path sono tradotti, quindi assicurati di usare la stessa lingua nella richiesta degli elementi della lista che poi userai nella chiamata alla risorsa
REST v2 - Lettura con filtro
Ora è possibile usare il campo per filtrare i risultati:
Prametro |
Nome |
Descrizione |
Tipo |
header |
Token (obbligatorio) |
Token generato precedentemente da AltamiraHRM |
string |
parameter |
filters |
Filtro con struttura json |
string |
Il parametro Token deve essere inviato come header.
Il parametro filters va invece utilizzato come parametro nella url e dovrà avere la struttura di un oggetto JSON come quello di seguito:
{
"filters": [
{
"tagname" : "Jobs_Title",
"comparator": "BeginWith",
"value": "Senior"
}
]
}
Invocando la seguente url:
- https://platform.altamirahrm.com/api/v1/altamira/REST/Jobs.List.API?filters={"filters": [ { "tagname" : "Jobs_Title", "comparator": 'BeginWith', "value": "Senior" }]}
otterrai:
{
"Jobs.List.API": [
{
"Jobs.FullName": "XYZ Inc - 0003 - Senior software developer",
"Jobs.State": "/Attualmente pubblicato/",
"Jobs.DatePublished": "2019-08-17T16:53:24.590Z",
"Jobs.DateToUnpublish": "0001-01-01T00:00:00.000Z",
"Jobs.ReceptionType": "/Back office/"
}
]
}
Puoi anche scrivere espressioni più complesse come per esempio: Filtri OR
{
"filters":[
{
"tagname" : "group",
"comparator" : "OR",
"value" : {
"filters": [
{
"tagname" : "CV.Surname",
"value": "th",
"comparator": "Equal|Contains|GreaterThanOrEqual|LessThanOrEqual"
},
{
"tagname" : "CV.Surname",
"value": "ma",
"comparator": "Equal| Contains|GreaterThanOrEqual|LessThanOrEqual"
}
]
}
},
{
"tagname" : "CV.Age",
"value": "61",
"comparator": "LessThanOrEqual"
}
]
}
Trovi un elenco completo degli operatori logici e di confronto qui.
Tieni presente le seguenti raccomandazioni quando costruisci le query:
- Se il campo non è stato aggiunto nel filtro dalla GUI di Altamira HRM, non potrà essere utilizzato nell'API. L'API darà un messaggio di errore indicando che non è stato possibile trovare il TagName nel filtro. Vedi la gestione del filtro incorporato
- Ogni campo supporta solo alcuni operatori specifici. Se usi un operatore che il campo non supporta l'API restituirà un messaggio di errore indicando quali operatori sono supportati
- Per i campi di tipo lista dovrai usare l'attributo DisplayNamePath come filtro. I testi di display name path sono tradotti, quindi assicurati di usare la stessa lingua nella richiesta degli elementi della lista che poi userai nella chiamata alla risorsa
REST v1 - Lettura con filtro
Ora è possibile usare il campo per filtrare i risultati:
- https://platform.altamirahrm.com/api/v1/altamira/REST/Jobs.List.API?ApiKey=0123456789012345&Filter=Jobs.Title BeginWith "Senior"
Che restituirà:
{
"Jobs.List.API": [
{
"Jobs.FullName": "XYZ Inc - 0003 - Senior software developer",
"Jobs.State": "/Attualmente pubblicato/",
"Jobs.DatePublished": "2019-08-17T16:53:24.590Z",
"Jobs.DateToUnpublish": "0001-01-01T00:00:00.000Z",
"Jobs.ReceptionType": "/Back office/"
}
]
}
Puoi anche scrivere espressioni più complesse come per esempio:
CV.Age GreaterThanOrEqual "50"
AND (CV.Surname Contains "th" OR CV.Surname Contains "ma")
AND CV.Age LessThanOrEqual "61"
Trovi un elenco completo degli operatori logici e di confronto qui.
Tieni presente le seguenti raccomandazioni quando costruisci le query:
- Se il campo non è stato aggiunto nel filtro dalla GUI di Altamira HRM, non potrà essere utilizzato nell'API. L'API darà un messaggio di errore indicando che non è stato possibile trovare il TagName nel filtro. Vedi la gestione del filtro incorporato
- Ogni campo supporta solo alcuni operatori specifici. Se usi un operatore che il campo non supporta l'API restituirà un messaggio di errore indicando quali operatori sono supportati
- Per i campi di tipo lista dovrai usare l'attributo DisplayNamePath come filtro. I testi di display name path sono tradotti, quindi assicurati di usare la stessa lingua nella richiesta degli elementi della lista che poi userai nella chiamata alla risorsa
Commenti
0 commenti
Accedi per aggiungere un commento.