The iQuesta API allows to publish and view offers on iquesta.com. The API follows the REST architecture. This architecture uses the various HTTP protocol methods to interact with resources.

  • POST : to create a new resource;
  • GET : to retrieve information about resource;
  • PUT : to update a resource;
  • DELETE : to delete a resource.

Request structure

Request URL is decomposed into segments separated by slashes.

<Root URL>/<ID>/<Hashed string>/<Other segments>.<format>
  • Root URL: https://api.iquesta.com;
  • Pair username / hashed text. This couple is divided into two distinct segments;
  • Resource Name;
  • Other segments;
  • Return format: This part of the URL is optional ;

Authentication

Authentication is made with two components: the user ID and hashed string that is used as a key.

ID

The ID is provided by iQuesta. It allows the API to know who is making the request. If a wrong ID is provided in the URL, a response code 401 is returned.

Access : To get access to iQuesta API, please contact us.

Note : By default, all IDs are in “test mode”. All POST and DELETE requests will have no effect on database. This mode allows you to test the API.

hashed string

iQuesta provides a unique hash key. This key must be kept secret. For each request to the API, Each request to the API, a part of the URL has to be hashed with the private key. The resulting hashed string is placed into the second segment of the URL (after ID segment).

Chain to be hashed is the URL from the name of the resource. On the following examples, you can see which part of the URL has to be hashed. :

  • https://api.iquesta.com/<ID>/<KEY>/offer/123456.json
  • https://api.iquesta.com/<ID>/<KEY>/offer/123456.xml/
  • https://api.iquesta.com/<ID>/<KEY>/offer/123456

Note : we also hash the slash just before the name of the resource.

The following examples are incorrect: :

  • https://api.iquesta.com/<ID>/<KEY>//offer/123456.json
  • https://api.iquesta.com/<ID>/<KEY>/offer//123456

The algorithm used is SHA-256 with the secret key hash. If you use PHP to call the API, you can use the hash_hmac

Return format

You can choose the format of the answer to a query. Just add the name preceded by a dot “.”, in the manner of a file extension.

Currently supported formats are XML (.xml) and JSON (.json). The default format is JSON.

Offer

Get

DESCRIPTION
Allows you to retrieve information about one or more offers, according to the provided parameters.
URL STRUCTURE
https://api.iquesta.com/<ID>/<KEY>/offer/<OFFER_ID>
https://api.iquesta.com/<ID>/<KEY>/offer/reference/<REFERENCE>
METHOD
GET
RETURNS
A JSON object
{
  "responseStatus": 200,
  "message": "OK",
  "content": {
    "address": "2 rue du Docteur Leroy",
    "applicationURL": "http://www.iquesta.com/application/offer/251058",
    "city": "Le Mans",
    "companyId": "3443",
    "companyName": "iQuesta.com",
    "compensation": "à définir",
    "contact": "Julien Menut",
    "contactPhone": null,
    "contract": {
      "name": "Stage",
      "id": "1"
    },
    "country": {
      "name": "Géorgie",
      "id": "95"
    },
    "dateBeginMax": "2017/03/01",
    "dateBeginMin": "2017/03/27",
    "departmentId": null,
    "description": "Existant depuis 1999 et N°1 à très forte croissance de la vente sur internet de  ...",
    "durationMax": "4",
    "durationMin": "4",
    "expirationDate": "2017-05-13",
    "foreignCity": "test",
    "id": "251058",
    "isExternalApplication": "0",
    "isPremium": "0",
    "level": {
      "name": "BAC+1",
      "id": "1"
    },
    "place": null,
    "reference": "251058",
    "region": {
      "name": null,
      "id": null
    },
    "status": 1,
    "subject": {
      "name": "Achat",
      "id": "1"
    },
    "submissionDate": "2017-03-13 00:00:00",
    "title": "sdsqd",
    "validationDate": null,
    "zipCode": "72000"
  }
}
NOTES
Warning : reference of an offer must be encoded using the PHP function urlencode.

Add

DESCRIPTION
Add an offer.
URL STRUCTURE
https://api.iquesta.com/<ID>/<KEY>/offer
METHOD
POST
PARAMETERS
Field Required Type Description
applicationEmail yes string Application email.
applicationURL no string Link on the application page if the application is made outside site.
companyId yes | no int Offer company ID. This ID is provided by iQuesta. If not provided, contactEmail become required.
contractId yes int Contract ID.
countryId yes int Country ID.
dateBeginMax yes date (yyyy-mm-dd) Begin date at the latest. It must be in yyyy-mm-dd format.
dateBeginMin yes date (yyyy-mm-dd) Begin date of the offer. It must be in yyyy-mm-dd format (American format).
description yes string Offer description.
regionId yes int Region ID. If countryId is equal 1 (France), this field must be equal to 0.
subjectId yes int Subject ID.
address no string Offer address.
city no string City of the work place.
companyName yes | no string Company name, become required if companyId is not provided
compensation no string Compensation
contact no string Contact first name and last name
contactPhone no string Contact phone
contactEmail yes | no string Contact email, become required if companyId is not provided
reference yes string Offer reference.
title yes string Offer title.
durationMin yes | no int Minimum duration. If the offer is a permanent contract, this field must be equal to 0.
durationMax no int Maximum duration
durationType no int Only for missions. Duration format. Possible values: 1 => Hours ; 2 => Days ; 3 => Weeks ; 4 => Months
isPremium no int Set to 1 if job posting is paid on broadcaster website
studyLevels no array Study level of the wanted applicant.
zipCode no string Zip code of the work place.
RETURNS
A JSON object
{
    "responseStatus": 200,
    "message": "OK",
    "content": {
        "offerId": "254431",
        "companyId": "73452"
    }
}

Delete

DESCRIPTION
Allows you to expire an offer. You can only expire offers you filed.
URL STRUCTURE
https://api.iquesta.com/<ID>/<KEY>/offer/<OFFER_ID>
https://api.iquesta.com/<ID>/<KEY>/offer/reference/<REFERENCE>
METHOD
DELETE
RETURN
A JSON object
{
  "responseStatus": 200,
  "message": "OK",
  "content": "Offer 254435 has been deleted"
}
NOTES
Warning : reference of an offer must be encoded using the PHP function urlencode.
DESCRIPTION
Allows you to perform a search.
URL STRUCTURE
https://api.iquesta.com/<ID>/<KEY>/offer/search/?param1=value1&param2=value2&...
METHOD
GET
PARAMETERS
Field Type Description
contract int Contract ID.
subject int Subject ID.
begin int Begin month.
duration int Minimum duration.
region int Region ID.
itemsPerPage int Number of offers per page.
page int Number of pages.
RETURN
A JSON object
{
    "responseStatus": 200,
    "count": "6",
    "rows": [
        {
            id: 163720
            address: "2 rue du Docteur Leroy"
            applicationEmail: "application@iquesta.com"
            applicationUrl: http://www.iquesta.fr
            charterType: "0"
            chosenSchoolList: null
            city: "Le Mans"
            companyDescription: "Nos atouts sont la richesse et la qualité de notre offre, la qualité de notre contenu éditorial interactif, ..."
            companyId: "31739"
            companyGroupId: "31958"
            companyName: "iQuesta"
            compensation: "à définir"
            contact: "Xavier Barbez"
            contactPhone: "01 42 64 01 42"
            departmentId: null
            offerDescription: "Existant depuis 1999 et N°1 à très forte croissance de la vente sur internet de  ..."
            dateBeginMax: "2014-07-01 00:00:00"
            dateBeginMin: "2014-07-15 00:00:00"
            durationMin: "1"
            durationMax: "1"
            expirationDate: "2014-12-22 00:00:00"
            foreignCity: ""
            handiClickCount: "0"
            hasLogo: true
            hidesPhone: true
            iqClickCount: "10009"
            isCopy: "0"
            isExternalApplication: "1"
            isSentToSchools: "1"
            studyLevels: "100"
            maxBeginMonth: "10"
            minBeginMonth: "11"
            parentOfferId: "0"
            partnerId: "1"
            place: ""
            ponctuelle: ""
            reference: "IQ_Animaute"
            siteType: "1"
            source: "0"
            status: 1
            submissionDate: "2014-06-20 10:06:24"
            subscriptionId: 0
            title: "Assistant Chef de Produit E-commerce H/F"
            validationDate: "2014-06-20 10:25:04"
            zipCode: "72000"
            maxBeginDate: "2014-07-01 00:00:00"
            minBeginDate: "2014-07-15 00:00:00"
            contract: {
                id: 1
                categoryId: "1"
                name: "Stage"
            }
            country: {
                id: 1
                name: "France"
            }
            discipline: {
                id: 1
                name: "Achat"
            }
            region: {
                id: 13
                name: "Ile de France"
            }
            subject: {
                id: 1
                name: "Achat"
                disciplineId: "1"
            }
        },
        {
            id: 163721
            address: "2 rue du Docteur Leroy"
            applicationEmail: "application@iquesta.com"
            applicationUrl: http://www.iquesta.fr
            charterType: "0"
            chosenSchoolList: null
            city: "Le Mans"
            companyDescription: "Nos atouts sont la richesse et la qualité de notre offre, la qualité de notre contenu éditorial interactif, ..."
            companyId: "31739"
            companyGroupId: "31958"
            companyName: "iQuesta"
            compensation: "à définir"
            contact: "Xavier Barbez"
            contactPhone: "01 42 64 01 42"
            departmentId: null
            offerDescription: "Existant depuis 1999 et N°1 à très forte croissance de la vente sur internet de  ..."
            dateBeginMax: "2014-07-01 00:00:00"
            dateBeginMin: "2014-07-15 00:00:00"
            durationMin: "1"
            durationMax: "1"
            expirationDate: "2014-12-22 00:00:00"
            foreignCity: ""
            handiClickCount: "0"
            hasLogo: true
            hidesPhone: true
            iqClickCount: "10009"
            isCopy: "0"
            isExternalApplication: "1"
            isSentToSchools: "1"
            studyLevels: "100"
            maxBeginMonth: "10"
            minBeginMonth: "11"
            parentOfferId: "0"
            partnerId: "1"
            place: ""
            ponctuelle: ""
            reference: "IQ_Animaute"
            siteType: "1"
            source: "0"
            status: 1
            submissionDate: "2014-06-20 10:06:24"
            subscriptionId: 0
            title: "Assistant Chef de Produit E-commerce H/F"
            validationDate: "2014-06-20 10:25:04"
            zipCode: "72000"
            maxBeginDate: "2014-07-01 00:00:00"
            minBeginDate: "2014-07-15 00:00:00"
            contract: {
                id: 1
                categoryId: "1"
                name: "Stage"
            }
            country: {
                id: 1
                name: "France"
            }
            discipline: {
                id: 1
                name: "Achat"
            }
            region: {
                id: 13
                name: "Ile de France"
            }
            subject: {
                id: 1
                name: "Achat"
                disciplineId: "1"
            }
        },
        ...
    ]
}
NOTES
It is possible to execute a multi-query on the same parameter, just add [ ] with each repetition of the parameter.
the count field indicates the total number of query results, regardless of the settings itemsPerPage and page.

Company

Stock

DESCRIPTION
Get the available credit for a customer
URL STRUCTURE
https://api.iquesta.com/<ID>/<KEY>/company/stock/<COMPANY_ID>
METHOD
GET
RETURNS
JSON object
Example 1
{
    "responseStatus": 200,
    "message": "OK",
    "content": {
        "credit": "unlimited"
    }
}
Example 2
{
    "responseStatus": 200,
    "message": "OK",
    "content": {
        "credit": "10"
    }
}

Data dictionary

Contract

ID Name
1 Stage
2 Contrat en alternance
3 VIE
4 CDD
6 CDI
8 Job à temps partiel
9 Job à temps plein
10 Mission ponctuelle

Country

ID Name
1 France
4 Allemagne
5 Autriche
2 Belgique
6 Chypre
7 Danemark
8 Espagne
9 Finlande
10 Grèce
11 Irlande
12 Italie
13 Lettonie
14 Lituanie
3 Luxembourg
15 Malte
16 Norvège
17 Pays-Bas
18 Pologne
19 Portugal
20 République Tchèque
21 Royaume-Uni
22 Slovaquie
23 Slovénie
24 Afghanistan
25 Afrique du Sud
26 Albanie
27 Algérie
28 Andorre
29 Angola
30 Anguilla
32 Antigua-et-Barbuda
33 Antilles néerlandaises
34 Arabie Saoudite
35 Argentine
36 Arménie
37 Aruba
38 Australie
39 Autorité Palestinienne
40 Azerbaïdjan
41 Bahamas
42 Bahreïn
43 Bangladesh
44 Barbade
45 Belize
46 Bénin
47 Bermudes
48 Bhoutan
49 Biélorussie
50 Bolivie
51 Bosnie-Herzégovine
52 Botswana
54 Brésil
55 Brunei
56 Bulgarie
57 Burkina Faso
58 Burundi
59 Caïmans (îles)
60 Cambodge
61 Cameroun
62 Canada
64 Chili
65 Chine
69 Colombie
70 Comores
71 Congo
72 Congo (RDC)
73 Cook (îles)
74 Corée
75 Corée du Nord
76 Costa Rica
77 Côte D'Ivoire
78 Croatie (Hrvatska)
79 Cuba
81 Djibouti
82 Dominique
83 Égypte
84 Émirats arabes unis
85 Équateur
86 Érythrée
87 Estonie
88 États-Unis
89 Éthiopie
91 Féroé (îles)
92 Fidji (îles)
93 Gabon
94 Gambie
95 Géorgie
97 Ghana
98 Gibraltar
99 Grenade
100 Groenland
101 Guadeloupe
102 Guam
103 Guatemala
104 Guernsey
105 Guinée
106 Guinée équatoriale
107 Guinée-Bissau
108 Guyane
109 Guyane française
110 Haïti
112 Honduras
113 Hongrie
115 Île de Man
116 Inde
117 Indonésie
118 Irak
119 Iran
120 Islande
121 Israël
122 Jamaïque
123 Japon
124 Jersey
125 Jordanie
126 Kazakhstan
127 Kenya
128 Kirghizistan
129 Kiribati
130 Koweït
131 La Réunion
132 Laos
133 Lesotho
134 Liban
135 Libéria
136 Libye
137 Liechtenstein
138 Madagascar
139 Malaisie
140 Malawi
141 Maldives
142 Mali
143 Malouines (îles)
145 Maroc
146 Marshall (îles)
147 Martinique
148 Maurice
149 Mauritanie
150 Mayotte
151 Mexique
152 Micronésie
153 Moldavie
154 Monaco
155 Mongolie
156 Montserrat
157 Mozambique
158 Myanmar
159 Namibie
160 Nauru
161 Népal
162 Nicaragua
163 Niger
164 Nigéria
165 Niue
167 Nouvelle-Calédonie
168 Nouvelle-Zélande
169 Oman
170 Ouganda
171 Ouzbékistan
172 Pakistan
173 Palau
174 Panama
175 Papouasie-Nouvelle-Guinée
176 Paraguay
177 Pérou
178 Philippines
180 Polynésie française
181 Porto Rico
182 Qatar
183 Hong Kong
184 Macao
185 République centrafricaine
186 République dominicaine
187 Roumanie
188 Russie
189 Rwanda
193 Saint-Marin
196 Salomon (îles)
197 Salvador
198 Samoa
201 Sénégal
202 Seychelles
203 Sierra Leone
204 Singapour
205 Somalie
206 Soudan
207 Sri Lanka
208 Suède
209 Suisse
210 Surinam
212 Swaziland
213 Syrie
214 Tadjikistan
215 Taïwan
216 Tanzanie
217 Tchad
219 Territoires britanniques de l'Océan Indien
220 Thaïlande
222 Togo
223 Tokelau
224 Tonga
227 Tunisie
228 Turkménistan
230 Turquie
231 Tuvalu
232 Ukraine
233 Uruguay
234 Vanuatu
235 Venezuela
238 Vietnam
240 Yémen
241 Serbie
242 Zambie
243 Zimbabwe

Level

ID Name
100 Indifférent
12 Sans qualification
11 CAP
10 Lycée
0 BAC
1 BAC+1
2 BAC+2
3 BAC+3
4 BAC+4
5 BAC+5
6 BAC>5

Region

ID Name
3 Auvergne et Rhône-Alpes
5 Bourgogne-Franche-Comté
6 Bretagne
7 Centre - Val de Loire
8 Corse
9 DROM-COM
1 Grand Est
12 Hauts-de-France
10 Ile de France
4 Normandie
2 Nouvelle Aquitaine
11 Occitanie
13 Pays de la Loire
14 Provence-Alpes-Côte-d'Azur

Subject

ID Name
1 Achat
2 Logistique / Supply Chain
3 Commerce / Distribution / Vente
4 Télévente / Hotline
5 Commerce international
6 Marketing
7 Marketing Digital / e-Commerce
8 Communication / Evénementiel
9 Journalisme / RP / Edition / Traduction
10 Documentation / Veille
11 RH / Recrutement
13 Administration / Assistanat
16 Banque / Assurance
17 Audit / Comptabilité
18 Gestion / Finance
19 Ingénierie Financière
20 Statistiques
21 Gestion de projets & Organisation
22 Econométrie
23 Droit des Affaires / Fiscalité
24 Droit
25 Graphisme / Multimédia
26 Informatique - Conseil
27 Informatique - Développement
28 Informatique de Gestion
29 Système et Réseaux
30 Télécoms / Electronique
31 Agroalimentaire
32 Ecologie / Environnement
33 Qualité / Hygiène / Sécurité
34 Physique et Analyse
35 Chimie
36 Géologie / Géochimie
37 Biologie
38 Santé / Pharma
39 Ingénierie
40 Gestion de Production
41 Mécanique
43 Technique / Maintenance
44 Aéronautique
47 Energétique
48 Sciences des Matériaux
50 Data / Mathématiques Appliquées
51 Immobilier
52 Génie Civil / Bâtiment / BTP
53 Architecture / Urbanisme / Paysage
54 Social
56 Tourisme / Hôtellerie
57 Artisanat
58 Stylisme
60 Accueil / Hôte(sse)
61 Animation / Tourisme
62 Autre
63 Chauffeur / Livreur / Coursier
64 Commerce / Vente
65 Cours à Domicile
66 Enquêteur
67 Manutention / Inventaire
68 Restauration / Hôtellerie
69 Télémarketing
70 Electricité / Electrotechnique
71 Entretien / Sécurité
72 Génie des Procédés
74 Transactions Immobilières
75 Syndic de Copropriété
76 Administration de Biens
78 Informatique Industrielle
79 Conseil / Stratégie / Management