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"





Réponse



  1. {


    • "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",


  2. }



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"




  1. {


    • "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",


  2. }



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"




  1. {


    • "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",



    • ...


  2. }



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"




  1. [


    • {




      • "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",




    • }


  2. ],



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"




  1. {


    • "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",






      • }




    • ]


  2. }



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"




  1. [


    • {




      • "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",




    • }


  2. ],



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"




  1. {


    • "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",






      • }





      • ...




    • }]


  2. }



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"




  1. {


    • "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"}...]


  2. }

 Sommaire