API-ul iHRM oferă acces programatic la toate funcționalitățile platformei noastre de resurse umane prin intermediul interogărilor și mutațiilor GraphQL.
https://aplicatia.ihrm.ro/eAPI/
Toate cererile către API trebuie să fie trimise la URL-ul de bază de mai sus, urmat de interogarea sau mutația GraphQL dorită.
Un API (Application Programming Interface) este un set de reguli și definiții care permit aplicațiilor să comunice între ele. API-urile sunt utilizate pentru a permite diferitelor componente software să interacționeze și să partajeze date.
Cu API-ul iHRM, poți accesa și gestiona datele din platforma noastră de resurse umane. Poți efectua operațiuni precum:
Pentru a utiliza API-ul, trebuie să includeți un token de autentificare în header-ul fiecărei cereri.
API-ul iHRM folosește autentificarea prin token-uri Bearer. Pentru a obține un token, trebuie să folosiți mutația login.
Authorization: Bearer TOKEN
Pentru a obține un token de autentificare, trebuie să trimiteți o cerere de autentificare folosind următoarea mutație GraphQL:
mutation {
login(login: "api@ihrm.ro", password: "oparolagrea123") {
access_token
user {
id
name
email
}
}
}
Înlocuiți "api@ihrm.ro" și "oparolagrea123" cu datele de autentificare corecte. Puteți să folosiți și datele anterioare pentru a testa API-ul.
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{login(login:"api@ihrm.ro",password:"oparolagrea123"){access_token user{id name email}}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { login(login: \"api@ihrm.ro\", password: \"oparolagrea123\") { access_token user { id name email } } }"
}
După ce ați obținut token-ul de autentificare, includeți-l în header-ul fiecărei cereri pentru a accesa resursele protejate ale API-ului.
Pentru a vă deconecta, puteți folosi mutația logout (necesită autentificare).
Notă: Unele interogări necesită ca utilizatorul să aibă acces special în sistem.
Folosind interogările, puteți obține date despre:
me: Informații despre utilizatorul autentificat (necesită autentificare). user(id: ID!): Informații despre un utilizator specific, identificat prin ID. users: O listă paginată cu toți utilizatorii. companies(id: ID): Informații despre o companie specifică, identificată prin ID. companiesList: O listă paginată cu toate companiile. session(id: ID!): Informații despre o sesiune specifică, identificată prin ID. sessions(company_id: ID!): O listă paginată cu toate sesiunile pentru o anumită companie. module(id: ID!): Informații despre un modul specific, identificat prin ID. modules(company_id: ID!): O listă paginată cu toate modulele pentru o anumită companie. questionSet(id: ID!): Informații despre un set de întrebări specific, identificat prin ID. questionSets(module_id: ID!): O listă paginată cu toate seturile de întrebări pentru un anumit modul. Exemplu de interogare pentru a obține informații despre utilizatorul curent (necesită autentificare):
query {
me {
id
name
email
username
}
}
URL-ul complet pentru această interogare este:
https://v2.ihrm.ro/eAPI?query=query{me{id name email username}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "query { me { id name email username } }"
}
Exemplu de interogare pentru a obține informații despre o companie specifică:
query {
companies(id: 1) {
id
name
email
website
phone
}
}
URL-ul complet pentru această interogare este:
https://v2.ihrm.ro/eAPI?query=query{company(id:1){id name email website phone}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "query { company(id: 1) { id name email website phone } }"
}
Exemplu de interogare pentru a obține informații despre o sesiune specifică:
query {
session(id: 1) {
id
name
start_date
end_date
status
}
}
URL-ul complet pentru această interogare este:
https://v2.ihrm.ro/eAPI?query=query{session(id:1){id name start_date end_date status}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "query { session(id: 1) { id name start_date end_date status } }"
}
Notă: Unele mutații necesită ca utilizatorul să aibă acces special în sistem.
Folosind mutațiile, puteți modifica datele, precum:
createUser(input: CreateUserInput!): Creează un utilizator nou.updateUser(id: ID!, input: UpdateUserInput!): Actualizează un utilizator existent.createCompany(input: CreateCompanyInput!): Creează o companie nouă.updateCompany(id: ID!, input: UpdateCompanyInput!): Actualizează o companie existentă.createSession(input: CreateSessionInput!): Creează o sesiune nouă.updateSession(id: ID!, input: UpdateSessionInput!): Actualizează o sesiune existentă.Exemplu de mutație pentru a crea un utilizator nou:
mutation {
createUser(input: {
name: "Nume Utilizator"
prenume: "Prenume Utilizator"
email: "email@example.com"
username: "username"
password: "parola"
}) {
id
name
email
}
}
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{createUser(input:{name:%22Nume%20Utilizator%22,prenume:%22Prenume%20Utilizator%22,email:%22email@example.com%22,username:%22username%22,password:%22parola%22}){id name email}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { createUser(input: { name: \"Nume Utilizator\" prenume: \"Prenume Utilizator\" email: \"email@example.com\" username: \"username\" password: \"parola\" }) { id name email } }"
}
Acest endpoint actualizează datele unui utilizator existent specificat prin ID.
mutation {
updateUser(id: 1, input: {
name: "Nume Nou"
email: "emailnou@example.com"
}) {
id
name
email
}
}
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{updateUser(id:1,input:{name:%22Nume%20Nou%22,email:%22emailnou@example.com%22}){id name email}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { updateUser(id: 1, input: { name: \"Nume Nou\" email: \"emailnou@example.com\" }) { id name email } }"
}
Acest endpoint creează o nouă companie cu datele specificate.
mutation {
createCompany(input: {
name: "Compania Nouă"
email: "contact@compania.com"
website: "https://compania.com"
phone: "123-456-7890"
}) {
id
name
email
}
}
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{createCompany(input:{name:%22Compania%20Nouă%22,email:%22contact@compania.com%22,website:%22https://compania.com%22,phone:%22123-456-7890%22}){id name email}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { createCompany(input: { name: \"Compania Nouă\" email: \"contact@compania.com\" website: \"https://compania.com\" phone: \"123-456-7890\" }) { id name email } }"
}
Acest endpoint actualizează datele unei companii existente specificate prin ID.
mutation {
updateCompany(id: 1, input: {
name: "Compania Actualizată"
email: "contactnou@compania.com"
}) {
id
name
email
}
}
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{updateCompany(id:1,input:{name:%22Compania%20Actualizată%22,email:%22contactnou@compania.com%22}){id name email}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { updateCompany(id: 1, input: { name: \"Compania Actualizată\" email: \"contactnou@compania.com\" }) { id name email } }"
}
Acest endpoint creează o nouă sesiune cu datele specificate.
mutation {
createSession(input: {
name: "Sesiunea Nouă"
start_date: "2025-02-24T09:00:00"
end_date: "2025-02-24T17:00:00"
module_id: 1
company_id: 1
question_set_ids: [1, 2, 3]
}) {
id
name
start_date
end_date
}
}
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{createSession(input:{name:%22Sesiunea%20Nouă%22,start_date:%222025-02-24%2009:00:00%22,end_date:%222025-02-24%2017:00:00%22,module_id:1,company_id:1,question_set_ids:[1,2,3]}){id name start_date end_date}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { createSession(input: { name: \"Sesiunea Nouă\" start_date: \"2025-02-24 09:00:00\" end_date: \"2025-02-24 17:00:00\" module_id: 1 company_id: 1 question_set_ids: [1, 2, 3] }) { id name start_date end_date } }"
}
Acest endpoint actualizează datele unei sesiuni existente specificate prin ID.
mutation {
updateSession(id: 1, input: {
name: "Sesiunea Actualizată"
start_date: "2025-02-25 09:00:00"
end_date: "2025-02-25 17:00:00"
status: 1
}) {
id
name
start_date
end_date
status
}
}
URL-ul complet pentru această mutație este:
https://v2.ihrm.ro/eAPI?query=mutation{updateSession(id:1,input:{name:%22Sesiunea%20Actualizată%22,start_date:%222025-02-25%2009:00:00%22,end_date:%222025-02-25%2017:00:00%22,status:1}){id name start_date end_date status}}
Pentru a folosi ReqBin, introduceți următorul JSON:
{
"query": "mutation { updateSession(id: 1, input: { name: \"Sesiunea Actualizată\" start_date: \"2025-02-25 09:00:00\" end_date: \"2025-02-25 17:00:00\" status: 1 }) { id name start_date end_date status } }"
}
Aici puteți găsi toate modificările și actualizările aduse API-ului iHRM.