Avertissement
Le format de réponse des endpoints /history/
et /history-ref/
vont bientôt être mis à jour pour adopter les mêmes noms de variables les endpoints /list/
L'API de Monitorize vous permet d'accéder aux données collectées par Monitorize (pull) mais aussi d'envoyer des données vers votre compte Monitorize (push). Elle est construite autour de l'architecture REST, renvoie ses résultats au format JSON et utilise les codes de statut de réponse HTTP.
Chaque compte Monitorize se voit attribuer une clé API unique permettant d'authentifier ses requêtes à l'API Monitorize.
Pour chaque requête passée à l'API Monitorize, spécifiez votre clé API dans l'entête "Apitoken" de la requête. Si l'authentification échoue, un code de statut de réponse HTTP 401 sera retourné :
HTTP/1.0 401 Erreur d'authentification
GET api/product/list/
Retourne une liste des produits importés dans Monitorize, avec leur nom, identifiant Monitorize et votre référence interne.
Variable | Type | Description |
---|---|---|
nom | string | Nom du produit importé |
id | string | Identifiant Monitorize du produit importé |
ref | string | Votre référence interne |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/product/list/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
[
{
"nom": "Produit 1",
"id": "1",
"ref": "Votre_Reference_Interne_1"
},
{
"nom": "Produit 2",
"id": "2",
"ref": "Votre_Reference_Interne_2"
}
]
GET api/product/list/allOffers
Retourne la liste des produits importés dans Monitorize et les offres (nom, prix, promo, prix barré, stock, url) de chaque site proposant ce produit, si le produit importé a été matché.
Variable | Type | Description |
---|---|---|
nom | string | Nom du produit importé |
id | string | Identifiant Monitorize du produit importé |
ref | string | Votre référence interne |
offers | array | Détail des offres sur chaque site |
offers[i].site | string | Nom du site |
offers[i].nom | string | Nom du produit sur ce site |
offers[i].url | string | URL de la fiche produit sur ce site |
offers[i].prix | float | Prix de vente du produit sur ce site |
offers[i].stock | integer | Etat du stock de ce produit sur ce site (1 = en stock, 2 = stock inconnu, 3 = rupture de stock) |
offers[i].stockLabel | string | Libellé du stock de ce produit sur ce site |
offers[i].promo | string | Libellé de la promotion de ce produit sur ce site (retourne null si pas de promotion appliquée) |
offers[i].prixBarre | float | Prix barré appliqué à ce produit sur ce site (retourne 0 si pas de prix barré appliqué) |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/product/list/allOffers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
[
{
"nom": "Votre Produit 1",
"id": "1",
"ref": "Votre_reference_interne1",
"offers": [
{
"site": "site1.com",
"nom": "Produit XXXX",
"url": "https://www.site1.com/produit-xxxx",
"prix": 150,
"stock": 1,
"stockLabel": "En stock",
"promo": null,
"prixBarre": 0
}
]
},
{
"nom": "Produit 2",
"id": "2",
"ref": "Votre_reference_interne2",
"offers": [
{
"site": "site1.com",
"nom": "Produit YYYY",
"url": "https://www.site1.com/produit-yyyy",
"prix": 200,
"stock": 1,
"stockLabel": "En stock",
"promo": null,
"prixBarre": 0
},
{
"site": "site2.com",
"nom": "Produit YYYY",
"url": "https://www.site2.com/produit-yyyy",
"prix": 219,
"stock": 1,
"stockLabel": "En stock",
"promo": "Promotion",
"prixBarre": 239.99
},
{
"site": "site3.com",
"nom": "Produit YYYY",
"url": "https://www.site3.com/produit-yyyy",
"prix": 79.99,
"stock": 1,
"stockLabel": "En stock",
"promo": null,
"prixBarre": 0
}
]
}
]
GET api/product/list/lowestOffers
Retourne la liste des produits importés dans Monitorize et l'offre (nom, prix, promo, prix barré, stock, url) du site proposant ce produit au prix le plus bas. Les offres en rupture de stock ne sont pas retournées.
Variable | Type | Description |
---|---|---|
nom | string | Nom du produit importé |
id | string | Identifiant Monitorize du produit importé |
ref | string | Votre référence interne |
offers | array | Détail des offres sur chaque site |
offers[i].site | string | Nom du site |
offers[i].nom | string | Nom du produit sur ce site |
offers[i].url | string | URL de la fiche produit sur ce site |
offers[i].prix | float | Prix de vente du produit sur ce site |
offers[i].stock | integer | Etat du stock de ce produit sur ce site (1 = en stock, 2 = stock inconnu, 3 = rupture de stock) |
offers[i].stockLabel | string | Libellé du stock de ce produit sur ce site |
offers[i].promo | string | Libellé de la promotion de ce produit sur ce site (retourne null si pas de promotion appliquée) |
offers[i].prixBarre | float | Prix barré appliqué à ce produit sur ce site (retourne 0 si pas de prix barré appliqué) |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/product/list/lowestOffers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
[
{
"nom": "Votre Produit 1",
"id": "1",
"ref": "Votre_reference_interne1",
"offers": [
{
"site": "site1.com",
"nom": "Produit XXXX",
"url": "https://www.site1.com/produit-xxxx",
"prix": 179,
"stock": 2,
"stockLabel": "Inconnu",
"promo": null,
"prixBarre": 0
}
]
},
{
"nom": "Produit 2",
"id": "2",
"ref": "Votre_reference_interne2",
"offers": [
{
"site": "site1.com",
"nom": "Produit YYYY",
"url": "https://www.site1.com/produit-yyyy",
"prix": 199,
"stock": 1,
"stockLabel": "En stock",
"promo": null,
"prixBarre": 0
},
{
"site": "site2.com",
"nom": "Produit YYYY",
"url": "https://www.site2.com/produit-yyyy",
"prix": 199,
"stock": 1,
"stockLabel": "En stock",
"promo": "Promotion",
"prixBarre": 219.99
}
]
}
]
Le format de réponse des endpoints /history/
et /history-ref/
vont bientôt être mis à jour pour adopter les mêmes noms de variables les endpoints /list/
GET api/product/history/ID_MONITORIZE_DU_PRODUIT
Retourne l'historique des offres (nom, prix, promo, prix barré, stock, url) de chaque site monitoré proposant ce produit selon son identifiant Monitorize, s'il a été matché.
L'historique s'étend du jour présent au premier jour où le produit a été aperçu sur un site concurrent
Variable | Type | Description |
---|---|---|
idTab | string | Identifiant du site |
nom | string | Nom du produit sur ce site |
url | string | URl de la fiche produit sur ce site |
data[i].date | string | Selon position dans data, date d'aujourd'hui, date de première apparition ou date du mouvement - au format YYYY-MM-DD |
data[i].prix | float | Prix de vente du produit sur ce site |
data[i].stockT | integer | Etat du stock de ce produit sur ce site (1 = en stock, 2 = stock inconnu, 3 = rupture de stock) |
data[i].stock | string | Libellé du stock de ce produit sur ce site |
data[i].promotion | string | Libellé de la promotion de ce produit sur ce site (retourne null si pas de promotion appliquée) |
data[i].prixBarre | float | Prix barré appliqué à ce produit sur ce site (retourne null si pas de prix barré appliqué) |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/product/history/ID_MONITORIZE_DU_PRODUIT",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
"site1.com": {
"idTab": "site1",
"nom": "Produit 1",
"url": "https://www.site1.com/produit1",
"data": [
{
"date": "2019-03-29",
"prix": "63.69",
"stock": "Disponible en ligne",
"stockT": "1",
"promotion": null,
"prixBarre": null
},
{
"date": "2020-02-20",
"prix": "63.69",
"stock": "Disponible en ligne",
"stockT": "1",
"promotion": null,
"prixBarre": null
}
]
},
"site2.com": {
"idTab": "site2",
"nom": "Produit 1",
"url": "https://www.site2.com/produit1",
"data": [
{
"date": "2019-03-25",
"prix": "59.95",
"stock": "En stock",
"stockT": "1",
"promotion": "Promo !",
"prixBarre": "64.50"
},
{
"date": "2020-02-20",
"prix": "59.95",
"stock": "En stock",
"stockT": "1",
"promotion": "Promo !",
"prixBarre": "64.50"
}
]
},
"site3.com": {
"idTab": "site3",
"nom": "Produit 1",
"url": "https://www.site3.com/produit1",
"data": [
{
"date": "2019-03-12",
"prix": "58",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2019-05-27",
"prix": "61",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2019-06-04",
"prix": "58",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2019-07-13",
"prix": "59",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2020-02-20",
"prix": "59",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
}
]
}
]
GET api/product/history-ref/ID_MONITORIZE_DU_PRODUIT
Retourne l'historique des offres (nom, prix, promo, prix barré, stock, url) de chaque site monitoré proposant ce produit selon votre référence interne, s'il a été matché.
L'historique s'étend du jour présent au premier jour où le produit a été aperçu sur un site concurrent
Variable | Type | Description |
---|---|---|
idTab | string | Identifiant du site |
nom | string | Nom du produit sur ce site |
url | string | URl de la fiche produit sur ce site |
data[i].date | string | Selon position dans data, date d'aujourd'hui, date de première apparition ou date du mouvement - au format YYYY-MM-DD |
data[i].prix | float | Prix de vente du produit sur ce site |
data[i].stockT | integer | Etat du stock de ce produit sur ce site (1 = en stock, 2 = stock inconnu, 3 = rupture de stock) |
data[i].stock | string | Libellé du stock de ce produit sur ce site |
data[i].promotion | string | Libellé de la promotion de ce produit sur ce site (retourne null si pas de promotion appliquée) |
data[i].prixBarre | float | Prix barré appliqué à ce produit sur ce site (retourne null si pas de prix barré appliqué) |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/product/history-ref/ID_MONITORIZE_DU_PRODUIT",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
"site1.com": {
"idTab": "site1",
"nom": "Produit 1",
"url": "https://www.site1.com/produit1",
"data": [
{
"date": "2019-03-29",
"prix": "63.69",
"stock": "Disponible en ligne",
"stockT": "1",
"promotion": null,
"prixBarre": null
},
{
"date": "2020-02-20",
"prix": "63.69",
"stock": "Disponible en ligne",
"stockT": "1",
"promotion": null,
"prixBarre": null
}
]
},
"site2.com": {
"idTab": "site2",
"nom": "Produit 1",
"url": "https://www.site2.com/produit1",
"data": [
{
"date": "2019-03-25",
"prix": "59.95",
"stock": "En stock",
"stockT": "1",
"promotion": "Promo !",
"prixBarre": "64.50"
},
{
"date": "2020-02-20",
"prix": "59.95",
"stock": "En stock",
"stockT": "1",
"promotion": "Promo !",
"prixBarre": "64.50"
}
]
},
"site3.com": {
"idTab": "site3",
"nom": "Produit 1",
"url": "https://www.site3.com/produit1",
"data": [
{
"date": "2019-03-12",
"prix": "58",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2019-05-27",
"prix": "61",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2019-06-04",
"prix": "58",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2019-07-13",
"prix": "59",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
},
{
"date": "2020-02-20",
"prix": "59",
"stock": "Inconnu",
"stockT": "2",
"promotion": null,
"prixBarre": null
}
]
}
]
POST api/product/add/
Créer un produit à matcher, en renseignant dans le corps de la requête les valeurs name (nom du produit - obligatoire) et ref (votre référence interne - facultatif)
L'historique s'étend du jour présent au premier jour où le produit a été aperçu sur un site concurrent
Variable | Type | Description |
---|---|---|
id | int | Identifiant Monitorize du produit créé |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/product/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array('name' => 'NOM_DE_VOTRE_PRODUIT','ref' => 'VOTRE_REFERENCE_INTERNE'),
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE",
"Content-Type: application/x-www-form-urlencoded"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
1209{
"id": 1221
}
GET api/alerts
Retourne l'ensemble des alertes générées sur votre compte Monitorie
Variable | Type | Description |
---|---|---|
site | string | Site ayant déclenché l'alerte |
nom | string | Nom du produit matché |
url | string | URl de la fiche produit sur ce site |
date | string | Date du déclenchement de l'alerte - au format YYYY-MM-DD |
prix_1 | string | Prix de vente du produit sur ce site, avant déclenchement de l'alerte |
prix_2 | string | Prix de vente du produit sur ce site, après déclenchement de l'alerte |
stockt_1 | integer | Etat du stock de ce produit sur ce site, avant déclenchement de l'alerte (1 = en stock, 2 = stock inconnu, 3 = rupture de stock) |
stockt_2 | integer | Etat du stock de ce produit sur ce site, après déclenchement de l'alerte (1 = en stock, 2 = stock inconnu, 3 = rupture de stock) |
stock_1 | string | Libellé du stock de ce produit sur ce site, avant déclenchement de l'alerte |
stock_2 | string | Libellé du stock de ce produit sur ce site, après déclenchement de l'alerte |
promo_1 | string | Libellé de la promotion de ce produit sur ce site, avant déclenchement de l'alerte (retourne null si pas de promotion appliquée) |
promo_2 | string | Libellé de la promotion de ce produit sur ce site, après déclenchement de l'alerte (retourne null si pas de promotion appliquée) |
tags | array of strings | Tags associés au produit matché |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.monitorize.fr/api/alerts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Apitoken: VOTRE_CLE_API_UNIQUE"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
[
{
"date": "2020-02-20",
"nom": "Produit 1",
"site": "site.com",
"url": "https://www.site1.com/fr/Produit1.html",
"prix_1": "92.95",
"prix_2": "92.95",
"stock_1": "En stock",
"stock_2": "Rupture temporaire",
"stockt_1": "1",
"stockt_2": "3",
"promo_1": "",
"promo_2": "",
"tags": [
"Tag Z",
"Tag X",
"Tag Y"
]
},
{
"date": "2020-02-20",
"nom": "Produit X",
"site": "siteX.com",
"url": "https://www.siteX.com/produitX.html",
"prix_1": "33.50",
"prix_2": "31.95",
"stock_1": "En stock",
"stock_2": "En stock",
"stockt_1": "1",
"stockt_2": "1",
"promo_1": "",
"promo_2": "",
"tags": [
"Tag X",
"Tag Y",
"Tag Z"
]
}
]
GET api/marketplaces/scripts/feed
Retourne l'ensemble des données produits et offres (noms, prix, positionnement des concurrents) du module Marketplaces
Variable | Type | Description |
---|---|---|
product_name | string | Nom du produit |
ref_interne | integer | Votre référence interne |
ref_prestashop | integer | Votre référence prestashop |
product_url | string | URL du produit sur votre site |
product_img | string | URL de l'image du produit sur votre site |
autres données | misc. | Autres données relatives aux produits selon besoins (stocks, catégories etc.) |
(par marketplace) nom_marketplace.id | integer | Identifiant du produit sur la marketplace |
(par marketplace) nom_marketplace.url | string | URL du produit sur la marketplace |
(par marketplace) nom_marketplace.offers_count | integer | Nombre d'offres pour ce produit sur cette marketplace |
(par marketplace) nom_marketplace.active | boolean | Vous apparaissez sur ce produit sur cette marketplace |
(par marketplace) nom_marketplace.is_first | boolean | Vous apparaissez premier sur ce produit sur cette marketplace |
(par offre) nom_marketplace.offers[].seller_name | string | Nom du vendeur |
(par offre) nom_marketplace.offers[].seller_url | string | URL de l'offre (si disponible) |
(par offre) nom_marketplace.offers[].price | float | Prix de l'offre |
(par offre) nom_marketplace.offers[].shipping_price | float | Prix de la livraison |
(par offre) nom_marketplace.offers[].shipping_delay | string | Délai de la livraison |
(par offre) autres informations | misc. | Autres données de l'offre selon besoins et marketplace (stocks, quantités minimales etc) |
(par offre) nom_marketplace.offers[].is_first | boolean | Cette offre apparaît en premier sur ce produit |
(par offre) nom_marketplace.offers[].scraped_on | datetime | Date et heure de la collecte de cette donnée |