Le Guide de l'utilisateur de l'API des rappels et des avis de sécurité canadiens
Table des matières
Introduction
Le site Web des rappels et des avis de sécurité réunit les renseignements de Santé Canada, de Transports Canada et de l'Agence canadienne d'inspection des aliments afin d'offrir aux consommateurs canadiens un endroit unique où s'informer sur les rappels et les avis de sécurité.
Cette interface de programmation d'applications (API) permet aux concepteurs d'accéder à ces renseignements en format JSON afin de les utiliser dans leurs propres applications.
L'adresse URI de base du site Web des rappels et des avis de sécurité est http://canadiensensante.gc.ca/recall-alert-rappel-avis/index-fra.php. Toute requête est effectuée par l'entremise de cette adresse URI.
Récents rappels
La plupart des applications commenceraient avec les récents rappels. Cette requête affiche les 15 derniers rappels de chaque catégorie.
Paramètres
Il n'y a qu'un seul paramètre dans la requête : la langue.
Paramètre | Définition | Valeurs | Requis? | Notes |
---|---|---|---|---|
/api/recent/lang |
Change la langue |
|
Oui | Détermine si la réponse est affichée en anglais ou en français. |
Il est possible d'accéder aux récents rappels par l'entremise de ces adresses URI :
Format de réponse
La réponse est en format JSON et contient un objet résultat qui comporte cinq objets :
Code | Valeur |
---|---|
ALL | Les 15 derniers rappels de toutes les catégories, affichés dans un tableau de 15 objets de rappel |
FOOD | Les 15 derniers rappels de la catégorie aliments, affichés dans un tableau de 15 objets de rappel |
VEHICLES | Les 15 derniers rappels de la catégorie véhicules, affichés dans un tableau de 15 objets de rappel |
HEALTH | Les 15 derniers rappels de la catégorie produits de santé, affichés dans un tableau de 15 objets de rappel |
CPS | Les 15 derniers rappels de la catégorie produits de consommation, affichés dans un tableau de 15 objets de rappel |
Chaque objet de rappel contient les valeurs suivantes :
Code | Valeur |
---|---|
recallId | Le numéro d'identification du rappel |
title | Le titre du rappel |
category | Un groupe des catégories dans lesquelles le rappel a été publié (habituellement, une seule catégorie est visible) : 1 pour les aliments, 2 pour les véhicules, 3 pour les produits de santé, 4 pour les produits de consommation |
date_published | Horodatage en format UNIX de la date d'affichage |
url | Une adresse URL partielle qui fournit tous les détails du rappel en format JSON. |
Exemple de réponse
{ "results": { "ALL": [{ //Toutes les catégories "recallId": "41799", "title": "Enjoying Leftover Food Safely", "category": ["1"], "date_published": 1412899200, "url": "\/api\/41799\/en" }], "FOOD": [{ //Rappels et avis de sécurité concernant les aliments, catégorie 1 "recallId": "41799", "title": "Enjoying Leftover Food Safely", "category": ["1"], "date_published": 1412899200, "url": "\/api\/41799\/en" }], "VEHICLE": [{ //Rappels et avis de sécurité concernant les véhicules, catégorie 2 "recallId": "41163", "title": "FORD issued a recall on the ESCAPE, and FOCUS models", "category": ["2"], "date_published": 1407801600, "url": "\/api\/41163\/en" }], "HEALTH": [{ //Rappels et avis de sécurité concernant les produits de santé, catégorie 3 "recallId": "41655", "title": "Health Canada takes action to stop import of products from three sites in India", "category": ["3"], "date_published": 1412035200, "url": "\/api\/41655\/en" }], "CPS": [{ //Rappels et avis de sécurité concernant les produits de consommation, catégorie 4 "recallId": "41765", "title": "Shoppers Drug Mart recalls \"Novelty Toy\" Halloween Squish Ball", "category": ["4"], "date_published": 1412899200, "url": "\/api\/41765\/en" }], } }
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute une liste des plus récents rappels parmi toutes les catégories à un élément avec le numéro d'identification du rappel "#responses", selon la langue sélectionnée :
function getRecent(lang) { var base = 'http://canadiensensante.gc.ca/recall-alert-rappel-avis'; var uri = base + '/api/recent/' + lang; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ var frag = document.createDocumentFragment(); for (var i=0; i<data.results.ALL.length; i++) { var a = document.createElement("a"); var title = document.createTextNode(data.results.ALL[i].title); a.appendChild(title); a.setAttribute("href", base + data.results.ALL[i].url); frag.appendChild(a); frag.appendChild(document.createElement("br")); } $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Détails du rappel
Lorsque vous faites une requête pour les détails du rappel, vous n'avez qu'à spécifier deux paramètres dans l'appel API : le numéro d'identification du rappel du produit, et la langue (en
ou fr
) dans laquelle vous aimeriez recevoir la réponse.
Paramètres
Paramètre | Définition | Valeurs | Requis? | Notes |
---|---|---|---|---|
/api/##### |
Affiche les détails du rappel | ##### - Affiche le numéro d'identification du produit recherché |
Oui | Les numéros d'identification de rappel peuvent être trouvés en effectuant une requête parmi les récents rappels à l'aide de l'API ou par le biais du site Web des rappels et des avis de sécurité. |
/api/#####/lang |
Change la langue |
|
Non, mais l'anglais est la langue par défaut si elle n'est pas spécifiée | Détermine si la réponse est affichée en anglais ou en français. |
Format de réponse
Code | Valeur |
---|---|
url | L'adresse URL du rappel sur le site Web complet des rappels et des avis de sécurité |
recallId | Le numéro d'identification du rappel |
start_date | Horodatage en format UNIX de la date de début du rappel |
date_published | Horodatage en format UNIX de la date d'affichage |
category | La catégorie dans laquelle le rappel a été publié; 1 pour les aliments, 2 pour les véhicules, 3 pour les produits de santé, 4 pour les produits de consommation. |
panels | Des détails supplémentaires au sujet du rappel. Un « panneau » correspond à environ une section du rappel sur la page Web complète. De ces panneaux, les renseignements suivants sont les plus susceptibles de vous intéresser.
|
Exemple de réponse
{ "url": "http:\/\/canadiensensante.gc.ca\/recall-alert-rappel-avis\/hc-sc\/2014\/41799a-eng.php", "recallId": "RA-41799", "title": "\n Enjoying Leftover Food Safely", "start_date": 1412899200, "date_published": -62169984000, "category": ["1"], "panels": [{ "panelName": "basic_details", "title": "Summary", "text": "<b>Issue:<\/b> Food Safety, Important Safety Information<BR\/><b>Audience:<\/b> General Public<BR\/><b>Category:<\/b> Other<BR\/><b>Alert type:<\/b> Information Update<BR\/><b>Department:<\/b> Health Canada<BR\/>" }, { "panelName": "cms_issue_problem", "title": "Issue", "text": "\n Many Canadians enjoy eating leftovers from family dinners and from dining out as a time-saving and budget-friendly meal. It is important to remember that leftovers need to be properly handled to help reduce the risk of foodborne illness. It's estimated that there are approximately 4 million cases of food-related illnesses in Canada every year. Many of these illnesses could be prevented by following proper food handling and preparation techniques.\n\n Here are some tips to help make sure your leftovers are safe to eat:\n<h3>\n Handling leftovers<\/h3>\n<ul>\n <li>\n Wash your hands before and after handling leftovers. Wash all utensils, dishes and work surfaces with hot soapy water.<\/li>\n <li>\n Keep foods out of the danger zone, between 4\u00b0C (40\u00b0F) and 60\u00b0C (140\u00b0F), to prevent the growth of harmful bacteria. Throw away any cooked food left in the danger zone for more than two hours.<\/li>\n <li>\n Never rely on your nose, eyes or taste buds to judge the safety of food. You cannot tell if food is contaminated by its look, smell or taste. <strong>When in doubt, throw it out!<\/strong><\/li>\n<\/ul>\n<h3>\n Cooling leftovers<\/h3>\n<ul>\n <li>\n Refrigerate or freeze all leftovers within two hours to minimize the chance of bacteria growing.<\/li>\n <li>\n Refrigerate all hot leftovers promptly in uncovered, shallow containers so they cool quickly.<\/li>\n <li>\n Very hot items can first be cooled at room temperature and then refrigerated once the steaming stops.<\/li>\n <li>\n Leave the lid off or wrap loosely until the food is cooled to refrigeration temperature.<\/li>\n<\/ul>\n<h3>\n Storing leftovers<\/h3>\n<ul>\n <li>\n Always use a clean container or leak-proof plastic bag to store leftovers.<\/li>\n <li>\n Meat from large cooked birds should be cut, deboned and stored refrigerated or frozen for safety.<\/li>\n <li>\n Keep different types of leftovers separate to prevent cross contamination.<\/li>\n <li>\n Don't overstock the refrigerator - allow cool air to circulate freely.<\/li>\n <li>\n Eat refrigerated leftovers within 2 to 4 days, or freeze them for later use. The recommended refrigeration times may vary slightly, depending on the food: <a href=\"http:\/\/canadiensensante.gc.ca\/eating-nutrition\/safety-salubrite\/storage-entreposage-eng.php\">follow these guidelines<\/a> to be safe.<\/li>\n <li>\n Label the leftovers so you can identify the contents and include the date, to make sure they aren't stored too long.<\/li>\n<\/ul>\n<h3>\n Defrosting leftovers<\/h3>\n<ul>\n <li>\n Thaw frozen leftovers in the refrigerator or using the \"defrost\" setting on your microwave. Make sure leftovers are completely defrosted before reheating.<\/li>\n <li>\n Consume or cook the leftovers immediately after they have thawed.<\/li>\n<\/ul>\n<h3>\n Reheating leftovers<\/h3>\n<ul>\n <li>\n When reheating leftovers, cook to a safe internal temperature of 74\u00b0C (165\u00b0F).<\/li>\n <li>\n Use a digital food thermometer to check the internal temperature.<\/li>\n <li>\n Bring gravies, soups and sauces to a full, rolling boil and stir during the process.<\/li>\n <li>\n Discard uneaten leftovers after they have been reheated - <strong>don't reheat leftovers more than once<\/strong>.<\/li>\n<\/ul>\n<h3>\n Reheating in a microwave<\/h3>\n<ul>\n <li>\n Use only containers or plastic wrap designed for use in the microwave.<\/li>\n <li>\n Loosen the lid or wrap to allow steam to escape.<\/li>\n <li>\n Stop the microwave midway through reheating and stir the food so that the heat is evenly distributed.<\/li>\n <li>\n Rotate the plate several times during cooking if your microwave does not have a rotating tray.<\/li>\n<\/ul>" }, { "panelName": "more_information", "title": "For more information", "text": "<p><h3>\n Government of Canada<\/h3>\n<ul>\n <li>\n <a href=\"http:\/\/www.canadiensensante.gc.ca\/eating-nutrition\/safety-salubrite\/leftovers-restes-eng.php\">Food safety tips for leftovers<\/a><\/li>\n <li>\n <a href=\"http:\/\/www.canadiensensante.gc.ca\/eating-nutrition\/safety-salubrite\/storage-entreposage-eng.php\">Safe food storage<\/a><\/li>\n <li>\n <a href=\"http:\/\/www.canadiensensante.gc.ca\/eating-nutrition\/safety-salubrite\/fours-micro-ovens-eng.php\">Microwaves<\/a><\/li>\n <li>\n <a href=\"http:\/\/www.canadiensensante.gc.ca\/eating-nutrition\/safety-salubrite\/cook-temperatures-cuisson-eng.php\">Safe internal cooking temperatures<\/a><\/li>\n <li>\n <a href=\"http:\/\/www.canadiensensante.gc.ca\/eating-nutrition\/poisoning-intoxication\/index-eng.php\">Food Poisoning<\/a><\/li>\n<\/ul>\n<h3>\n Partnership for Consumer Food Safety Education<\/h3>\n<ul>\n <li>\n <a href=\"http:\/\/www.befoodsafe.ca\/\">Be Food Safe<\/a><\/li>\n<\/ul>\n<p>\n Stay connected with Health Canada, and receive the latest advisories and product recalls using <a href=\"http:\/\/www.hc-sc.gc.ca\/home-accueil\/sm-ms\/index-eng.php\">social media<\/a> tools.<\/p><\/p>\n" }, { "panelName": "media_enquiries", "title": "Media enquiries", "text": "\n Health Canada<br \/>\n 613-957-2983" }, { "panelName": "public_enquiries", "title": "Public enquiries", "text": "\n 613-957-2991<br \/>\n 1-866 225-0709" }, { "panelName": "id_numbers", "title": "Identification number", "text": "<b>Identification number:<\/b> RA-41799<BR\/>" }] }
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute le titre et le sommaire d'un rappel à un élément avec le numéro d'identification du rappel "#responses", selon le numéro d'identification du rappel et la langue sélectionnée :
function getRecall(id, lang) { var base = 'http://canadiensensante.gc.ca/recall-alert-rappel-avis'; var uri = base + '/api/' + id + '/' + lang; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ console.log(data.title); var frag = document.createDocumentFragment(); var h2 = document.createElement("h2"); var title = document.createTextNode(data.title); var p = document.createElement("p"); var text = document.createTextNode(data.panels[0].text); h2.appendChild(title); p.appendChild(text); frag.appendChild(h2); frag.appendChild(p); $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
Recherche
L'API offre une fonctionnalité de recherche limitée.
Paramètres
Veuillez prendre note que ces paramètres sont passés dans la chaîne d'interrogation :
Paramètre | Définition | Valeurs | Requis? | Notes |
---|---|---|---|---|
/api/search?search=text |
Effectue la recherche dans la base de données | text - La chaîne de caractères à rechercher dans la base de données |
Oui | La réponse renfermera les résultats de recherche pour text . D'autres paramètres sont facultatifs, voir ci-dessous. |
&lang=lang |
Change la langue |
|
Non, mais l'anglais est la langue par défaut si elle n'est pas spécifiée | Détermine si la réponse est affichée en anglais ou en français. |
&cat=n |
Sélectionne des catégories précises pour effectuer la recherche |
|
Non, effectue la recherche dans toutes les catégories, si aucune n'est spécifiée. | Détermine si la réponse est affichée en anglais ou en français. |
&lim=n |
Restreint le nombre de résultats | Une valeur positive entière n |
Non, établit la limite à cinq si aucune valeur n'est spécifiée. | Si une valeur est spécifiée, la réponse comptera exactement n résultats. |
&off=n |
Décale les résultats de la recherche | Une valeur positive entière n |
Non, utilise zéro par défaut si aucune valeur n'est spécifiée. | Si une valeur est spécifiée, la réponse commencera seulement à partir du n e résultat. Par exemple, si off=5, la réponse commencera à partir du 6e résultat. |
Exemple d'adresse URI d'une requête :
Format de réponse
Celle-ci est très semblable à la réponse obtenue d'après une requête des plus récents rappels, à l'exception de :
- Le nombre de résultats obtenus dans la réponse n'est pas limité à 15; il peut être changé à l'aide du paramètre
lim
- Le nombre de résultats trouvés dans la base de données est indiqué à la fin de la réponse, comme results_count
- Le department d'où proviennent les renseignements du rappel est indiqué
Autrement, la disposition est la même que celle des récents rappels.
Les objets recall comportent :
Code | Valeur |
---|---|
recallId | Le numéro d'identification du rappel; veuillez prendre note que ce numéro du rappel est le même numéro que celui utilisé sur le site Web des rappels et des avis de sécurité. Ce numéro est aussi utilisé pour récupérer les détails du rappel (consultez la section suivante pour de plus amples renseignements). |
title | Le titre du rappel |
department | Le ministère d'où proviennent les renseignements du rappel est indiqué |
category | La catégorie dans laquelle le rappel a été publié; 1 pour les aliments, 2 pour les véhicules, 3 pour les produits de santé, 4 pour les produits de consommation |
date_published | Horodatage en format UNIX de la date d'affichage |
url | Une adresse URL partielle pour obtenir davantage de détails concernant le rappel. |
Exemple de réponse
{ "results": [{ "recallId": "41705", "title": "Next by Nature brand Dark Chocolate Cherries recalled due to undeclared peanut", "department": "Canadian Food Inspection Agency", "date_published": 1412208000, "category": ["1"], "url": "http:\/\/canadiensensante.gc.ca\/api\/41705\/en" }, { "recallId": "41349", "title": "EBM brand biscuits recalled due to undeclared milk", "department": "Canadian Food Inspection Agency", "date_published": 1409875200, "category": ["1"], "url": "http:\/\/canadiensensante.gc.ca\/api\/41349\/en" }, { "recallId": "41193", "title": "Allergens and food safety at school - What's in your child's lunch?", "department": "Health Canada", "date_published": 1408492800, "category": ["1"], "url": "http:\/\/canadiensensante.gc.ca\/api\/41193\/en" }, { "recallId": "40899", "title": "A1 Mountain Globe brand curry powders recalled due to undeclared peanuts and mustard", "department": "Canadian Food Inspection Agency", "date_published": 1406764800, "category": ["1"], "url": "http:\/\/canadiensensante.gc.ca\/api\/40899\/en" }, { "recallId": "40397", "title": "Kawartha Dairy brand Chocolate Ice Cream recalled due to improperly declared peanuts", "department": "Canadian Food Inspection Agency", "date_published": 1404086400, "category": ["1"], "url": "http:\/\/canadiensensante.gc.ca\/api\/40397\/en" }], "results_count": 90 }
Exemple de jQuery
Exemple d'une fonctionnalité qui ajoute une liste des résultats de recherche à un élément avec le numéro d'identification du rappel "#responses", selon le texte recherché et la langue sélectionnée (et d'autres paramètres, si nécessaire) :
function doSearch(lang, text, cat, lim, off) { var base = 'http://canadiensensante.gc.ca/recall-alert-rappel-avis'; var uri = base + '/api/search?search=' + text + '&lang=' + lang + '&lim=' + lim + '&off=' + off; $.ajax({ url:uri, type:'GET', Accept:"application/json", dataType: 'json', success:function(data){ var frag = document.createDocumentFragment(); for (var i=0;i<data.results.length;i++) { var a = document.createElement("a"); var title = document.createTextNode(data.results[i].title); a.appendChild(title); a.setAttribute("href", data.results[i].url); frag.appendChild(a); frag.appendChild(document.createElement("br")); } $("#responses")[0].appendChild(frag); }, error:function(error){ }, }); return; };
- Date de modification :