Changes

Jump to navigation Jump to search
1,955 bytes added ,  08:47, 15 May 2021
Line 1: Line 1:  
[[Category:Developer]] [[Category:API]]
 
[[Category:Developer]] [[Category:API]]
   −
== Introduction ==
+
= NEW version of the documentation =
   −
[https://documenter.getpostman.com/view/8470508/SVtN3Wzy A new version of the documentation is available]
+
The new version of the documentation is available here:
 +
* [https://world.openfoodfacts.org/files/api-documentation.html Documentation as HTML on Open Food Facts' servers]
 +
* [https://documenter.getpostman.com/view/8470508/SVtN3Wzy Documentation on Postman] (might be slow)
 +
 
 +
We have many SDKs at the bottom of the page, and we also have official implementations for Android, iPhone (and Flutter) that you can draw inspiration from.
 +
 
 +
= Previous version of the documentation =
    
=== Notice for API users ===
 
=== Notice for API users ===
Line 36: Line 42:  
* You can do READ operations using the production server.
 
* You can do READ operations using the production server.
 
* You should use the SSL version of the API. <code>https://world.openfoodfacts.org</code>
 
* You should use the SSL version of the API. <code>https://world.openfoodfacts.org</code>
* '''Please send a UserAgent HTTP Header''' with the name of the app/service querying, the version, system and a URL if you have one, so that you are not blocked by mistake (e.g. <code>UserAgent: CoolFoodApp - Android - Version 1.0 - https://coolfoodapp.com</code>)
+
* '''Please send a UserAgent HTTP Header''' with the name of the app/service querying, the version, system and a URL if you have one, so that you are not blocked by mistake (e.g. <code>UserAgent: MyFoodApp - Android - Version 1.0 - https://myfoodapp.example.com</code>)
    
== WRITE operations ==
 
== WRITE operations ==
Line 64: Line 70:     
== SDKs ==
 
== SDKs ==
We have projects to create SDKs for major platforms. If you'd like to help out, please join the dedicated Slack channels.
+
We have projects to create SDKs for major platforms. If you'd like to help out, [https://slack.openfoodfacts.org please join the dedicated Slack discussion channels] or open an issue on the existing repository.
* [[API/Android|Android SDK]]  
+
 
* [[API/C sharp|C# SDK]] - https://github.com/Albert-Le5/openfoodfacts-csharp ; https://github.com/aberteau/OpenFoodFacts4Net
+
It is important that SDK support both read and write operations, and evolve with the API.
 +
 
 +
* [[API/Android|Android SDK]] - The official app used to be coded in Java and is now in Kotlin. Extraction into a reusable library would be welcome.
 +
* C# SDK - https://github.com/Albert-Le5/openfoodfacts-csharp ; https://github.com/aberteau/OpenFoodFacts4Net
 
* [[API/Go|Go SDK]] - https://github.com/openfoodfacts/openfoodfacts-go
 
* [[API/Go|Go SDK]] - https://github.com/openfoodfacts/openfoodfacts-go
* [[API/Java|Java SDK]]
+
* [[API/Java|Java SDK]] - The official app used to be coded in Java. Extraction into a Java library would be welcome.
* [[API/Javascript|JavaScript SDK]]
+
* [[API/Javascript|JavaScript SDK]] - We don't have a vanilla Javascript SDK right now
 +
* Dart - https://github.com/openfoodfacts/openfoodfacts-dart
 +
* Flutter (official app) - https://github.com/openfoodfacts/smooth-app
 +
* Kotlin (official app) - https://github.com/openfoodfacts/openfoodfacts-androidapp - The official app has recently been Kotlinized. (Help to turn it into a reusable library would be welcome)
 +
* Laravel package - https://github.com/openfoodfacts/openfoodfacts-laravel
 
* [[API/Javascript/NodeJS|NodeJS SDK]]
 
* [[API/Javascript/NodeJS|NodeJS SDK]]
* [[API/Perl|Perl SDK]]
   
* [[API/PHP|PHP SDK]] - https://github.com/openfoodfacts/openfoodfacts-php
 
* [[API/PHP|PHP SDK]] - https://github.com/openfoodfacts/openfoodfacts-php
 
* [[API/Python|Python SDK]] - https://github.com/openfoodfacts/openfoodfacts-python (LIVE API) - https://github.com/openfoodfacts/OpenFoodFacts-APIRestPython (Local Dump)  
 
* [[API/Python|Python SDK]] - https://github.com/openfoodfacts/openfoodfacts-python (LIVE API) - https://github.com/openfoodfacts/OpenFoodFacts-APIRestPython (Local Dump)  
 
* [[API/R|R SDK]]
 
* [[API/R|R SDK]]
* [[API/React Native|React Native SDK]] https://github.com/openfoodfacts/openfoodfacts-react-native
+
* React Native SDK https://github.com/openfoodfacts/openfoodfacts-react-native (Help to turn it into a reusable library would be welcome)
 
* [[API/Ruby|Ruby SDK]] - https://github.com/openfoodfacts/openfoodfacts-ruby OR gem install openfoodfacts - https://github.com/openfoodfacts/openbeautyfacts-ruby OR gem install openbeautyfacts
 
* [[API/Ruby|Ruby SDK]] - https://github.com/openfoodfacts/openfoodfacts-ruby OR gem install openfoodfacts - https://github.com/openfoodfacts/openbeautyfacts-ruby OR gem install openbeautyfacts
 
* [[API/Scala|Scala SDK]]
 
* [[API/Scala|Scala SDK]]
* [[API/Swift|Swift SDK]]
+
* [[API/Swift|Swift SDK]] - The official app is coded in Swift. https://github.com/openfoodfacts/openfoodfacts-ios Extraction into a Swift library would be welcome.
 
Please help us bring Open Food Facts to your favorite language by contributing to SDK!
 
Please help us bring Open Food Facts to your favorite language by contributing to SDK!
   Line 85: Line 97:  
* Mention Open Food Facts as the source of the data;
 
* Mention Open Food Facts as the source of the data;
 
* Do not mix with other product databases (since you are then required to release them under OdBL, at your own legal risk if you didn't actually own them);
 
* Do not mix with other product databases (since you are then required to release them under OdBL, at your own legal risk if you didn't actually own them);
* Share any additions under the OdBL, back to the community.
+
* Share any additions under the OdBL, back to the community, using the easy API/SDK.
 +
 
 
Please join us on the Slack channel to discuss the legal and technical side of things :-) (https://slack.openfoodfacts.org)
 
Please join us on the Slack channel to discuss the legal and technical side of things :-) (https://slack.openfoodfacts.org)
    
== Roadmap ==
 
== Roadmap ==
See [[API/Roadmap]]
+
 
 +
* Publishing the API on a faster server
 +
* Having a CI pipeline from the source repository to the published documentation
 +
* Deprecating documentation on the wiki for good.
 +
* Setting up a process to keep the API updated.
 +
 
 +
For the API revamp, see [[API/Roadmap]]. Please note that the above goals are our priority right now (making the current API work better for everyone).
    
== Bugs ==
 
== Bugs ==
Line 96: Line 115:     
You can fill in the issue report [https://github.com/openfoodfacts/openfoodfacts-server/issues/new here on GitHub]
 
You can fill in the issue report [https://github.com/openfoodfacts/openfoodfacts-server/issues/new here on GitHub]
 +
(For documentation issues, see below)
 +
=== Keeping the documentation up to date with the live API ===
 +
* Project that tracks what we have to document: https://github.com/openfoodfacts/api-documentation/issues
    
=== Known bugs ===
 
=== Known bugs ===

Navigation menu