|
|
(376 intermediate revisions by 19 users not shown) |
Line 1: |
Line 1: |
| [[Category:Developer]] | | __NOINDEX__ |
| | [[Category:Developer]] [[Category:API]] |
| | The API (Application Programming Interface) is the way an application can enter in dialogue with Open Food Facts application server. |
|
| |
|
| == Status ==
| | All information about the API can be found [https://openfoodfacts.github.io/openfoodfacts-server/api/ in the documentation]. |
| Currently the API is mainly used internally for [[Project:Mobile_Apps|Cordova application]], but does not follow good practices in API design.
| |
| It is also used by several application and while not yet stable, doesn't change much.
| |
| You can ask for help on using the API in this [[https://openfoodfacts.slack.com/messages/api/|Slack channel]]
| |
| | |
| == API Basic Documentation ==
| |
| === Reading a product ===
| |
| See http://fr.openfoodfacts.org/data or http://en.openfoodfacts.org/data
| |
| | |
| The requested subdomain will be the locale fetched.
| |
| | |
| === Searching for products ===
| |
| | |
| You can add &jqm=1 to search results pages on the web site to get results in a jquerymobile format.
| |
| | |
| Also:
| |
| * sort_by=unique_scans_n
| |
| * page_size=50 (20 by default, 1000 at most)
| |
| * page=2
| |
| | |
| e.g. http://world.openfoodfacts.org/cgi/search.pl?search_terms=coke&search_simple=1&jqm=1
| |
| | |
| === Posting photos ===
| |
| * Photos post on /cgi/product_image_upload.pl
| |
| <pre>
| |
| code: the barcode
| |
| imagefield: "front"
| |
| imgupload_front : your image file
| |
| </pre>
| |
| | |
| === Posting a new product ===
| |
| * Product post to http://fr.openfoodfacts.org/cgi/product_jqm2.pl
| |
| <pre>
| |
| var foodfact = { barcode : '3073780969000', name : 'KIRI GOUTER 280G 8 PORTIONS', energy: 500, energy_unit: "kJ", weight: 282 };
| |
| var postData = {
| |
| code : foodfact.barcode,
| |
| user_id : "mesinfosnutritionelles",
| |
| password : "****",
| |
| product_name : foodfact.name?foodfact.name:foodfact.shop_label,
| |
| quantity : foodfact.weight?""+foodfact.weight+" g":undefined,
| |
| stores : "Intermarché",
| |
| nutriment_energy :foodfact.energy,
| |
| nutriment_energy_unit :foodfact.energy_unit,
| |
| nutrition_data_per :"serving"
| |
| {"status_verbose":"fields saved","status":1}
| |
| </pre>
| |
| | |
| <br>Example:<br>
| |
| <pre>code=3073780969000&user_id=usernameexample&password=*****&product_name=KIRI%20GOUTER%20280G%208%20PORTIONS&quantity=282%20g&stores=Intermarch%C3%A9&nutriment_energy=500&nutriment_energy_unit=kJ&nutrition_data_per=serving</pre>
| |
| == API Redesign ==
| |
| And since its the [https://openfoodfacts.uservoice.com/forums/163583-general/filters/top most requested feature on UserVoice], project was launched to evolve the API.
| |
| | |
| * [[Project:API:Additives]]
| |
| * [[Project:API:States]]
| |
| * [[Project:API:Statistics]]
| |
| * [[Project:API:Statistics Entry Dates]]
| |
| == TODO ==
| |
| * <strike>Translate the data page (http://fr.openfoodfacts.org/data) in English</strike> and make it available on all subdomains
| |
| * Document all current API
| |
| * Write further API specifications
| |