Line 4: |
Line 4: |
| | | |
| The new version of the documentation is available here: | | The new version of the documentation is available here: |
− | '''🚀 [https://documenter.getpostman.com/view/8470508/SVtN3Wzy https://documenter.getpostman.com/view/8470508/SVtN3Wzy] 🚀'''
| + | * [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 = | | = Previous version of the documentation = |
Line 39: |
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 67: |
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/Laravel|Laravel package]] - https://github.com/openfoodfacts/openfoodfacts-laravel
| |
− | * [[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 89: |
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 100: |
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 === |