Détail d’un objet
Nous allons maintenant voir comment récupérer les informations d’un objet. Par exemple, le détail d’un collaborateur.
Requête
Le chemin d’accès à toujours la même forme :
https://{account_subdomain}.nicoka.com/api/{resource_name_in_plural}/{id_of_the_resource}
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/1/
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
Remarque
Il faut utiliser la méthode « GET ».
Réponse
- {
- "queryUid": "9edbf7bcddfbd0f0db649b6da8680d61",
- "id": "1",
- "employeeid": "1",
- "code": "",
- "status": "1",
- "todo_state": "100",
- "last_name": "LUTHOR",
- "middle_name": null,
- "first_name": "Lex",
- "keyname": null,
- "keysound": null,
- "birth_date": 1977-01-01,
- "place_of_birth": "New York",
- "country_of_birth": "us",
- "nationality": "us",
- "nationality_2": "fr",
- "civil_status": "2",
- "email": "2",
- "communication_language": "2",
- "social_networks": null,
- "social_security_nb": "XXXXXXXXXXXXXXX",
- "kn_number_year": null,
- "kn_year_from": null,
- "picture": "1ygvpwtue4cd8pb5j4t539yn0i12e59.jpg",
- "picture_location": "users",
- "creation_type": "0",
- "source": null,
- "headline": "CEO",
- "compid": "1",
- "hire_date": "2010-03-04",
- ...
- "whid": "2",
- "candidateid": null,
- "indexing_status": "1",
- "active": "1",
- "archive": null,
- "cdate": "2012-01-19 20:35:39",
- "cname": "1",
- "udate": "2018-01-19 20:35:39",
- "uname": "1",
- "version": "105",
- }
Nous retrouvons dans la réponse l’ensemble des champs auxquels l’utilisateur qui effectue la requête à accès.
Nous allons détailler les champs « commun » au objet principaux. Vous trouverez le détail complet des champs de la fiche collaborateur dans le chapitre consacré à cet objet.
Paramètres | Type | Description |
---|---|---|
ID | integer/string | Il s’agit de l’identifiant unique de l’objet. Pour les objets « maitre » cet identifiant est toujours un entier. Pour les enfants d’un objet principales, l’identifiant peut être composé de plusieurs éléments dans ce cas il s’agira d’un liste entier séparé par « : » |
label | integer/string | Libellé de l’objet |
active | boolean | Indicateur Actif ou non |
archive | integer | Niveau d’archivage |
loekz | boolean | Indicateur de suppression, si l’objet est supprimé la valeur est « 1 » |
cdate | datetime | Date de création de l’objet |
cname | integer | Identifiant de l’utilisateur qui a créé l’objet |
udate | datetime | Date de dernière mise à jour de l’objet |
uname | integer | Identifiant de l’utilisateur qui a effectué la dernière mise à jour de l’objet |
version | integer | Numéro de version de l’objet, ce chiffre est incrémenté à chaque modification de l’objet |
Paramètres de la requête
Lecture « Human Friendly »
Lorsque que vous faites une requête de détail d’un objet, on ne retrouve que les identifiants numériques des champs liés à d’autre objet ou bien à des listes de valeur. Pour afficher la valeur « textuelle » des champs en question vous devez ajouter le paramètre « __hr » (Human Readable) à votre requête :
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/1?__hr=1/
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- {
- "id": "1",
- "employeeid": "1",
- ...
- "communication_language__formated": "Français",
- "civil_status__formated": "Marié",
- "proid__formated": "Administrateur",
- "compid__formated": "Lex Corp",
- "jobtitle__formated": "Associé",
- "contract_type__formated": "Freelance",
- "departmentid__formated": "Informatique",
- "hire_date__formated": "04/03/2010",
- "status__formated": "Nouveau",
- "salary_cost__formated": "150,00",
- "global_cost__formated": "176,00",
- "whid__formated": "36",
- "gender__formated": "Homme",
- "salary_time_unit__formated": "Par mois",
- "cdate__formated": "19/01/2012",
- "cname__formated": "Lex Luthor",
- "udate__formated": "19/01/2018",
- "uname__formated": "Lex Luthor",
- }
Langue
Par défaut les libellés sont retournés par l’API dans la langue de l’utilisateur de l’API, pour modifier la langue il suffit d’ajouter le paramètre « language » à votre requête :
curl https://{account_subdomain}.nicoka.com/api/employees/1__hr=1&language=en/
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- {
- "id": "1",
- "employeeid": "1",
- ...
- "communication_language__formated": "French",
- "civil_status__formated": "Married",
- "proid__formated": "Administrator",
- "departmentid__formated": "Information System",
- "status__formated": "New",
- ...
- "gender__formated": "Male",
- "salary_time_unit__formated": "Per Month",
- ...
- }
Vous pouvez traduire Nicoka dans n’importe quelle langue, par défaut Nicoka est disponible en Anglais (« en ») et en Française (« fr »).
Détail Sous Objet
Ces objets de Nicoka se comportent comme des « objets d’entêtes » contenant des « objets enfants ». Par exemple un collaborateur peut avoir des expériences professionnelles. Dans ce cas pour accéder au détail des sous objets vous avez deux possibilités :
Accès direct à un type de sous objet :
https://{account_subdomain}.nicoka.com/api/{resource_name_in_plural}/{id_of_the_resource}/{branch_name_in_plural}
Avec {branch_name_in_plural} le nom du sous objet en minuscule et au pluriel.
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/4/experiences/
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- [
- {
- "id": "2",
- "label": "Associé",
- "expid": "2",
- "employeeid": "4",
- "candidate_expid": null,
- "type": 1,
- "start_date": "1996-10-03",
- "end_date": null,
- "compid": "1",
- "jobtitle": "12",
- "departmentid": "1",
- "divisionid": "0",
- "contract_type": "0",
- "locationid": "0",
- "currency": "EUR",
- "salary": "4800",
- "bonus": null,
- "mobility": null,
- "comment": null,
- "current": "1",
- "importance": null,
- "linkedin_reference": null,
- "company_name": "Lex Corp",
- },
- {
- "id": "14",
- "label": "Project Manager",
- "expid": "14",
- "employeeid": "4",
- "candidate_expid": null,
- "type": 2,
- "start_date": "1995-12-01",
- "end_date": "1995-12-30",
- "compid": "10",
- "jobtitle": "6",
- "departmentid": "0",
- "divisionid": "0",
- "contract_type": "0",
- "locationid": null,
- "currency": null",
- "salary": null,
- "bonus": null,
- "mobility": null,
- "comment": "",
- "current": "0",
- "importance": null,
- "linkedin_reference": null,
- "company_name": "Lexx",
- }
- ],
Objet parent avec ses sous objets
Si vous souhaitez récupérer le détail des sous objets directement au niveau de l’objet principal sans avoir à faire des requêtes distinctes vous devez utiliser le paramètre « __branches » comme dans l’exemple ci-après :
https://{account_subdomain}.nicoka.com/api/{resource_name_in_plural}/{id_of_the_resource }/?__branches={branch1_name_in_plural},{branch2_name_in_plural},{branch3_name_in_plural}
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/1/?__branches=skills,languages
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- {
- "id": "1",
- "label": "Lex Luthor",
- "employeeid": "1",
- ...
- "skills": [
- {
- "id": "1:1",
- "label": "MySql",
- "employeeid": "1",
- "skillid": "1",
- "level": "2",
- "skill_label": "MySql",
- },
- {
- "id": "1:2",
- "label": "Php",
- "employeeid": "1",
- "skillid": "2",
- "level": "4",
- "skill_label": "Php",
- }],
- "languages": [
- {
- "id": "1:en",
- "label": "English",
- "employeeid": "1",
- "code": "en",
- "level": "4",
- },
- {
- "id": "1:es",
- "label": "Spanish",
- "employeeid": "1",
- "code": "es",
- "level": "3",
- }
- ]
- }
Liste avec les objets et les sous objets
Si vous souhaitez récupérer le détail des sous objets directement au niveau de la liste des objets principal sans avoir à faire des requêtes distinctes vous devez utiliser le paramètre « $expand » comme dans l’exemple ci-après :
https://{account_subdomain}.nicoka.com/api/{resource_name_in_plural}/?$expand={branch1_name_in_plural},{branch2_name_in_plural},{branch3_name_in_plural}
Exemple :
https://{account_subdomain}.nicoka.com/api/{resource_name_in_plural}/{id_of_the_resource}
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/?$expand=skills,languages
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- [
- {
- "id": "2",
- "label": "Associé",
- "expid": "2",
- "employeeid": "4",
- "candidate_expid": null,
- "type": 1,
- "start_date": "1996-10-03",
- "end_date": null,
- "compid": "1",
- "jobtitle": "12",
- "departmentid": "1",
- "divisionid": "0",
- "contract_type": "0",
- "locationid": "0",
- "currency": "EUR",
- "salary": "4800",
- "bonus": null,
- "mobility": null,
- "comment": null,
- "current": "1",
- "importance": null,
- "linkedin_reference": null,
- "company_name": "Lex Corp",
- },
- {
- "id": "14",
- "label": "Project Manager",
- "expid": "14",
- "employeeid": "4",
- "candidate_expid": null,
- "type": 2,
- "start_date": "1995-12-01",
- "end_date": "1995-12-30",
- "compid": "10",
- "jobtitle": "6",
- "departmentid": "0",
- "divisionid": "0",
- "contract_type": "0",
- "locationid": null,
- "currency": null",
- "salary": null,
- "bonus": null,
- "mobility": null,
- "comment": "",
- "current": "0",
- "importance": null,
- "linkedin_reference": null,
- "company_name": "Lexx",
- }
- ],
Objet parent avec ses sous objets
Si vous souhaitez récupérer le détail des sous objets directement au niveau de l’objet principal sans avoir à faire des requêtes distinctes vous devez utiliser le paramètre « __branches » comme dans l’exemple ci-après :
https://{account_subdomain}.nicoka.com/api/{resource_name_in_plural}/{id_of_the_resource }/?__branches={branch1_name_in_plural},{branch2_name_in_plural},{branch3_name_in_plural}
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/1/?__branches=skills,languages
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- {
- "queryUid": "9edbf7bcddfbd0f0db649b6da8680d61",
- "offset": 10,
- "limit": 10,
- "page": 2,
- "pages": 3,
- "total": 25,
- "data": [{
- "id": "1",
- "label": "Lex Luthor",
- "employeeid": "1",
- ...
- "skills":[
- "id": "1:1",
- "label": "MySql",
- "employeeid": "1",
- "skillid": "1",
- "level": "2",
- "skill_label": "MySql",
- },
- {
- "id": "1:2",
- "label": "Php",
- "employeeid": "1",
- "skillid": "2",
- "level": "4",
- "skill_label": "Php",
- }],
- "languages": [
- {
- "id": "1:en",
- "label": "English",
- "employeeid": "1",
- "code": "en",
- "level": "4",
- }
- ...
- }]
- }
Liste avec les sous objets uniquement
Si vous souhaitez récupérer la liste des sous objets uniquement vous devez utiliser la requête suivante comme dans l’exemple ci-après :
https://{account_subdomain}.nicoka.com/api/employees/skills/
Exemple :
curl https://{account_subdomain}.nicoka.com/api/employees/1/
-H "Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNTQ4MTAyNTExfQ.a96HA5xozI_6TE65ybC5RsXdOfSuHd4Wbmhswb-V1nw"
- {
- "queryUid": "9edbf7bcddfbd0f0db649b6da8680d61",
- "offset": 10,
- "limit": 10,
- "page": 2,
- "pages": 3,
- "total": 25,
- "data": [{
"employeeid": "1","skillid": "1","level": "3"},{"employeeid": "1","skillid": "2","level": "3"}...]
- "data": [{
- }