diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f4f20e3 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,203 @@ +# Changelog +All notable changes to the betterplace.org API v4 will be documented in this +file. Notifications about changes will also be send to the [mailing list for +service announcements](README.md#mailing-list-for-service-announcements). + +## 2016-01-12 +### Removed +- Removed open_amount_in_cents from [client statistics](sections/client_project_statistics.md) +- Removed pool_balance_in_cents from [client statistics](sections/client_project_statistics.md) +- Removed client_matched_amount_in_cents from [client statistics](sections/client_project_statistics.md) + +### Changed +- donated_amount_in_cents does no longer include external donations [client statistics](sections/client_project_statistics.md) +- client_donated_amount_in_cents now includes matching fund forwardings [client statistics](sections/client_project_statistics.md) +- client_donated_amount_in_cents doesn't include pool donations any more [client statistics](sections/client_project_statistics.md) + + +## 2015-10-09 +### Added +- Improved documentation for [donation pledges](sections/client_donation_pledges.md) + + +## 2015-09-15 +### Added +- Added facet filter ```closed:true/false``` [projects list](sections/projects_list.md). + + +## 2015-08-28 +### Added +- Added ```closed_at``` datetime to + [project details](sections/project_details.md). +- Extended documentation for created_at and completed_at in + [project details](sections/project_details.md). + + +## 2015-07-30 +### Fixed +- Documentation wording for donor opinions ```facets=has_donation:true/false``` and ```donated_amount_in_cents```. + The documentation is more detailed now and also includes two know issues where donor opinions do not behave + as expected. + + +## 2015-06-17 +### Deprecated +- The url params for the ThirdPartyApp custom donation form changed: + - ```donation_presenter[some_value]=123``` is deprecated now. Please update your app until 12/2015. + - ```some_value=123``` is the new way [as described in the documentation](donation_form/third_party_app_donation_form.md). + + +## 2015-04-28 +### Added +- Added API endpoint for clients to query donor data if permission was granted. See details at + [**Client** Donor Contact Data](sections/donor_contact_data_details.md) + + +## 2015-04-07 +### Added + +- Added two API endpoints for client statistics. + 0. [**Client** Project Statistics](sections/client_project_statistics.md) + 0. [**Client** Fundraising Event Statistics](sections/client_fundraising_event_statistics.md) + +## Deprecated +- [**Client** Details](sections/client_details.md): All statistic values. This end point will be removed after 31.5.2015 + + +## 2015-03-05 +### Added +- Added API endpoints for fundraising events and linked to them from all + relevent resources. This includes related features for clients as well. + See [here](sections/fundraising_events_list.md) and + [here](sections/fundraising_event_details.md). + +### Deprecated +- [Fundraising Events Details](sections/fundraising_event_details.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 +- [Fundraising Events List](sections/fundraising_events_list.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 +- [Matching Fund Projects List](sections/matching_fund_projects_list.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 +- [Project Details](sections/project_details.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 +- [Projects List](sections/projects_list.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 +- [Volunteering Details](sections/volunteering_details.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 + - **image:** fill_618x322, fill_270x141, original, thumb, medium, regular +- [Volunteering List](sections/volunteering_list.md#response-links) + - **profile_picture:** fill_618x322, fill_270x141 + - **image:** fill_618x322, fill_270x141, original, thumb, medium, regular + + +## 2015-02-16 +### Added +- Added client API endpoint for submit donation pledges to. + See [here](sections/client_donation_pledges.md) +- Added client API endpoint to subscribe to project newsletters. + See [here](sections/client_mailing_subscriptions.md). + +### Deprecated +- Authentication via api_token parameter and Api-Token header is + deprecated in favor of using basic authentication. + +### Fixed +- Reworked order and hierarchy in readme. + + +## 2015-01-15 +### Added +- Added the around parameter for project and volunteering + listings, that sorts by distance to its value. + + +## 2014-11-18 + +### Added +- Fallback flag for profile pictures to indicate whether the given picture is a + default picture or was uploaded by the user + + +## 2014-09-05 + +### Added +- Clarify the order behaviour for fundraising challenge results. + + +## 2014-08-14 + +### Added +- This CHANGELOG, following the ideas of http://keepachangelog.com/ +- Refactor the previous changelog to follow this convention. +- Update todo-note in table of content +- Add two more websites to "Example Integrations" for ThidPartyApp Donation + Form + +### Removed +- Previous Changelog in README + + +## 2014-08-11 + +### Added +- Add Fundraising Challenge to API and Documentation + + +## 2014-01 - 2014-04 +This is the aggrgated changelog for all changes for this time interval. + +### Added +* 2013-06-20: Add client.pool_balance_in_cents property, see doc for details +* 2013-06-14: Add platform-link to blog_posts-details +* 2013-05-15: Opinions have a link to the project now. All API-link are "api.betterplace.org" now (not www. anymore). Opinions have have a facets=has_message-Feature now. +* 2013-04-19: Change the naming of api-docu-files to follow rails-pluralization-convention. +* 2013-04-19: Added 'client project-tag list' (a list of all project-tags for a client) and 'client project-tag projects list' (a list of all projects for a client-project-tag). +* 2013-04-17: Add project pictures API. Please note the DEPRECATION warning for the project- and volunteering-profilepicture (sizes large, profile and thumb are deprecated and therefore renamed.) + +### Removed +* 2014-03-04: Remove all deprecated picture links from responses. +* 2014-01-26: Remove the beta-flag; add matching-fund api; add code and usage examples; minor improvements + +### Fixed +* 2013-04-18: Fixed project opinions. Add client opinions-feature. Note that many of the opinions-facets changed! Please re-read this part of the documentation. + + +## 2014-01 - 2014-04 +This is the aggrgated changelog for all changes for this time interval. + +### Added +* 2012-04-15: Add "Client Project-Tag Project List". +* 2012-03-03: Add picture size 'large' and 'original' to image list for projects. Please note that the images-part of the API ist still beta and might change slightly in the future. +* 2012-03-28: The project-list now returns the full result-set for each project. The minimal result set is gone for now but will be added later. The default-number of results changed to 20 for all lists. +* 2012-05~15: Add known issues, improve documentation, add opinion.donated_amount_in_cents, project.description returns html now +* 2012-03-13: Update TOC, fix opinions-details and -list response, fix empty documentation (@tordans) +* 2012-03-12: Several updates to readme, updates to descriptions for clients, updated opinions-docu, added know-issues and changelog sections (@tordans) + +### Removed +* 2012-05~15: Removed opinion.with_donation + + +## 2012-03-11 + +### Added +- Initial version (@betterplace) + + + +--- + +# Template + +## 201x-0x-xx + +### Added +- Nothing. + +### Deprecated +- Nothing. + +### Removed +- Nothing. + +### Fixed +- Nothing. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3d7de26 --- /dev/null +++ b/LICENSE @@ -0,0 +1,3 @@ +Copyright 2012 gut.org gAG + +All rights reserved. This is our API documentation, and not meant for redistribution. diff --git a/README.md b/README.md new file mode 100644 index 0000000..53b184d --- /dev/null +++ b/README.md @@ -0,0 +1,381 @@ +![betterplace.org](images/betterplace.jpg "betterplace.org") + +# The betterplace.org API Version 4 + +This is the latest API for betterplace.org. It's a REST-style API that returns +JSON for serialization. +It incorporates some ideas from [hypermedia apis](https://www.google.de/search?q=hypermedia+api) +like the link-strukture. + + +#### Please provide feedback +Please don't hesitate to provide any feedback about the API and this documentation +at developers@betterplace.org. + + +#### Mailing list for service announcements +Please send an email to product@betterplace.org to +subscribe to the api-v4-mailing list to receive service announcements +about updates and scheduled downtimes. + + +## Table of content + +0. **General information** [↓ below](#general-information) + 0. Request Parameter Format [↓ below](#request-parameter-format) + 0. Addressing the locale of a resource [↓ below](#addressing-the-locale-of-a-resource) + 0. Pagination [↓ below](#pagination) + 0. Picture formats [↓ below](#picture-formats) + 0. HTTP Status Codes [↓ below](#http-status-codes) + 0. Error Messages [↓ below](#error-messages) + 0. [Changelog](CHANGELOG.md) + 0. Known issues [↓ below](#known-issues) + 0. API Client Libraries [↓ below](#api-client-libraries) + 0. Code examples [↓ below](#code-examples) + 0. Example apps [↓ below](#example-apps) + +2. **Public API** + 1. **Projects** + 1. [**Projects** List and Search](sections/projects_list.md) + 1. [**Project** Details](sections/project_details.md) + 1. [Project **Needs** List](sections/needs_list.md) + 1. [Project **Need** Details](sections/need_details.md) + 1. [Project **Blog Posts** List](sections/blog_posts_list.md) + 1. [Project **Blog Post** Details](sections/blog_post_details.md) + 1. [Project **Opinions** List](sections/opinions_list.md) + 1. [Project **Opinion** Details](sections/opinion_details.md) + 1. [Project **Pictures** List](sections/project_pictures_list.md) + 1. [Project **Picture** Details](sections/project_picture_details.md) + 1. **Fundraising Events** + 1. [**Fundraising Events** List and Search](sections/fundraising_events_list.md) + 1. [**Fundraising Events** Details](sections/fundraising_event_details.md) + 1. [Fundraising Event **Opinions** List](sections/opinions_list.md) + 1. [Fundraising Event **Opinion** Details](sections/opinion_details.md) + 1. [Fundraising Event **Featured Projects** List](sections/fundraising_events_featured_projects_list.md) + 1. [Fundraising Event **Forwarding** List](sections/fundraising_event_forwardings_list.md) + 1. **Volunteering** + 1. [**Volunteering** List and Search](sections/volunteering_list.md) + 1. [**Volunteering** Details](sections/volunteering_details.md) + 1. **Organisations** + 1. [**Organisations** List](sections/organisations_list.md) + 1. [**Organisation** Details](sections/organisation_details.md) + 1. **MatchingFunds** + 1. [**MatchingFunds** List](sections/matching_funds_list.md) + 1. [**MatchingFund** Details](sections/matching_fund_details.md) + 1. [MatchingFund **Projects** List](sections/matching_fund_projects_list.md) + 1. **FundraisingChallenge** + 1. [Fundraising Challenge **Contest** Details](sections/fundraising_challenge_contest_details.md) + 1. [Fundraising Challenge Contest **Results** List](sections/fundraising_challenge_contest_results_list.md) + +3. **Client API** [↓ below](#client-api) + 0. Client Projects [↓ below](#client-projects) + 0. Client Authentication [↓ below](#client-authentication) + 0. [**Client** Details](sections/client_details.md) + 0. [**Client** Project Statistics](sections/client_project_statistics.md) + 0. [**Client** Fundraising Event Statistics](sections/client_fundraising_event_statistics.md) + 0. [**Client** Donations List](sections/client_donations_list.md) + 0. [**Client** Donor Contact Data](sections/donor_contact_data_details.md) + 0. [**Client** Donation Pledges](sections/client_donation_pledges.md) [:lock:](#client-api) + 0. [**Client** Mailing Subscribtions](sections/client_mailing_subscriptions.md) [:lock:](#client-api) + 0. [**Volunteering** List and Search](sections/volunteering_list.md) –  + See client section [and "Client Volunteering Offers"](#client-api) + 0. [**Client** Projects List and Search](sections/projects_list.md) –  + See client section [and "Client Projects"](#client-api) + 0. [**Client** Project Details](sections/project_details.md) –  + See client section [and "Client Projects"](#client-api) + 0. [**Client** Blog Posts List](sections/blog_posts_list.md) – See client section + 0. [**Client** Project Opinions List](sections/opinions_list.md) – See client section + 0. [**Client** Tags List](sections/client_tags_list.md) + 0. [**Client**-Project Tags List](sections/client_project_tags_list.md) + 0. [**User** Contact Data Details](sections/contact_data_details.md) [:lock:](#client-api) + +4. **Organisation API** + 1. [ThirdPartyApp custom donation form for organisations](donation_form/third_party_app_donation_form.md) + + +## General information + +* The API is https only, all non-https requests will be redirected accordingly +* The response/response format is JSON +* We support [Cross-origin resource sharing (CORS)](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing), so no proxy or JSONP is required +* Authentication: Most api calls are public. + Some client API feature require authentication. [Learn more](#client-authentication) +* Users, Companies and Portals are not part of the API at this moment. + + +### Request parameter format + +The `order` and `facets` request parameters accept multiple key-value-parameter. +We use the same convention as the [Google Static Maps API V2](https://developers.google.com/maps/documentation/staticmaps/#URL_Parameters). + +Example: `foo:bar|lorem:ipsum` + +This way you may specify a primary and secondaray sort order like this +`order=rank:DESC|created_at:DESC`, which will cause higher ranked objects to +come first and more recently created objects come first if they have equal +rank. + +* Split key and value by a colon `:` +* Split multiple key-value-parameter by a pipe `|` (`%7C`) +* [URL encode](http://de.wikipedia.org/wiki/URL-Encoding) all params, so the Pipe becomes `%7C` +* Note that for readability-reasons we don't URL encode the params in this documentation + + +### Addressing the locale of a resource +* Some resources offer translated content. To access the translated content you + need to set the lang-prefix in the API-URL. + `api_v4/de/projects/…` returns the german translations while + `api_v4/en/projects/…` return the english translated content. Not translated + content will fallback to the original content language. + We currently support content with german or english translations. +* The same pattern applies to creating resources for a specific language. + + +### Pagination + +All list requests can be paginated with the following parameters. + + + + + + + + + + + + + + + + + +
ParameterDescriptionDefault
pageUsed to paginate through the list1
per_pageThe number of entries per page20
+ +The following attributes are returned in all list view responses: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeDescriptionExample
total_entriesCount of all entries23
offsetThe number of entries that are skipped before the current listing begins, = max(page - 1, 0) * per_page0
total_pagesCount of all pages, based on per_page42
current_pageWhat page we are on1
per_pageNumber of entries per page20
+ + +### Picture formats + +Please note that all over the API only the `original` version will always be available. There are more image versions +for different entities, e.g. fill_960x500 for projects. You can use these versions, but they might change in the future! + +To avoid problems stay tuned and subscribe to the [Mailing list for service announcements ↑](#mailing-list-for-service-announcements). + + +### HTTP Status Codes + +The following HTTP result codes can be returned: + +* [HTTP Code `200`](http://httpstatus.es/200) + if all is good and + [HTTP Code `304`](http://httpstatus.es/304) + if this good thing has not been modified (based on ETag). +* [HTTP Code `201`](http://httpstatus.es/201) + if a resource was created successfully. +* [HTTP Code `202`](http://httpstatus.es/202) + if a resource was successfully submitted for delayed processing. +* [HTTP Code `400`](http://httpstatus.es/400) + if a requested resource could not be created or updated, + if the submitted data was invalid. +* [HTTP Code `401`](http://httpstatus.es/401) + if a resource requires [client authentication](#client-authentication) + but the authentication failed. +* [HTTP Code `403`](http://httpstatus.es/403) + if a resource requires [client authentication](#client-authentication) + but no client was authenticated. +* [HTTP Code `404`](http://httpstatus.es/404) + if a requested resource could not be found. + Also used for projects that are not part of a given client-scope. +* [HTTP Code `422`](http://httpstatus.es/422) + if the submitted resource could not be accepted due to erroneous parameters. +* [HTTP Code `500`](http://httpstatus.es/500) + if a software error on the server was encountered. +* [HTTP Code `503`](http://httpstatus.es/503) + if the server is unavailable due to high load. + + +### Error Messages + +If an error occurs, a JSON response messages is returned with a `name` and `reason` (optional). +Clients that use the betterplace.org-staging-environment will also see a +`backtrace` and `message` property. + +Example: + +```json +{ + "name": "GeneralError", + "status": "not_found", + "status_code": 404, + "reason": "Record Not Found", + "backtrace": [ + "/path/to/file:23:in 'method'", + "/path/to/file:42:in 'method2'" + ], + "message": "Couldn't find Project with id=666", + "links":[] +} +``` + +If errors occur during the creation process of a resource the answer will +contain helpful information about how to resolve the issues. Please note +that this information is not meant to be used in your application directly +but only for your development process. We might change the specs for the +errors-response at any time without further notice. + +Example with validation errors: + +```json +{ + "name": "GeneralError", + "status": "unprocessable_entity", + "status_code": 422, + "reason": "Cannot Process Submitted Data", + "backtrace": [ + "/path/to/file:23:in 'method'", + "/path/to/file:42:in 'method2'" + ], + "message": "First name Dies ist ein Pflichtfeld", + "errors": { "first_name": [ "Dies ist ein Pflichtfeld." ] }, + "links":[] +} +``` + +### Known issues + +Please contact developers@betterplace.org for more information + +* Documentation: Not all resources have a documentation-url as part of the json +* Documentation: The response-table does not show the root-documentation for response-elements with sub-elements (for example carrier.name is documented but carrier is not) +* Blogposts: There is no way yet to filter BlogPosts from PayoutBlogPost + + +### API Client Libraries + +While we currently officially do not offer any client api libraries [Duilio Ruggiero](https://github.com/sinetris) implemented the prototypical +ruby client [bettery](https://github.com/sinetris/bettery). + +We would love to hear from you if you plan to use/extend bettery or implement your own client and publish the code. + + +### Code examples + +* [Using the API with PHP](https://gist.github.com/svjv1160/7749784) +* [WordPress Plugin by freifunk](https://github.com/freifunk/www.freifunk.net/tree/master/wp-plugins/betterplace-project-table) which [shows the freifunk projects as a table](http://spenden.freifunk.net) +* _Please send us your code examples to developers@betterplace.org_ + + +### Example apps + +* The "Deutsch Tansanische Partnerschaft" uses this API to present their betterplace.org projects right on their website: [Project list](http://www.dtpev.de/unterstuetzen/projekte), [Project details](http://www.dtpev.de/unterstuetzen/projekte/one-child-one-light) +* [The "Förderverein Freie Netzwerke e.V."](http://foerderverein.freie-netzwerke.de/spenden/) uses this API to present their betterplace.org projects right on their website. +* [The "Alfred-Kunze-Sportpark"](http://alfred-kunze-sportpark.de/teilziele.php) uses this API to present all needs for their one betterplace.org project right on their website. +* [The "Earthship Tempelhof"](http://www.earthship-tempelhof.de/#spenden) uses this API to embed our integrated donation form (iframe) with more information about the project status. +* _Please send us your sites to developers@betterplace.org_ + + +## Client API + +This API provides special features for companies and organisations as +part of the services offered by our [betterplace solutions](http://www.betterplace-solutions.de/#buergerzeitung). +This client access requires a special contract. +Please [contact us](http://www.betterplace-solutions.de/#buergerzeitung) +with your questions. + + +### Client Projects + +Clients projects are projects on betterplace.org that are associated with a client. +This way clients can control what projects are visible on their plattform. + +Some URLs have a special scope for clients. Examples: + +* `/clients/example/projects` + will only show projects of the example-client +* `/clients/example/tags/rainforest/projects` + will only show projects of the example-client and tagged with "rainforest". + +If you request data for a project that is not part of the client +projects, the API will return an HTTP error code `404`. + + +### Client Volunteering Offers + +It is possible to associate volunteering offers with a client in order to control +which offers will be shown in the API endpoint. It works analogue to the way +projects are treated, see ["Client Projects"](#client-api). + + +### Client Authentication + +Some feature of the betterplace.org client API require your authentication. + +* Please use your API Credentials to authenticate with [HTTP Basic Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication#Client_side) username and password. +* Please use the special scope for clients that is described above. + +Username, password and client-scope are provided as part of the contract with our +[betterplace solutions](http://www.betterplace-solutions.de/#buergerzeitung). + + +### Usage example + +The local german newspaper "Trierischer Volksfreund" +has it's own donation portal at ["Meine Hilfe zählt"](http://www.meine-hilfe-zaehlt.de/). +All data are pulled from this api. In addition they use the betterplace.org +whitelabel donation form, which is another service betterplace.org provides for clients. + + +## API V1, V2, V3 + +betterplace.org has three deprecated APIs. For more information contact product@betterplace.org. + + +## About betterplace.org + +Learn more about betterplace at https://www.betterplace.org/c/about-us/ + + +## License of this documentation + +See the [license file](LICENSE). + + +## Shareable URL + +Share this docs with your friends and family: +[api-docs.betterplace.org](https://api-docs.betterplace.org) diff --git a/donation_form/third_party_app_donation_form.md b/donation_form/third_party_app_donation_form.md new file mode 100644 index 0000000..4a843db --- /dev/null +++ b/donation_form/third_party_app_donation_form.md @@ -0,0 +1,269 @@ +# ThirdPartyApp custom donation form for organisations (BETA) + + +*BETA: This is the second draft of this documentation. Please send us feedback at product@betterplace.org. Or via pull request. Thanks!* + + +## Introduction + +The ThirdPartyApp custom donation form allows a deep integration of the betterplace.org donation process into your organisations web application. + +It is meant for organisations that want to develop and maintain a custom donation experience for their donors. + +This feature is distinct from our [json-API v4](https://github.com/betterplace/betterplace_apidocs) which you can use to fetch data from the betterplace.org platform. + + +### Example Integrations + +* [Ablass App](http://www.ablass-app.de/), where you can clean your conscience +* [Donatify me](http://donatify.me/), where you can get Edward to do stuff for you +* [Seeds of Kindness 3](http://yoursiblings.org/portico/seeds-of-kindness-3), where you get a mp3 download link after your donation. Also there is a leader board and referrer-system +* [MADAide](http://madaide.org/?page_id=578), where you can donate to mark a specific piece of the football field with your name + + +### UserFlow + +This is a typical user flow when you use the ThirdPartyApp custom donation form for organisations: + +1. A donor visits your web application +2. You direct the user to your donation area +3. … and from there to the custom donation form on betterplace.org +4. The donation takes place on betterplace.org +5. We redirect the user back to your page and provide callback parameters + + +### Alternative solutions + +Before you start considering the ThirdPartyApp custom donation form please make sure to check out the other online donation tools that betterplace.org provides. Especially the integrated donation form (iFrame). For more, please visit the [German](https://www.betterplace.org/c/hilfe/themen/spendensammler/geldspenden/verbreitung-werbung/) or [English help area](https://www.betterplace.org/c/help/topics/collectdonations/financial-donations/promote/). + + + +## How to get it + +The ThirdPartyApp donation form needs to be set up by betterplace.org. + +Please make sure that you can agree to [the terms of use](#terms-of-use) below and send us an email with the following information at product@betterplace.org. + +We will check your proposal and get back to you. This is a special service in testing and in beta – so no promises! + +**E-Mail:** (all data is required) + +``` +* Project url: The URL to your betterplace.org's project. +* Description: A short description of the web application that you plan on building. +* Callback url production: The URL that we redirect users to after a successfull donation (see 'How to use it'). +* Callback url staging: This is optional. betterplace.org can provide a staging system that uses this staging callback url. +* Contact e-mail: To keep you posted about changes. +``` + + +## Terms of use + +This is a special service in testing. Nothing is final or fixed. And it's beta. So don't say we didn't warn you! + +* There is no support from the betterplace.org team for this feature other than this documentation +* All terms of use and privacy policy of betterplace.org apply +* We will inform you about changes 7 days ahead via the e-mail address that you provided +* Should we consider discontinuing this service we will inform you 3 month ahead +* The code that you write to integrate this donation form in your flow has to be open sourced under Apache License 2.0 for everyones benefit + + + +## How to use it + +After everything is set up by betterplace.org (see [How to get it](#how-to-get-it)), you just need to construct the donation form URL and make sure your callback URL can handle the response. + + +### Donation form URL and input parameter + +*Example:* +
+https://www.betterplace.org/de/projects/480/client_donations/new?client_id=ablass&donation_amount=15&donation_client_reference=wZo2aZCjJHA2CONAXxIQHt
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ https://www.betterplace.org/ + + Lets start with the domain +
+ en/, + de/ + + The language for the form +
+ projects/1114/, + fundraising-events/seeds-of-kindness-3/ + + The receiver type and id of the donation. +
+ client_donations/new?client_id=YOUR_APP_ID + + The path to the donation form. YOUR_APP_ID will be provided by betterplace.org (see How to get it). +
+ &donation_amount=6 + + OPTIONAL: You can pre-set the donation amount in euro +
+ &donation_amount_readonly=true + + OPTIONAL: You can specify if the input field for the donation amount (the default or your pre-set amount) should be readonly. This ways users cannot change the amount (easily). –– This feature is not yet implemented! +
+ &donation_client_reference=123 + + OPTIONAL – but this is basically why you would want to use the ThirdPartyApp donation form in the first place! It allows you to give each donation/donor a unique ID in your application. We will send this ID back to you via the callback url. This way you can track which donation went through. This reference should be url safe, e.g. only consist of alphanumeric symbols like a SHA-1 Hash. +
Watch out: This field must be blank or provide a unique identifier. Using the same identifier twice will prohibit donations. Please keep that in mind if you create sharing urls that contain parameters. If you choose to provide a client_reference, you can use this value to look up the donation afterwards (see Handling the post donation). +
+ +Please not that the ThirdPartyApp custom donation for does not allow color and layout changes. If you need those, consider using the [integrated donation form (iFrame)](#alternative-solutions). + + + +### Redirect URL and response parameter + +This URL is part of the configuration that needs to be done by betterplace.org (see [How to get it](#how-to-get-it)). We will redirect the donor to this URL after a successfull donation. We will also extend the URL with the following reponse parameter. + +*Cool urls dont change:* We cannot change this URL after we created you ThirPartyApp ID. Please consider redirecting inside your application. + +*Example:* +
+https://www.you-app.cool/callback.php?status=DONATION_COMPLETE&donation_client_reference=wZo2aZCjJHA2CONAXxIQHt
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ https://www.you-app.cool/callback.php + + The callback URL you provide +
+ ?status=DONATION_COMPLETE + + The status which tells you all is good. Its a bit redundant since there is only this one status ;-) +
+ &donation_client_reference=123123 + + The same value that you provided when opening the donation form via donation_client_reference +
+ &receiver_type=project&receiver_id=1114, + &receiver_type=group&receiver_id=seeds-of-kindness-3 + + The receiver type and id that you specified when opening the form. "Group" stands for "Fundraising Event". +
+ &amount=6 + + The amount that was actually donated. This corresponts to donation_amount unless the user changed it. +
+ &donation_token=STRING + + A unique token generated by betterplace.org that identifies this donation in our system. You should store this token in your application (see Handling the post donation). +
+ + + +## Handling the post donation + +Once you the user clicked on your donation link, there are a number of things that can happen. + +Should your application rely on a sum or count of valid donations (for things linke a leader board or a specific way to display a valid donation for example), you need to take care of those things in your application: + + +``` +User opens the ThirdPartyApp donation form with your client_reference +┣ User donates successfully +┃ ┣ Redirect takes place → Case 1 +┃ ┗ Redirect breaks → Case 2 +┗ User goes away or donation fails → Case 2 +``` + + +### Post donation case 1: Reconcilitian + +*Szenario:* The user donated successfully and the redirect took place. + +*Result:* You receive the DONATION_SUCCESS message via the redirect URL. + +You can be sure that the donation was successfully processed and is saved in the betterplace.org database. BUT: There are a few ways that this donation might be canceled again later (by the bank or the user most likely). + +*Next steps:* You need to check for at least 14 days if the donation stays "confirmed". + +* Option 1: Use the [client_donation_details](../sections/client_donation_details.md) API with the **donation_token** (see [Response parameter](#redirect-url-and-response-parameter)). +* Option 2: Use the [client_donations_list](../sections/client_donations_list.md) API and search for your **client_reference** + +The donation is (still) valid, if there is an API response with a **state:"confirmed"** attribute. +The donation is invalid if the API response is a 404 (donation_token) or an the search is empty (client_reference). + +Usually the state of a donation will only change during the first 14 days. In some cases however the bookback might take place later. Therefore the trigger to check the donations should probably not be time-based but based on the `open_amount_in_cents` from the [projects-json api response](../sections/project_details.md). Whenever this number changes whithout you getting new donations, you need to check the reconciliation of all donation. + +### Post donation case 2: Unknown state + +*Szenario A:* The user does not donate and leaves – for whatever reason. +*Szenario B:* The user donated successfully but the redirect _breaks_ (network connectivity, user cancels request, …). + +*Result:* You don't know nothing about what's going on. Most importantly: You cannot be sure the donation did _not_ take place. + +*Next steps*: Use the [client_donations_list](../sections/client_donations_list.md) API and search for the **client_reference** that you created once the user clicked on the link to the donation form on your website. You should save the client_refernce for this reason when you generate the link (not just when you receive the callback). You should also wait for at least two minutes before you recheck to give the user time to submit the donation. + + + +## Clients of betterplace.org / Whitelabeling + +The core for this ThirdPartyApp donation form is the technology that runs our client donation forms. The main difference being, that client donation forms are always whitelabeled to fit the design of the client application. Please get in touch for more information. + + + +## Feedback + +Please send us feedback at product@betterplace.org + diff --git a/images/betterplace.jpg b/images/betterplace.jpg new file mode 100644 index 0000000..fbc4453 Binary files /dev/null and b/images/betterplace.jpg differ diff --git a/sections/blog_post_details.md b/sections/blog_post_details.md new file mode 100644 index 0000000..4a35828 --- /dev/null +++ b/sections/blog_post_details.md @@ -0,0 +1,315 @@ + +# Project Blog Post Details ⇄ [List](blog_posts_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/blog_posts/88972.json +``` + +The details of a betterplace.org project blog post. +The details and list view show the same data. + +**For [betterplace.org clients](../README.md#client-api):** +There is no client-scoped-url. +Please use the api calls that are provided inside the client project _url_ response +to make sure you only request data that is associated with one of your projects. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
id88972yesBlog-post-id as an integer number ≥ 9.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
langstringenBlog posts have only one language at the moments
typestringPayoutBlogPostBlogposts can be created by a user BlogPost +to update your donors about new developments +or as part of the payout process PayoutBlogPost +where you tell what needs you payed our and +what you plan to do with the money. +
titlestringThank you from Beijing
bodystringI am so happy to hear about the first donation for the Good Gifted Garden. If I told Chun …The body has html like links, embeded videos, pictures.
+ + ↓payout + + null | objectTODO
+ + ↓author + + string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke" +
+### ↑Nested Attributes: payout + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
+ + ↓payout.needs + + arrayTODOTODO
+### ↑Nested Attributes: payout.needs + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
payout.needs.need_titlestringSchoolbooksTitle of the need
payout.needs.payout_amount_in_centsstring2300Amount paid out to that need
+### ↑Nested Attributes: author + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓author.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: author.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(blog post details) +
platformPermalink to betterplace.org
documentationLink to this resource in the documentation +
author.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
author.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
author.picture.fill_100x100100×100 Pixel
author.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "id": 88972, + "created_at": "2013-10-30T12:39:27+01:00", + "updated_at": "2013-10-30T12:39:27+01:00", + "lang": "en", + "type": "BlogPost", + "title": "First Climbing Contest Held in Afghanistan", + "body": "


\n

On\r\n Saturday 28th September, Skateistan Kabul's volunteers and staff took \r\npart in the inaugural indoor climbing competition held at the facility, \r\nwith both girls and boys competing (ages 11-22). This was the 1st \r\nclimbing competition that has taken place at Skateistan and the 1st \r\nknown climbing contest held in Afghanistan!

The climbing \r\ncompetition had both female and male categories with contests that \r\nincluded speed climbing and fastest rope coil. The competition was \r\njudged by our amazing volunteer climbing teachers, including the \r\ncompetition organiser Gio Trambaiolo who has been instrumental in \r\nteaching climbing to the Skateistan volunteers. Gio has volunteered as a\r\n climbing teacher nearly each week for well over a year. Skateistan is \r\nextremely lucky to have such a wonderful team of dedicated volunteers, \r\nwho include around a dozen foreigners with certified climbing \r\nbackgrounds.

\n

\" Everyone did very well, it's amazing to\r\n see how the instructors and volunteers have progressed over the past \r\nfew months. \" - Gio, volunteer climbing teacher

\n

Each \r\nweek since June 2012, climbing lessons have been provided \r\nto Skateistan's Youth Leaders, who are Afghan staff and volunteers with \r\nthe project. They have learned climbing techniques, as well as built \r\nup trust and respect for each other through the sport. It is been \r\ninspiring to watch the volunteers develop as climbers and to see the \r\nhigh skill level our Youth Leaders have developed since the program took\r\n shape last year. Through the program, 14 young Afghans (50% girls) have\r\n received certificates to be Beginner Climbing Instructors, and they now\r\n facilitate climbing classes with more than 400 students who attend \r\nSkateistan.

\n

A brief prize ceremony was held the following week to \r\ngive the final results of the competition, as well as some prizes which \r\nwere given to everyone who participated.

We\r\n want to thank all the climbing volunteers who have created a hugely \r\nsuccesful sports program for our staff and students. We wish to thank \r\nGiovanni Trambaiolo, Sheilagh Henry, Kate Hughes, Mindy Visser, Colin R,\r\n Erin Blankenship, Jeffery Dow, Kelsey Noonan, Sarah-Jean \r\nCunningham, and Stephanie Faser. Your constant creativity and innovative\r\n training have made climbing one of the leading activities for the Youth\r\n Leaders at Skateistan. The development of students who attend your \r\nclasses has been a great pleasure to watch, and will benefit hundreds of\r\n children who will continue to be taught by their Afghan peers.


\n


\n
", + "payout": null, + "author": { + "name": "E. Kinast", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/fill_100x100_original_Picture_023.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/crop_original_original_Picture_023.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/erika_k2" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/130618/contact_data.json" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/blog_posts/88972.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/projects/1114-skateistan-afghanistan/news/88972" + }, + { + "rel": "documentation", + "href": "https://github.com/betterplace/betterplace_apidocs/blob/master/sections/blog_post_details.md" + } + ] +} +``` + diff --git a/sections/blog_posts_list.md b/sections/blog_posts_list.md new file mode 100644 index 0000000..dce1c37 --- /dev/null +++ b/sections/blog_posts_list.md @@ -0,0 +1,372 @@ + +# Project Blog Posts List ⇄ [Details](blog_post_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/blog_posts.json +``` + +A list of betterplace.org projects blog posts. +Results are contained in a *data* attribute. + +**For [betterplace.org clients](../README.md#client-api):** + +* _Project-Blogposts:_ There is no client-scoped-url. +Please use the api calls that are provided inside the client project _url_ response +to make sure you only request data that is associated with one of your projects. + +* _All Blogposts:_ Clients can retrieve a list of all blogpost of all client-projects: +`/clients/PERMALINK/blog_posts.json` + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
langstringenBlog posts have only one language at the moments
typestringPayoutBlogPostBlogposts can be created by a user BlogPost +to update your donors about new developments +or as part of the payout process PayoutBlogPost +where you tell what needs you payed our and +what you plan to do with the money. +
titlestringThank you from Beijing
bodystringI am so happy to hear about the first donation for the Good Gifted Garden. If I told Chun …The body has html like links, embeded videos, pictures.
+ + ↓payout + + null | objectTODO
+ + ↓author + + string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke" +
+### ↑Nested Attributes: payout + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
+ + ↓payout.needs + + arrayTODOTODO
+### ↑Nested Attributes: payout.needs + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
payout.needs.need_titlestringSchoolbooksTitle of the need
payout.needs.payout_amount_in_centsstring2300Amount paid out to that need
+### ↑Nested Attributes: author + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓author.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: author.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(blog post details) +
platformPermalink to betterplace.org
documentationLink to this resource in the documentation +
author.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
author.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
author.picture.fill_100x100100×100 Pixel
author.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "total_entries": 92, + "offset": 0, + "total_pages": 46, + "current_page": 1, + "per_page": 2, + "data": [ + { + "id": 74128, + "created_at": "2012-11-28T10:27:50+01:00", + "updated_at": "2012-11-28T10:27:50+01:00", + "lang": "de", + "type": "BlogPost", + "title": "Skateistan in der ARD-Sendung \"Weltbilder\"", + "body": "

Die ARD-Sendung Weltbilder beschäftigt sich mit der Lage der Kinder in Afghanistan. Der Fokus des Beitrags liegt dabei auf den Skateistan-Schülern Khorshid und Parwana, die bei dem Selbstmord-Anschlag in der Nähe des ISAF-Hauptquartier Anfang September ums Leben kamen. Skateistan-Gründer Oli Percovich erklärt in einem kurzen Interview, warum es wichtig ist, dass das Projekt weitergeht.

\r\n

Eine kürzere Version des Beitrags zusammen mit einem Interview mit Rudi Tarneden von UNICEF Deutschland findet sich in der Tagesschau-Mediathek:

\r\n

http://www.tagesschau.de/multimedia/video/video1218890.html

\r\n

Eine etwas längere Version gibt es in der Mediathek des NDR:

\r\n

http://www.ndr.de/mediathek/index.html?media=weltbilder2659

", + "payout": null, + "author": { + "name": "E. Kinast", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/fill_100x100_original_Picture_023.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/crop_original_original_Picture_023.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/erika_k2" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/130618/contact_data.json" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/blog_posts/74128.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/projects/1114-skateistan-afghanistan/news/74128" + }, + { + "rel": "documentation", + "href": "https://github.com/betterplace/betterplace_apidocs/blob/master/sections/blog_post_details.md" + } + ] + }, + { + "id": 49498, + "created_at": "2011-11-24T09:58:42+01:00", + "updated_at": "2011-11-24T09:58:42+01:00", + "lang": "en", + "type": "BlogPost", + "title": "Young Skateistan volunteer wins UNESCO drawing contest", + "body": "

Skateistan students recently took part in a United Nations Educational, Scientific and Cultural Organisation (UNESCO) and United Nations Girls’ Education Initiative (UNGEI) drawing contest to promote the importance of gender equality in education.

\r\n

This semester at Skateistan our curriculum is all about the arts, so the drawing contest was a perfect opportunity to explore how we can express ourselves visually. Each class had discussions about equality in education before starting the drawings back in September.

\r\n

The winners were recently announced on the UNESCO website and one of our very own students, Hamdullah, was selected as a contest winner alongside other young artists from as far away as Bhutan, Timor and Mongolia. His drawing will be published in the UNGEI 2012 calendar.

\r\n

According to UNGEI, \"More than 3,000 drawings were received from 24 countries illustrating how gender equality in education benefits everyone. The aim of the contest and of the calendar is to raise public awareness on regional issues of gender equality in education, and to paint a picture of the benefits reaped from gender equality in education for both girls and boys.\"

\r\n

Hamdullah first came to Skateistan as a student, but has since become a volunteer, helping to teach and translate in workshops. He is also one of the star students in our advanced film-making classes. Keep it up Hamdullah, we are all proud of you!

\r\n

Check out the drawing here.

", + "payout": null, + "author": { + "name": "M. Henninger", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/009/238/fill_100x100_original_maxn_skate.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/009/238/crop_original_original_maxn_skate.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/max_h2" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/9238/contact_data.json" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/blog_posts/49498.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/projects/1114-skateistan-afghanistan/news/49498" + }, + { + "rel": "documentation", + "href": "https://github.com/betterplace/betterplace_apidocs/blob/master/sections/blog_post_details.md" + } + ] + } + ] +} +``` + diff --git a/sections/client_details.md b/sections/client_details.md new file mode 100644 index 0000000..3135e27 --- /dev/null +++ b/sections/client_details.md @@ -0,0 +1,243 @@ + +# Client Details + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund.json +``` + +**For [betterplace.org clients](../README.md#client-api) only:** + +All statistic values are DEPRECATED here and will be removed after 31.5.2015. + +Please find the new values in +[**Client** Project Statistics](client_project_statistics.md) and +[**Client** Fundraising Event Statistics](client_fundraising_event_statistics.md). + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
idvolksfreundyesThe betterplace.org-internal client permalink
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
donated_amount_in_centsnumber10100DEPRECATED and will be removed after 31.5.2015. + +How many cents are donated already to all client projects.  +Calculation based on open_amount_in_cents and requested_amount_in_cents. + +Therefore it includes the money of the client-pool-fundraising-event +that still has to be forwarded to one of the client-projects-needs. +It also includes external donations that project manager can add to projects. + +Remember: This includes all donations to projects of this client even those +that are donated via betterplace.org or other channels. +
pool_balance_in_centsnumber100DEPRECATED and will be removed after 31.5.2015. + +Clients may have a client-pool-fundraising-event that receives money +from offline-donations that could not be associated with a project or +similar use cases. + +The balance repesents the donated amount in cents on the pool +that has not yet been forwarded to one of the client-project-needs. + +This is the number that is include in open_amount_in_cents and donated_amount_in_cents. +
open_amount_in_centsnumber9900DEPRECATED and will be removed after 31.5.2015. + +How many cents are still needed to complete all client projects. +This calculation is based on the sum of all +needs (open_amount_in_cents). +We also substract the money of the client-pool-fundraising-event +that still has to be forwarded to one of the client-projects-needs. +
requested_amount_in_centsnumber11000DEPRECATED and will be removed after 31.5.2015. + +How many cents are still needed to complete all client projects. +This calculation is based on the sum of all +needs (requested_amount_in_cents). +
projects_countnumber100DEPRECATED and will be removed after 31.5.2015. + +The number of projects of this client +
client_donated_amount_in_centsnumber8100DEPRECATED and will be removed after 31.5.2015. + +How many cents are donated through the clients donation page. +
client_matched_amount_in_centsnumber2500DEPRECATED and will be removed after 31.5.2015. + +How many cents are donated by matching donations by all matching funds of the client +
client_donations_countnumber200DEPRECATED and will be removed after 31.5.2015. + +The number of client donations for this client +
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
projectsLink to the project list of this client +
client_donationsLink to the client donations list of this client +
client_project_tagsLink to the tags list of this client +
client_fundraising_eventsLink to the fundraising events list of this client +
opinionsLink to the opinions list of this client +
project_mailing_subscriptionsLink to the templated client mailing subscriptions +of this client. Replace {project_id} with the ID of a project that is +part of you client projects list. +
project_statisticsLink to the project statistics of this client +
fundraising_event_statisticsLink to the fundraising event statistics of this client +
+ +## Response Example + +```json +{ + "donated_amount_in_cents": 163262002, + "pool_balance_in_cents": 10920892, + "open_amount_in_cents": 30919243, + "requested_amount_in_cents": 194181245, + "projects_count": 0, + "client_donated_amount_in_cents": 146476940, + "client_matched_amount_in_cents": 0, + "client_donations_count": 14101, + "links": [ + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/projects.json" + }, + { + "rel": "client_donations", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations.json" + }, + { + "rel": "client_project_tags", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/tags.json" + }, + { + "rel": "client_fundraising_events", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/fundraising_events.json" + }, + { + "rel": "opinions", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/opinions.json" + }, + { + "rel": "project_mailing_subscriptions", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/projects/%7Bproject_id%7D/mailing_subscriptions.json", + "templated": true + }, + { + "rel": "project_statistics", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/project_statistics.json" + }, + { + "rel": "fundraising_event_statistics", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/fundraising_event_statistics.json" + } + ] +} +``` + diff --git a/sections/client_donation_details.md b/sections/client_donation_details.md new file mode 100644 index 0000000..f92eb37 --- /dev/null +++ b/sections/client_donation_details.md @@ -0,0 +1,173 @@ + +# Client Donation Details ⇄ [List](client_donations_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/V9mxWWAeuVK9PtJw9mrZRyRk.json +``` + +**For [betterplace.org clients](../README.md#client-api) only:** + +The details of a betterplace.org client donation. +The details and list view show the same data. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client permalink.
idV9mxWWAeuVK9PtJw9mrZRyRkyes The donation token that the client donation form passed to the + callback url or the client_reference that was provided by the client. +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
amount_in_centsnumber10100Donated amount in cents
statestring"confirmed"At the moment, all donations that are returned by the API are "confirmed". +Unconfirmed donations do not show up at all or disappear after they where revoked. +Revocations usually take place during the first 14 days – but there are no guarantees. + +Please make sure to check for the "confirmed" state in your application explicitly since +we might add a "revoked" state in the future. +
tokenstringofMmTgfiPL-n1dDlNmFWqTQNA token uniquely identifies a donation on the platform. +
client_referencestring922ec9b-etcClient Donations can be identified via a custom client reference token. + +This donation_client_reference can be provided by users of our + +ThirdPartyApp custom donation form for organisations, for example. +
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
receiver_typestring"Project"Client donations may go to Project, +Project Element, FundraisingEvent. +
receiver_idnumber1114The id of the project, project element or fundraising event.
receiver_titlestring"Skateistan Afghanistan"The title of the project, project element or fundraising event.
+ + +## Response Links + + + + + + + + + + + + + + + + + + + +
LinknameDescription
receiverLink to the project details +or project need details +that is associated with this donation. +
selfLink to this resource itself +(client donation details) +
donor_contact_dataLink to the donor contact data +(donor contact data details) +
+ +## Response Example + +```json +{ + "amount_in_cents": 500, + "state": "confirmed", + "token": "V9mxWWAeuVK9PtJw9mrZRyRk", + "client_reference": "", + "created_at": "2014-04-15T10:26:20+02:00", + "receiver_type": "Project", + "receiver_id": 18417, + "receiver_title": "Mobiler Kinder- und Jugendtreff", + "links": [ + { + "rel": "receiver", + "href": "https://api.betterplace.org/de/api_v4/projects/18417.json" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/V9mxWWAeuVK9PtJw9mrZRyRk.json" + }, + { + "rel": "donor_contact_data", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/V9mxWWAeuVK9PtJw9mrZRyRk/donor_contact_data.json" + } + ] +} +``` + diff --git a/sections/client_donation_pledges.md b/sections/client_donation_pledges.md new file mode 100644 index 0000000..d8faf1b --- /dev/null +++ b/sections/client_donation_pledges.md @@ -0,0 +1,298 @@ + +# Client Donation Pledges + +```Rebol +POST https://api.betterplace.org/de/api_v4/clients/volksfreund/projects/1114/donation_pledges.json +``` + +Submit a donation pledge into the system. This will be transformed into +a donation to the receiver. The request has to be a POST request with a +JSON body. + + +**:lock: Only available if authenticated as a client.** +See [betterplace.org clients](../README.md#client-api). + + +**What if the donation receiver is fully funded?** + +The donation will be booked in the receiver account even +if the receiver is fully funded. The receiver will than show a +progress percentage > 100 %. For a project that means, the project +manager has to add new money needs to pay out the additional funds. + +Please note that a closed project is prohibited from receiving donations. + + +**What if the donation receiver is prohibited from receiving donations?** + +At the time when the pledge is received the system does not check the receiver +status. Therefore the API will always respond with a success message for all +receivers. Should the receiver be prohibited from receiving donations at the +time when the donation is processed, the donation will be redirected to a +specific client donation pool. Clients can later forward this money to +projects they choose. + + +**Reconciliation of donation pledges** + +The process of reconciliation for donation pledges has yet to be documented. +Please contact product-at-betterplace.org for details. + + +**Response and error codes:** + +A successful request will return HTTP status 202 (accepted). The +donation pledge is now saved and queued and will be processed +by background workers. This part takes place asynchronously and might +take up to a few minutes, especially in high traffic scenarios. +Please make sure that you queue and retry your API calls until you +receive a 202 response from us. Note that we will book only one +donation per client_reference so there is no need to +worry about retrying the pledge-sending. + +If an error occurs the HTTP return code will be 422 (unprocessable +entity). [More error codes](../README.md#http-status-codes). + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
languageenyesThe donation is marked with the language you use in your URL. +Project manager use this language information for their donation +thank you message, for example. To target a lang see +api setting lang. +
client_idvolksfreundyesThe betterplace.org-internal client permalink.
project_id1114yesProject-id as an integer number ≥ 14.
+ +## JSON Parameters + +JSON parameters have to be provided in the body of the request with the +Content-Type header set to "application/json". The parameters are part of a +flat JSON document without any nesting. Some parameters are required, others +are optional. + +### Example + +```json +{ + "first_name": "Max", + "last_name": "Mustermann", + "email": "mm@example.com", + "amount_in_cents": 100, + "client_reference": "djksbf23u4sjkdn234p", + "street": "Rheinstrasse 202", + "city": "Wiesbaden", + "zip": "65185", + "country_code": "DE", + "validate_address": false +} +``` + +### Supported Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleTypesRequiredDescription
first_nameMaxstringyesFirst name of the donor.
last_nameMustermannstringyesLast name of the donor.
emailmm@example.comstringyesEmail address of the donor. +Only valid email addresses will be accepted. +
amount_in_cents100numberyesThe amount of cents that are donated. +Must be a positive integer between +100 +and 100000. +
client_referencedjksbf23u4sjkdn234pstringyesA unique identifier for this transaction. +With this reference one can find the donation and its status later +by using the client_reference-facet on the +donation list endpoint. +
+Allowed characters are a-zA-Z0-9_-. +
+Attention: If you use a non-unique client reference, +the donation pledge endpoint will still respond with success. +However the pledge will not be processed into a donation but ignored. +
+This is to make sure that one transaction is only processed once. +
streetRheinstrasse 202stringyesThe street of the donors address. +Used to issue a donation receipt if the donation is tax deductible. +This field is mandatory by default, but optional with validate_address=false. +
cityWiesbadenstringyesThe city of the donors address. +Used to issue a donation receipt if the donation is tax deductible. +This field is mandatory by default, but optional with validate_address=false. +
zip65185stringyesZip code of the city or region the donor lives in. +Used to issue a donation receipt if the donation is tax deductible. +This field is mandatory by default, but optional with validate_address=false. +
country_codeDEstringyesISO2 code of the country the donor lives in. A list of valid ISO2 codes +can be found at +Wikipedia ISO_3166-1_alpha-2. Used to issue a donation receipt if +the donation is tax deductible. +This field is mandatory by default, but optional with validate_address=false. +
validate_addressfalsebooleannoPass false to allow donations without a donor address. +
+Attention: Donation receipts can only be issued to donors who +provide their full address details. Therefore a warning might be +in order when using this option: Let donors know that they won't get a +donation receipt, or that they will only get a receipt if they do enter +their address. +
+True by default. +
+ +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
statusstringacceptedHTTP status code as a descriptive string. +For a list of codes, see httpstatus.es. +Example: "accepted" for code 202 +
status_codenumber202HTTP status code as an integer number, e.g. 202. +
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
locationLocation where the created/updated resource can be viewed or more +information about it can be gathered. +
+ +## Response Example + +```json +{ + "status": "accepted", + "status_code": 202, + "links": [ + { + "rel": "location", + "href": "https://api.betterplace.org/de/api_v4/clients/some_client/client_donations/666-a-reference" + } + ] +} +``` + diff --git a/sections/client_donations_list.md b/sections/client_donations_list.md new file mode 100644 index 0000000..bad248d --- /dev/null +++ b/sections/client_donations_list.md @@ -0,0 +1,242 @@ + +# Client Donations List ⇄ [Details](client_donation_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations.json?facets=client_reference%3A922ec9b-etc +``` + +**For [betterplace.org clients](../README.md#client-api) only:** + +This API returns all donations to all client projects that where made using +the client donation form (but none of the other donation-sources). + +Results are contained in a *data* attribute. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client permalink.
facetsclient_reference:922ec9b-etcnoYou can search for a specific client_reference: ?facets=client_reference:54 + +
+Example: + + https://api.betterplace.org/en/api_v4/ clients/karmic_minion/ client_donations?facets=client_reference:54 + + +
+This feature is only used in some cases that relate to the +ThirdPartyApp custom donation form for organisations +and the Client donation pledge endpoint. +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
amount_in_centsnumber10100Donated amount in cents
statestring"confirmed"At the moment, all donations that are returned by the API are "confirmed". +Unconfirmed donations do not show up at all or disappear after they where revoked. +Revocations usually take place during the first 14 days – but there are no guarantees. + +Please make sure to check for the "confirmed" state in your application explicitly since +we might add a "revoked" state in the future. +
tokenstringofMmTgfiPL-n1dDlNmFWqTQNA token uniquely identifies a donation on the platform. +
client_referencestring922ec9b-etcClient Donations can be identified via a custom client reference token. + +This donation_client_reference can be provided by users of our + +ThirdPartyApp custom donation form for organisations, for example. +
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
receiver_typestring"Project"Client donations may go to Project, +Project Element, FundraisingEvent. +
receiver_idnumber1114The id of the project, project element or fundraising event.
receiver_titlestring"Skateistan Afghanistan"The title of the project, project element or fundraising event.
+ + +## Response Links + + + + + + + + + + + + + + + + + + + +
LinknameDescription
receiverLink to the project details +or project need details +that is associated with this donation. +
selfLink to this resource itself +(client donation details) +
donor_contact_dataLink to the donor contact data +(donor contact data details) +
+ +## Response Example + +```json +{ + "total_entries": 14101, + "offset": 0, + "total_pages": 4701, + "current_page": 1, + "per_page": 3, + "data": [ + { + "amount_in_cents": 1000, + "state": "confirmed", + "token": "328db52eb745be52f3b5aaf0", + "client_reference": null, + "created_at": "2010-10-28T14:44:49+02:00", + "receiver_type": "Project", + "receiver_id": 4807, + "receiver_title": "Kleinbus für den Palais e.V. Trier", + "links": [ + { + "rel": "receiver", + "href": "https://api.betterplace.org/de/api_v4/projects/4807.json" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/328db52eb745be52f3b5aaf0.json" + }, + { + "rel": "donor_contact_data", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/328db52eb745be52f3b5aaf0/donor_contact_data.json" + } + ] + }, + { + "amount_in_cents": 100, + "state": "confirmed", + "token": "7d775febc93584375ab07136", + "client_reference": null, + "created_at": "2010-10-28T17:48:16+02:00", + "receiver_type": "Project", + "receiver_id": 4798, + "receiver_title": "Hilfe für Jugendliche mit krebskranken Eltern", + "links": [ + { + "rel": "receiver", + "href": "https://api.betterplace.org/de/api_v4/projects/4798.json" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/7d775febc93584375ab07136.json" + }, + { + "rel": "donor_contact_data", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/7d775febc93584375ab07136/donor_contact_data.json" + } + ] + }, + { + "amount_in_cents": 400, + "state": "confirmed", + "token": "86be4452d4afb0f2d56f0add", + "client_reference": null, + "created_at": "2010-10-29T09:46:25+02:00", + "receiver_type": "Project", + "receiver_id": 4798, + "receiver_title": "Hilfe für Jugendliche mit krebskranken Eltern", + "links": [ + { + "rel": "receiver", + "href": "https://api.betterplace.org/de/api_v4/projects/4798.json" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/86be4452d4afb0f2d56f0add.json" + }, + { + "rel": "donor_contact_data", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/86be4452d4afb0f2d56f0add/donor_contact_data.json" + } + ] + } + ] +} +``` + diff --git a/sections/client_fundraising_event_statistics.md b/sections/client_fundraising_event_statistics.md new file mode 100644 index 0000000..f5e86bf --- /dev/null +++ b/sections/client_fundraising_event_statistics.md @@ -0,0 +1,109 @@ + +# Client Fundraising Event Statistics + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/fundraising_event_statistics.json +``` + +**For [betterplace.org clients](../README.md#client-api) only:** +Some client-statistics for a betterplace.org client. All results are cached for 20 minutes. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client permalink
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
donated_amount_in_centsnumber10100How many cents are donated already to all fundraising events of this client. + +It does not include the money of the client-pool-fundraising-event. + +Remember: This includes all donations to fundraising events of this client even those +that are donated via betterplace.org or other channels. +
fundraising_events_countnumber100The number of fundraising events of this client. + +Blocked fundraising events are excluded from this count and from the API in general. +
client_donated_amount_in_centsnumber8100How many cents are donated through the clients donation page to +all fundraising events (those that are active, closed, blocked and so on). + +The client-pool-fundraising-event is ignored. +
client_donations_countnumber200The number of client donations for this client to +all fundraising events (those that are active, closed, blocked and so on). + +The client-pool-fundraising-event is ignored. +
+ + +## Response Links + + + + + + + + +
LinknameDescription
No response example defined
+ +## Response Example + +```json +{ + "donated_amount_in_cents": 0, + "fundraising_events_count": 0, + "client_donated_amount_in_cents": 0, + "client_donations_count": 0, + "links": [ + + ] +} +``` + diff --git a/sections/client_mailing_subscriptions.md b/sections/client_mailing_subscriptions.md new file mode 100644 index 0000000..31c40be --- /dev/null +++ b/sections/client_mailing_subscriptions.md @@ -0,0 +1,169 @@ + +# Client Mailing Subscriptions + +```Rebol +POST https://api.betterplace.org/de/api_v4/clients/volksfreund/projects/4425/mailing_subscriptions.json +``` + +Create or update a mailing subscriptions for a project. + +**:lock: Only available if authenticated as a client.** +See [betterplace.org clients](../README.md#client-api). + +**Response and error codes:** + +A successful request will return HTTP status 201 (created). + +If an error occurs the HTTP return code will be 422 (unprocessable +entity). [More error codes](../README.md#http-status-codes). + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
languageenyesThe subscription is marked with the language you use in your URL. +Newsletter authors write their content in a specific lang which you can +target with the subscription lang. To target a lang see +api setting lang. +
client_idvolksfreundyesThe betterplace.org-internal client permalink.
project_id4425yesProject-id as an integer number ≥ 14.
+ +## JSON Parameters + +JSON parameters have to be provided in the body of the request with the +Content-Type header set to "application/json". The parameters are part of a +flat JSON document without any nesting. Some parameters are required, others +are optional. + +### Example + +```json +{ + "email": "peter.paul@betterplace.org", + "first_name": "Peter", + "last_name": "Paul", + "active": true +} +``` + +### Supported Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleTypesRequiredDescription
emailpeter.paul@betterplace.orgstringyesThe email of the user
first_namePeterstringyesThe first name of the user
last_namePaulstringyesThe last name of the user
activetruebooleanyesState of the subscription: active/inactive
+ +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
statusstringacceptedHTTP status code as a descriptive string. +For a list of codes, see httpstatus.es. +Example: "accepted" for code 202 +
status_codenumber202HTTP status code as an integer number, e.g. 202. +
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
locationLocation where the created/updated resource can be viewed or more +information about it can be gathered. +
+ +## Response Example + +```json +{ + "status": "created", + "status_code": 201, + "links": [ + + ] +} +``` + diff --git a/sections/client_project_statistics.md b/sections/client_project_statistics.md new file mode 100644 index 0000000..7e75fa2 --- /dev/null +++ b/sections/client_project_statistics.md @@ -0,0 +1,124 @@ + +# Client Project Statistics + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/project_statistics.json +``` + +**For [betterplace.org clients](../README.md#client-api) only:** +Some client-statistics for a betterplace.org client. All results are cached for 20 minutes. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client permalink
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
donated_amount_in_centsnumber10100How many cents are donated already through user donations or forwardings +to all client projects. + +Remember: This includes all donations to projects of this client even those +that are donated via betterplace.org or other channels. +
external_donated_amount_in_centsnumber10100How many cents are external donations, that means they were given directly +to the project on other, non-betterplace channels. +
requested_amount_in_centsnumber11000How many cents were requested by all client projects in total. +This calculation is based on the sum of all +needs (requested_amount_in_cents). + +Calculate the amount of cents that is still missing until all projects +are completed like this: + `requested_amount_in_cents - donated_amount_in_cents - external_donated_amount_in_cents` +
projects_countnumber100The number of projects of this client. +
client_donated_amount_in_centsnumber8100How many cents are donated through the client's donation page and forwarded +from the clients donation pool or matching funds of this client. +
client_donations_countnumber200The number of client donations for this client. +
+ + +## Response Links + + + + + + + + +
LinknameDescription
No response example defined
+ +## Response Example + +```json +{ + "donated_amount_in_cents": 0, + "external_donated_amount_in_cents": 0, + "requested_amount_in_cents": 0, + "projects_count": 0, + "client_donated_amount_in_cents": 0, + "client_donations_count": 0, + "links": [ + + ] +} +``` + diff --git a/sections/client_project_tags_list.md b/sections/client_project_tags_list.md new file mode 100644 index 0000000..d2136b8 --- /dev/null +++ b/sections/client_project_tags_list.md @@ -0,0 +1,140 @@ + +# Client-project tags list + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/projects/4425/tags.json?order=projects_count%3ADESC +``` + +**For [betterplace.org clients](../README.md#client-api) only:** + +This API returns all tags assigned by this client for this project. +Client project tags are a custom client feature and andministered +as a service of [betterplace solutions](http://www.betterplace-solutions.de/#buergerzeitung). + +Results are contains in a *data* attribute. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client permalink
project_id4425yesProject-id as an integer number ≥ 14.
orderprojects_count:DESCnoOrder the result by +slug (tag name) or projects_count. +Use the optional ASC (default) or DESC to +change the order of the results. Learn how to format the +parameter. +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
tagstring"Education"The name of the tag, that is unique per client. +
projects_countnumber23The number of projects +that where tagged with this tag. +
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
projectsLink to the project list of all projects that are tagged with this tag for the current client. +
+ +## Response Example + +```json +{ + "total_entries": 5, + "offset": 0, + "total_pages": 2, + "current_page": 1, + "per_page": 3, + "data": [ + { + "tag": "Trier", + "projects_count": 39, + "links": [ + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/tags/Trier/projects.json" + } + ] + }, + { + "tag": "KinderJugendliche", + "projects_count": 37, + "links": [ + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/tags/KinderJugendliche/projects.json" + } + ] + }, + { + "tag": "Familien", + "projects_count": 14, + "links": [ + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/clients/volksfreund/tags/Familien/projects.json" + } + ] + } + ] +} +``` + diff --git a/sections/client_tags_list.md b/sections/client_tags_list.md new file mode 100644 index 0000000..99ef827 --- /dev/null +++ b/sections/client_tags_list.md @@ -0,0 +1,110 @@ + +# Client tags list + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/tags.json +``` + +**For [betterplace.org clients](../README.md#client-api) only:** + +This API returns all tags defined for a client. + +Results are contained in a *data* attribute. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client id
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
tagstring"Education"The name of the tag, that is unique per client. +
projects_countnumber23The number of projects +that where tagged with this tag. +
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
projectsLink to the project list of all projects that are tagged with this tag for the current client. +
+ +## Response Example + +```json +{ + "total_entries": 13, + "offset": 0, + "total_pages": 7, + "current_page": 1, + "per_page": 2, + "data": [ + { + "tag": "Bedürftige", + "projects_count": 12, + "links": [ + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/clients/heidenheim/tags/Bed%C3%BCrftige/projects.json" + } + ] + }, + { + "tag": "Behinderte", + "projects_count": 10, + "links": [ + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/clients/heidenheim/tags/Behinderte/projects.json" + } + ] + } + ] +} +``` + diff --git a/sections/contact_data_details.md b/sections/contact_data_details.md new file mode 100644 index 0000000..f2dfef7 --- /dev/null +++ b/sections/contact_data_details.md @@ -0,0 +1,91 @@ + +# User Contact Data Details + +```Rebol +GET https://api.betterplace.org/de/api_v4/users/250285/contact_data.json +``` + +Name and email for the given user. + +Used by api clients to access data about +the managers of projects that belog to this +client. + +**:lock: Only available if authenticated as a client and only if this clients has permissions to access this data.** +See [betterplace.org clients](../README.md#client-api). + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
user_id250285yesUser-id as an integer number.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
first_namestringPeterThe first name of the user or donor.
last_namestringPaulThe last name of the user or donor.
emailstringpeter.paul@betterplace.orgThe email address of the user or donor.
+ + +## Response Links + + + + + + + + +
LinknameDescription
No response example defined
+ +## Response Example + +```json +{ + "first_name": "Markus", + "last_name": "Jo", + "email": "mjo@betterplace.org", + "links": [ + + ] +} +``` + diff --git a/sections/donor_contact_data_details.md b/sections/donor_contact_data_details.md new file mode 100644 index 0000000..8c3c37d --- /dev/null +++ b/sections/donor_contact_data_details.md @@ -0,0 +1,99 @@ + +# Donor Contact Data Details + +```Rebol +GET https://api.betterplace.org/de/api_v4/clients/volksfreund/client_donations/V9mxWWAeuVK9PtJw9mrZRyRk/donor_contact_data.json +``` + +Name and email for the donor. + +This feature is based on a special checkbox that +has to be integrated in the client donation form or +on the postdonation page. Only users that give the +explicit permission to provide the data to the client +will be included. + +**:lock: Only available if authenticated as a client and only if this clients has permissions to access this data.** +See [betterplace.org clients](../README.md#client-api). + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
client_idvolksfreundyesThe betterplace.org-internal client permalink.
client_donation_idV9mxWWAeuVK9PtJw9mrZRyRkyesThe betterplace.org donation token or given client reference.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
first_namestringPeterThe first name of the user or donor.
last_namestringPaulThe last name of the user or donor.
emailstringpeter.paul@betterplace.orgThe email address of the user or donor.
+ + +## Response Links + + + + + + + + +
LinknameDescription
No response example defined
+ +## Response Example + +```json +{ + "first_name": "Peter", + "last_name": "Paul", + "email": "peter.paul@betterplace.org", + "links": [ + + ] +} +``` + diff --git a/sections/fundraising_challenge_contest_details.md b/sections/fundraising_challenge_contest_details.md new file mode 100644 index 0000000..4e63ca6 --- /dev/null +++ b/sections/fundraising_challenge_contest_details.md @@ -0,0 +1,131 @@ + +# Fundraising Challenge: Contest Details + +```Rebol +GET https://api.betterplace.org/de/api_v4/contests/1.json +``` + +The details of a contest. + +One fundraising challenge can have multiple contests, each with +it's own timeframe (begins_at, ends_at). + +The contest level only shows general information. +Everything else is part of the [result lists](fundraising_challenge_contest_results_list.md). + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
id1yesContest-id as an integer number ≥ 0.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
begins_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
ends_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
donated_amount_in_centsnumber250Sum of all donations in cents +that are counted as part of this fundraising challenge. +
donation_countnumber5Number of donations +that are counted as part of this fundraising challenge. +
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
resultsThe contest result list +includes all participants, their position in this contest +and a link to more details about the participant. +
+ +## Response Example + +```json +{ + "id": 1, + "created_at": "2014-08-12T12:56:01+02:00", + "updated_at": "2014-10-13T16:05:39+02:00", + "begins_at": "2014-09-29T00:00:00+02:00", + "ends_at": "2014-10-12T23:59:00+02:00", + "donated_amount_in_cents": 2020088, + "donation_count": 1367, + "links": [ + { + "rel": "results", + "href": "https://api.betterplace.org/de/api_v4/contests/1/results.json" + } + ] +} +``` + diff --git a/sections/fundraising_challenge_contest_results_list.md b/sections/fundraising_challenge_contest_results_list.md new file mode 100644 index 0000000..34d626b --- /dev/null +++ b/sections/fundraising_challenge_contest_results_list.md @@ -0,0 +1,172 @@ + +# Fundraising Challenge: Contest Results List + +```Rebol +GET https://api.betterplace.org/de/api_v4/contests/1/results.json +``` + +A list of contest results. +Results are contained in a *data* attribute. + +Each result represents the position of a participant [in the given contest.](fundraising_challenge_contest_details.md). + +Each result links to the corresponding participant. + +**Order:** + +The order for the result list is by rank. +The rank is based on the number of donations. +Participants with the same rank / number of donations are ordered by project ID. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
contest_id1yesContest-id as an integer number ≥ 0.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
ranknumber1An integer number ≥ 1
donation_countnumber100An integer number ≥ 0
donated_amount_in_centsnumber5000An integer number ≥ 0
participant_typestringProjectThe type of the participant
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
participantLink to the participant. +The participant type is documented in the type-attribute. +Currently all participants are projects +(project details). +
+ +## Response Example + +```json +{ + "total_entries": 12, + "offset": 0, + "total_pages": 4, + "current_page": 1, + "per_page": 3, + "data": [ + { + "id": 31, + "created_at": "2014-09-29T00:00:10+02:00", + "updated_at": "2014-10-13T16:05:39+02:00", + "rank": 11, + "donation_count": 4, + "donated_amount_in_cents": 10000, + "participant_type": "Project", + "links": [ + { + "rel": "participant", + "href": "https://api.betterplace.org/de/api_v4/projects/18971.json" + } + ] + }, + { + "id": 32, + "created_at": "2014-09-29T00:00:10+02:00", + "updated_at": "2014-10-13T16:05:39+02:00", + "rank": 9, + "donation_count": 6, + "donated_amount_in_cents": 15000, + "participant_type": "Project", + "links": [ + { + "rel": "participant", + "href": "https://api.betterplace.org/de/api_v4/projects/22000.json" + } + ] + }, + { + "id": 33, + "created_at": "2014-09-29T00:00:11+02:00", + "updated_at": "2014-10-13T16:05:38+02:00", + "rank": 1, + "donation_count": 552, + "donated_amount_in_cents": 704899, + "participant_type": "Project", + "links": [ + { + "rel": "participant", + "href": "https://api.betterplace.org/de/api_v4/projects/22247.json" + } + ] + } + ] +} +``` + diff --git a/sections/fundraising_event_details.md b/sections/fundraising_event_details.md new file mode 100644 index 0000000..e560fc8 --- /dev/null +++ b/sections/fundraising_event_details.md @@ -0,0 +1,413 @@ + +# Fundraising Event Details ⇄ [List](fundraising_events_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/fundraising_events/19267.json +``` + +The details of a betterplace.org fundraising events (donate money). + +**For [betterplace.org clients](../README.md#client-api):** +Use this resource like `/clients/PERMALINK/fundraising-events/ID.json` + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
id19267yesFundraising-Event-id as an integer number ≥ 1.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
titlestringGemeinsam gegen Ebola: Deine Spende für WestafrikaMax 50 character
descriptionstringLorem ipsumMax 25.000 character
tax_deductiblebooleantrueTrue if the fundraising event is marked as tax deductible and +can only support tax deductible projects. +If so, users can request a tax-receipt for their donation +that can be used with the german tax authorities. +
donations_prohibitedbooleanfalseTrue if the fundraising event must not and cannot receive donations. +This might happen if the event was closed by the manager +or blocked by a platform administrator. + +Please check this flag whenever you display a donation button. +Should you show a button for an event that cannot receive donations +the user will open the donation form and see an error message on +betterplace.org instead! +
closed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the fundraising event was closed +by the manager. +
donor_countnumber46Number of unique donors, based on the payment-email-address
donated_amount_in_centsnumber232323How many cents were already raised with the fundraising event
requested_amount_in_centsnumber12382How many cents were requested to be raised with the fundraising event. +This value is optional! The manager decides if his event has a goal or not. +
progress_percentagenumber5% financed. This value is only present in case the manager +decided to add a requested_amount_in_cents. +
+ + ↓contact + + objectTODOThe public face of the fundraising event / fundraising event manager
+ + ↓profile_picture + + null | object//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(fundraising event details) +
featured_projectsA list of projects are currently supported by the fundraising event. + +Please note, that this project list has no fixed relation to the list of projects that received money by this fundraising event (see Featured Projects List). +A Fundraising event manager can change the list of supported projects at any time; regardless if they received money before. +
forwardingsProvides a list of forwarded amounts and their receiving projects. + +Each fundraising event can have multiple projects that it supports. The fundraising event manager specifies the amount that is forwarded from the fundraising event to the project. +Please note, that this list of forwarded donations and their corresponding receiving projects is not required to be in sync with the Featured Project List endpoint. +To find out, if all donations of the fundraising event have been forwarded, please sum the amounts provided by this api endpoint and compare it to the donated amount attribute of the fundraising event api endpoint. +
platformPermalink to betterplace.org
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "id": 19267, + "created_at": "2014-09-23T21:17:06+02:00", + "updated_at": "2015-06-28T11:32:11+02:00", + "title": "Gemeinsam gegen Ebola: Deine Spende für Westafrika", + "description": "Das Ebola-Virus ist für uns* in Westafrika allgegenwärtig: Schüttelt man zur Begrüßung noch die Hand, obwohl die Regierungen davon abraten? Tritt man die Dienstreise in das vom Virus betroffene Nigeria an? Droht die Quarantäne, wenn man bei der Ausreise aus der Region unter Erkältung und Fieber leidet?

Für die Menschen in Sierra Leone, Liberia und Guinea sind das Luxusprobleme. Dort ist ein normaler Alltag nicht mehr möglich. Im Familienkreis oder der Nachbarschaft gibt es möglicherweise Tote zu beklagen. Der Zugang zu Gesundheitsdienstleistungen ist, auch für andere häufig auftretende Krankheiten wie Malaria, erschwert und kann teilweise nicht mehr gewährleistet werden.

Viele Ärzte und Krankenschwestern sind selbst gestorben oder haben Angst, sich selbst anzustecken, da es an grundsätzlichen Dingen wie Schutzkleidung und Arzneimitteln fehlt. Unsere Spenden unterstützen Action Medeor beider Ausrüstung zweier neu aufgebauter Isolierstationen in Monrovia, Liberia.

Die internationale Gemeinschaft reagiert nur sehr langsam – obwohl das Virus bereits seit Anfang des Jahres mehr als 2500 Menschen den Tod gekostet hat. Die langfristigen Folgen für die Volkswirtschaften, die Gesundheitssysteme und das Zusammenleben der Menschen in der Region sind verheerend.

Wir müssen jetzt handeln, um den Menschen vor Ort und ihren Helfern die notwendigen Materialien zukommen zu lassen. Wir denken dabei auch an unsere Freunde hier in der Region, die wir auf Dienstreisen kennen gelernt haben oder die als Ärzte in Alarmbereitschaft versetzt wurden. Helft uns dabei, den Menschen in ihrer Notlage zu helfen: Teilt diesen Link mit anderen und spendet, auch kleine Beiträge sind willkommen!

* Jonas lebt seit mehr als zwei Jahren im Senegal, Johanna war für knapp zwei Monate im benachbarten Gambia. Wir beide haben in den letzten Wochen die Nachrichtenlage verfolgt und mit den Menschen vor Ort über die Unsicherheit gesprochen.

Bild: Jonas Wipfler, Liberia, 2013", + "tax_deductible": true, + "donations_prohibited": true, + "closed_at": "2015-06-28T11:32:11+02:00", + "donor_count": 124, + "donated_amount_in_cents": 858280, + "requested_amount_in_cents": null, + "progress_percentage": null, + "contact": { + "name": "J. & J.", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/397/832/fill_100x100_JoJo.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/397/832/crop_original_JoJo.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/j_j5" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/397832/contact_data.json" + } + ] + }, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/group/profile_picture/000/019/267/fill_960x500_Liberia_1.jpg" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/group/profile_picture/000/019/267/fill_730x380_Liberia_1.jpg" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/group/profile_picture/000/019/267/fill_618x322_Liberia_1.jpg" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/group/profile_picture/000/019/267/fill_410x214_Liberia_1.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/group/profile_picture/000/019/267/fill_270x141_Liberia_1.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/group/profile_picture/000/019/267/crop_original_Liberia_1.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/fundraising_events/19267.json" + }, + { + "rel": "featured_projects", + "href": "https://api.betterplace.org/de/api_v4/fundraising_events/19267/featured_projects.json" + }, + { + "rel": "forwardings", + "href": "https://api.betterplace.org/de/api_v4/fundraising_events/19267/forwardings.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/fundraising-events/19267-gemeinsam-gegen-ebola-deine-spende-fur-westafrika" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/fundraising-events/19267/client_donations/new?client_id=%7Bclient_id%7D", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/fundraising-events/19267/donations/new" + } + ] +} +``` + diff --git a/sections/fundraising_event_forwardings_list.md b/sections/fundraising_event_forwardings_list.md new file mode 100644 index 0000000..e5cab80 --- /dev/null +++ b/sections/fundraising_event_forwardings_list.md @@ -0,0 +1,89 @@ + +# Fundraising Event Forwardings List + +```Rebol +GET https://api.betterplace.org/de/api_v4/fundraising_events/19267/forwardings.json +``` + +A list of forwarings from the fundraising event to its projects. + +**This is an experimental feature and is still under heavy development. Please use it with caution.** + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
fundraising_event_id19267yesFundraising-Event-id as an integer number ≥ 1.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
forwarded_amount_in_centsnumber12300The amount in cents the fundraising event has forwarded to this project. +
+ + +## Response Links + + + + + + + + + + + +
LinknameDescription
projectLink to the project to which the money was forwarded. +
+ +## Response Example + +```json +{ + "total_entries": 1, + "offset": 0, + "total_pages": 1, + "current_page": 1, + "per_page": 30, + "data": [ + { + "forwarded_amount_in_cents": 123, + "links": [ + { + "rel": "project", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + } + ] + } + ] +} +``` + diff --git a/sections/fundraising_events_featured_projects_list.md b/sections/fundraising_events_featured_projects_list.md new file mode 100644 index 0000000..30b6835 --- /dev/null +++ b/sections/fundraising_events_featured_projects_list.md @@ -0,0 +1,759 @@ + +# Fundraising Event Featured Projects List + +```Rebol +GET https://api.betterplace.org/de/api_v4/fundraising_events/19267/featured_projects.json +``` + +A list of projects that are currently supported by the fundraising event. + +**This is an experimental feature and is still under heavy development. Please use it with caution.** + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
fundraising_event_id19267yesFundraising-Event-id as an integer number ≥ 1.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was created by the +project manager. +
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
titlestringMax 50 character
descriptionstring
tax_deductiblebooleantrueTrue if the project marked as tax deductible. +If so, Users can request a tax-receipt that can be used +with the german tax authorities. +[More about this](http://www.betterplace.org/c/hilfe/projekt-steuerlich-absetzbar/). +
donations_prohibitedbooleanfalseTrue if the project must not receive donations. This might happen, for example, +if a tax-receipt of german tax authorities rans out. + +Please check this flag whenever you display a donation button. +Should you show a button for a project that cannot receive donations +the user will open the donation form and see an error message on +betterplace.org instead! +
completed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) of the moment the project was fully +funded (100% `progress_percentage`). + +A completed project may still be active (as in not closed). +See `closed_at for details. +
closed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was closed by the +project manager. + +A closed project does not have to be fully funded. +See `completed_at` for details. +
open_amount_in_centsnumber12382How many cents are needed to complete the project
donated_amount_in_centsnumber12382How many cents are donated already. +This includes: +- sum of all donations +- sum of all forwardings to the project +- external donations + +Subtracting: +- backwardings from the project +
positive_opinions_countnumber13Number of positive opinions that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +
negative_opinions_countnumber0Number of *negative* opinions (usually 0) that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +Critical opinions are part of the betterplace.org +["Web of trust"](http://www.betterplace.org/c/hilfe/woran-erkenne-ich-dass-ein-projekt-vertrauenswurdig-ist/). +
donor_countnumber46Number of unique donors, based on the payment-email-address
progress_percentagenumber82% financed. Note: We have legacy projects with substantial +donation needs (pre ~2014). This percentage includes those needs. +
incomplete_need_countnumber6Number of needs that still need donations
completed_need_countnumber12Number of completed needs
blog_post_countnumber8Number of blogposts (all types)
+ + ↓contact + + objectTODOThe public face of the project / project manager
+ + ↓carrier + + objectTODOAn organisation, Users will be added later
+ + ↓profile_picture + + null | objectTODO
+ + ↓active_matching_fund + + null | objectTODOTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: carrier + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.namestring"Till B."The carrier can be an organisation or user.
+ + ↓carrier.picture + + string//assets.betterplace.org/…The organisation logo, user profile picture or a fallback image
+### ↑Nested Attributes: carrier.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: active_matching_fund + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
active_matching_fund.idnumber1An integer number ≥ 1
active_matching_fund.created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.activated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.titlestringACME Matching EverythingOur matching fund's name
active_matching_fund.descriptionstringIt's all about matching donations…The description of the matching fund
active_matching_fund.company_namestringACMEThe company that supports it
active_matching_fund.client_idstringclientnameThe client to which the matching fund belongs
active_matching_fund.provided_amount_in_centsnumber12300The amount in cents the company provided to be matched
active_matching_fund.donated_amount_in_centsnumber12300The amount in cents the company already donated
active_matching_fund.statestringactivatedCurrent state of this matching fund: either activated or closed
active_matching_fund.logo_urlstringhttp://example.com/images/logo.pngThe URL of the logo image.
active_matching_fund.maximum_matching_amount_in_centsnumber20000Up to this amount donations get matched by the matching fund
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(project details) +
platformPermalink to betterplace.org
opinionsLink to opinions list +
picturesLink to project pictures list +
needsLink to project needs list +
blog_postsLink to blog posts list +
active_matching_fundLink to matching fund +
matching_fundsLink to matching funds list +
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
carrier.selfLink to this resource itself +(organisation details) +Note: Since the there is no api for users yet, this is only +set for organisations. +
carrier.picture.fill_100x100100×100 Pixel
carrier.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
active_matching_fund.selfLink to this resource itself +(matching fund details) +
active_matching_fund.platformPermalink to betterplace.org
active_matching_fund.projectsLink to the list of projects belonging to this matching fund
active_matching_fund.documentationLink to this resource in the documentation +
+ +## Response Example + +```json +{ + "total_entries": 1, + "offset": 0, + "total_pages": 1, + "current_page": 1, + "per_page": 30, + "data": [ + { + "id": 1114, + "created_at": "2009-03-10T11:12:16+01:00", + "updated_at": "2016-02-09T15:08:48+01:00", + "latitude": 34.531617284782, + "longitude": 69.13581752939456, + "street": "Taimani, behind Qasemi Winhouse", + "zip": "", + "city": "Kabul", + "country": "Afghanistan", + "title": "Skateistan Afghanistan", + "description": "With 68% of Afghanistan’s population under the age of 25, Skateistan strongly believes that youth are the ones most capable of bringing about social change.

Skateistan is an Afghan NGO which operates Afghanistan’s (and the world’s) first co-educational skateboarding school. The Skateistan school engages nearly 400 Kabul youth weekly through skateboarding, and provides them with new opportunities in cross-cultural interaction, education, and personal empowerment programs.

The students (ages 5-17) come from all of Afghanistan’s diverse ethnic and socioeconomic backgrounds, and include 40% female students, hundreds of streetworking children, and youth with disabilities. They develop skills in skateboarding, leadership, problem-solving, multimedia, and creative arts. The students themselves decide what they want to learn; we connect them with a safe space and opportunities for them to develop the skills that they consider important.

For Afghan girls Skateistan's programming is especially important as there are very few recreational opportunities for females. For example, it is not culturally acceptable for girls in Afghanistan to ride bicycles or play sports in public.

Skateistan has been active in Kabul since 2007 - with our facility built in 2009 - and in that time we’ve seen that Afghan youth of all ethnicities, genders, and socioeconomic backgrounds love to skateboard. Skateistan brings them together, equipping young men and women to lead their communities toward social change and development.

In 2012 Skateistan will be opening its second Afghan facility in Mazar-e-Sharif, Northern Afghanistan. It will have space to teach up to 1000 youth weekly.

Our program gives hundreds of oppressed youth a voice. Education and the opportunity for self-expression can break the cycles of poverty, illiteracy and exclusion, with sport paving the way.", + "tax_deductible": true, + "donations_prohibited": false, + "completed_at": "2016-01-22T08:07:22+01:00", + "closed_at": null, + "open_amount_in_cents": 0, + "donated_amount_in_cents": 4741852, + "positive_opinions_count": 726, + "negative_opinions_count": 0, + "donor_count": 552, + "progress_percentage": 100, + "incomplete_need_count": 0, + "completed_need_count": 86, + "blog_post_count": 91, + "contact": { + "name": "E. Kinast", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/fill_100x100_original_Picture_023.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/crop_original_original_Picture_023.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/erika_k2" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/130618/contact_data.json" + } + ] + }, + "carrier": { + "name": "Skateistan", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/001/054/fill_100x100_original_betterplace-logo.png" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/001/054/crop_original_original_betterplace-logo.png" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/organisations/1054.json" + } + ] + }, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_960x500_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_730x380_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_618x322_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_410x214_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_270x141_original_girls-merza-sm.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/crop_original_original_girls-merza-sm.jpg" + } + ] + }, + "active_matching_fund": null, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/projects/1114-skateistan-afghanistan" + }, + { + "rel": "opinions", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/opinions.json" + }, + { + "rel": "pictures", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/pictures.json" + }, + { + "rel": "needs", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/needs.json" + }, + { + "rel": "blog_posts", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/blog_posts.json" + }, + { + "rel": "matching_funds", + "href": "https://api.betterplace.org/de/api_v4/matching_funds.json?project_id=1114" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/1114/client_donations/new?client_id=%7Bclient_id%7D", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/1114/donations/new" + } + ] + } + ] +} +``` + diff --git a/sections/fundraising_events_list.md b/sections/fundraising_events_list.md new file mode 100644 index 0000000..18392fc --- /dev/null +++ b/sections/fundraising_events_list.md @@ -0,0 +1,371 @@ + +# Fundraising Event List ⇄ [Details](fundraising_event_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/fundraising_events.json?facets=tax_deductible%3Atrue&order=rank%3ADESC&q=Die+Eckerts&scope=location +``` + +A list of betterplace.org fundraising events (donate money). +Results are contained in a *data* attribute. + +**For [betterplace.org clients](../README.md#client-api):** +Use this resource like `/clients/PERMALINK/fundraising-events.json` + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
scopelocationnoUse the scope to specify how the search-query q should behave: +
    +
  • "no scope" (default) performs a full text search +
  • human_name searches only on the manager-fullname and carrier-fullname. + Use this to get all entities by "Unicef" or by "Till Behnke". +
+Learn how to format the parameter. +
qDie EckertsnoSearch query. The searches behaviour is based on the scope.
facetstax_deductible:truenoFilter the result set. +Documented and supported filters are: +
    +
  • tax_deductible:true/false +
  • prohibit_donations:true/false +
+It is possible to set multiple facet filters. +Learn how to format the parameter. +
orderrank:DESCnoOrder the results by score (only when a query (q) is given), +rank, id, progress_percentage, +tax_deductible, created_at, updated_at, +last_donation_at, completed. +Use the optional ASC (default) or DESC. +Learn how to format the parameter. +
+The default order is the same as for the +betterplace.org fundraising events list: +completed:asc| score:desc | rank:desc| last_donation_at:desc +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
titlestringGemeinsam gegen Ebola: Deine Spende für WestafrikaMax 50 character
descriptionstringLorem ipsumMax 25.000 character
tax_deductiblebooleantrueTrue if the fundraising event is marked as tax deductible and +can only support tax deductible projects. +If so, users can request a tax-receipt for their donation +that can be used with the german tax authorities. +
donations_prohibitedbooleanfalseTrue if the fundraising event must not and cannot receive donations. +This might happen if the event was closed by the manager +or blocked by a platform administrator. + +Please check this flag whenever you display a donation button. +Should you show a button for an event that cannot receive donations +the user will open the donation form and see an error message on +betterplace.org instead! +
closed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the fundraising event was closed +by the manager. +
donor_countnumber46Number of unique donors, based on the payment-email-address
donated_amount_in_centsnumber232323How many cents were already raised with the fundraising event
requested_amount_in_centsnumber12382How many cents were requested to be raised with the fundraising event. +This value is optional! The manager decides if his event has a goal or not. +
progress_percentagenumber5% financed. This value is only present in case the manager +decided to add a requested_amount_in_cents. +
+ + ↓contact + + objectTODOThe public face of the fundraising event / fundraising event manager
+ + ↓profile_picture + + null | object//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(fundraising event details) +
featured_projectsA list of projects are currently supported by the fundraising event. + +Please note, that this project list has no fixed relation to the list of projects that received money by this fundraising event (see Featured Projects List). +A Fundraising event manager can change the list of supported projects at any time; regardless if they received money before. +
forwardingsProvides a list of forwarded amounts and their receiving projects. + +Each fundraising event can have multiple projects that it supports. The fundraising event manager specifies the amount that is forwarded from the fundraising event to the project. +Please note, that this list of forwarded donations and their corresponding receiving projects is not required to be in sync with the Featured Project List endpoint. +To find out, if all donations of the fundraising event have been forwarded, please sum the amounts provided by this api endpoint and compare it to the donated amount attribute of the fundraising event api endpoint. +
platformPermalink to betterplace.org
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "total_entries": 0, + "offset": 0, + "total_pages": 0, + "current_page": 1, + "per_page": 3, + "data": [ + + ] +} +``` + diff --git a/sections/matching_fund_details.md b/sections/matching_fund_details.md new file mode 100644 index 0000000..31cf7ae --- /dev/null +++ b/sections/matching_fund_details.md @@ -0,0 +1,188 @@ + +# Matching Fund Details ⇄ [List](matching_funds_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/matching_funds/2.json +``` + +The details of a betterplace.org matching fund. +The details and list view show the same data. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
id2yesmatching-fund-id as an integer number ≥ 9.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
activated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
titlestringACME Matching EverythingOur matching fund's name
descriptionstringIt's all about matching donations…The description of the matching fund
company_namestringACMEThe company that supports it
client_idstringclientnameThe client to which the matching fund belongs
provided_amount_in_centsnumber12300The amount in cents the company provided to be matched
donated_amount_in_centsnumber12300The amount in cents the company already donated
statestringactivatedCurrent state of this matching fund: either activated or closed
logo_urlstringhttp://example.com/images/logo.pngThe URL of the logo image.
maximum_matching_amount_in_centsnumber20000Up to this amount donations get matched by the matching fund
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(matching fund details) +
platformPermalink to betterplace.org
projectsLink to the list of projects belonging to this matching fund
documentationLink to this resource in the documentation +
+ +## Response Example + +```json +{ + "id": 2, + "created_at": "2013-10-14T15:26:19+02:00", + "updated_at": "2015-03-10T09:44:38+01:00", + "activated_at": "2013-10-21T09:54:41+02:00", + "title": "Jetzt mitmachen – OTTO verdoppelt jede Spende!", + "description": "### OTTO hilft Hamburgs Stadtgrün – helfen Sie mit!\n\nGemeinsam mit der Loki Schmidt Stiftung und der Stadt Hamburg schließen wir Baumlücken in strukturschwachen Stadtteilen. Diese Lücken entstehen aufgrund von Krankheiten oder mangelnder Standfestigkeit der Straßenbäume.\n\n\"\"\n\nSeit 2011 sind Hamburger Bürger aufgerufen, gemeinsam mit den beiden Partner-Organisationen für neue Bäume zu spenden.\n\nBereits in diesem Jahr hat OTTO das Projekt unterstützt und mit 25.000 Euro 50 Baumlücken in Gebieten geschlossen, in denen weniger gespendet wird – nämlich in Mümmelmannsberg, Nettelnburg, Steinbek, Steilshoop und Willhelmsburg!\n\nNun wollen wir noch weitere Bäume pflanzen – und zwar gemeinsam mit Ihnen!\n\n### Das funktioniert folgendermaßen:\n\n1. Sie spenden einen beliebig hohen Betrag auf betterplace.org. \n2. OTTO verdoppelt Ihren Betrag! \n3. Sobald durch Sie und OTTO 500 Euro zusammengekommen sind, legt die Stadt Hamburg die restlichen 500 Euro drauf, die für eine Pflanzung notwendig sind. \n4. Ein Baum wird gepflanzt – Hamburg wird grüner!\n\nIhr Engagement zählt – und OTTO honoriert das mit dieser Verdopplungsaktion bis zu einem Maximalbetrag von 15.000 Euro! Helfen Sie jetzt hier mit!\n\n", + "company_name": "OTTO", + "client_id": null, + "provided_amount_in_cents": 521500, + "donated_amount_in_cents": 521500, + "state": "closed", + "logo_url": null, + "maximum_matching_amount_in_cents": 20000, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/matching_funds/2.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/matching-funds/2-otto" + }, + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/matching_funds/2/projects.json" + }, + { + "rel": "documentation", + "href": "https://github.com/betterplace/betterplace_apidocs/blob/master/sections/matching_fund_details.md" + } + ] +} +``` + diff --git a/sections/matching_fund_projects_list.md b/sections/matching_fund_projects_list.md new file mode 100644 index 0000000..648715b --- /dev/null +++ b/sections/matching_fund_projects_list.md @@ -0,0 +1,757 @@ + +# Matching Fund Projects List + +```Rebol +GET https://api.betterplace.org/de/api_v4/matching_funds/2/projects.json +``` + +A list of betterplace.org matching fund projects. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
matching_fund_id2yesMatching fund-id as an integer number ≥ 1.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was created by the +project manager. +
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
titlestringMax 50 character
descriptionstring
tax_deductiblebooleantrueTrue if the project marked as tax deductible. +If so, Users can request a tax-receipt that can be used +with the german tax authorities. +[More about this](http://www.betterplace.org/c/hilfe/projekt-steuerlich-absetzbar/). +
donations_prohibitedbooleanfalseTrue if the project must not receive donations. This might happen, for example, +if a tax-receipt of german tax authorities rans out. + +Please check this flag whenever you display a donation button. +Should you show a button for a project that cannot receive donations +the user will open the donation form and see an error message on +betterplace.org instead! +
completed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) of the moment the project was fully +funded (100% `progress_percentage`). + +A completed project may still be active (as in not closed). +See `closed_at for details. +
closed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was closed by the +project manager. + +A closed project does not have to be fully funded. +See `completed_at` for details. +
open_amount_in_centsnumber12382How many cents are needed to complete the project
donated_amount_in_centsnumber12382How many cents are donated already. +This includes: +- sum of all donations +- sum of all forwardings to the project +- external donations + +Subtracting: +- backwardings from the project +
positive_opinions_countnumber13Number of positive opinions that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +
negative_opinions_countnumber0Number of *negative* opinions (usually 0) that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +Critical opinions are part of the betterplace.org +["Web of trust"](http://www.betterplace.org/c/hilfe/woran-erkenne-ich-dass-ein-projekt-vertrauenswurdig-ist/). +
donor_countnumber46Number of unique donors, based on the payment-email-address
progress_percentagenumber82% financed. Note: We have legacy projects with substantial +donation needs (pre ~2014). This percentage includes those needs. +
incomplete_need_countnumber6Number of needs that still need donations
completed_need_countnumber12Number of completed needs
blog_post_countnumber8Number of blogposts (all types)
+ + ↓contact + + objectTODOThe public face of the project / project manager
+ + ↓carrier + + objectTODOAn organisation, Users will be added later
+ + ↓profile_picture + + null | objectTODO
+ + ↓active_matching_fund + + null | objectTODOTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: carrier + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.namestring"Till B."The carrier can be an organisation or user.
+ + ↓carrier.picture + + string//assets.betterplace.org/…The organisation logo, user profile picture or a fallback image
+### ↑Nested Attributes: carrier.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: active_matching_fund + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
active_matching_fund.idnumber1An integer number ≥ 1
active_matching_fund.created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.activated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.titlestringACME Matching EverythingOur matching fund's name
active_matching_fund.descriptionstringIt's all about matching donations…The description of the matching fund
active_matching_fund.company_namestringACMEThe company that supports it
active_matching_fund.client_idstringclientnameThe client to which the matching fund belongs
active_matching_fund.provided_amount_in_centsnumber12300The amount in cents the company provided to be matched
active_matching_fund.donated_amount_in_centsnumber12300The amount in cents the company already donated
active_matching_fund.statestringactivatedCurrent state of this matching fund: either activated or closed
active_matching_fund.logo_urlstringhttp://example.com/images/logo.pngThe URL of the logo image.
active_matching_fund.maximum_matching_amount_in_centsnumber20000Up to this amount donations get matched by the matching fund
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(project details) +
platformPermalink to betterplace.org
opinionsLink to opinions list +
picturesLink to project pictures list +
needsLink to project needs list +
blog_postsLink to blog posts list +
active_matching_fundLink to matching fund +
matching_fundsLink to matching funds list +
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
carrier.selfLink to this resource itself +(organisation details) +Note: Since the there is no api for users yet, this is only +set for organisations. +
carrier.picture.fill_100x100100×100 Pixel
carrier.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
active_matching_fund.selfLink to this resource itself +(matching fund details) +
active_matching_fund.platformPermalink to betterplace.org
active_matching_fund.projectsLink to the list of projects belonging to this matching fund
active_matching_fund.documentationLink to this resource in the documentation +
+ +## Response Example + +```json +{ + "total_entries": 1, + "offset": 0, + "total_pages": 1, + "current_page": 1, + "per_page": 2, + "data": [ + { + "id": 14784, + "created_at": "2013-09-23T16:29:10+02:00", + "updated_at": "2016-01-26T17:38:33+01:00", + "latitude": 53.55808469999999, + "longitude": 10.01197890000003, + "street": "", + "zip": "20099", + "city": "Hamburg", + "country": "Deutschland", + "title": "Mein Baum – Meine Stadt", + "description": "Wir schließen Hamburgs Baumlücken – helfen Sie mit!

Gemeinsam mit der Loki Schmidt Stiftung und der Stadt Hamburg können Sie Baumlücken in strukturschwachen Stadtteilen schließen. Diese Lücken entstehen, wenn aufgrund von Krankheiten oder mangelnder Standfestigkeit Straßenbäume gefällt werden müssen.

Seit 2011 sind Hamburger Bürger aufgerufen, gemeinsam mit den beiden Partner-Organisationen für neue Bäume zu spenden.
Bisher konnten bereits mehr als 3.500 Baumlücken geschlossen werden. Spenden über dieses Portal werden gezielt in Gebieten eingesetzt, in denen ansonsten weniger gespendet wird – z.B. in Mümmelmannsberg, Nettelnburg, Steilshoop, Veddel und Willhelmsburg!
Nun wollen wir weitere Bäume pflanzen – und zwar gemeinsam mit Ihnen!

Das funktioniert folgendermaßen:
1. Sie spenden einen beliebig hohen Betrag auf betterplace.org.
2. Sobald durch Sie 500 Euro zusammengekommen sind, legt die Stadt Hamburg die restlichen mindestens 500 Euro drauf, die für eine Pflanzung notwendig sind.
3. Ein Baum wird gepflanzt – Hamburg wird grüner!

Ihr Engagement zählt! Helfen Sie jetzt hier mit!", + "tax_deductible": true, + "donations_prohibited": false, + "completed_at": null, + "closed_at": null, + "open_amount_in_cents": 93900, + "donated_amount_in_cents": 2027600, + "positive_opinions_count": 85, + "negative_opinions_count": 0, + "donor_count": 72, + "progress_percentage": 95, + "incomplete_need_count": 2, + "completed_need_count": 4, + "blog_post_count": 21, + "contact": { + "name": "A. Jahn", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/333/761/fill_100x100_original_P9192226.JPG" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/333/761/crop_original_original_P9192226.JPG" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/axel_j3" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/333761/contact_data.json" + } + ] + }, + "carrier": { + "name": "Loki Schmidt Stiftung", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/015/404/fill_100x100_LokiSStiftg_Logo_rgb_72_gross.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/015/404/crop_original_LokiSStiftg_Logo_rgb_72_gross.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/organisations/15404.json" + } + ] + }, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/014/784/fill_960x500_original_Baumschule_Pflanzenauswahl_bsu_mbms_1111_01_035.jpg" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/014/784/fill_730x380_original_Baumschule_Pflanzenauswahl_bsu_mbms_1111_01_035.jpg" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/014/784/fill_618x322_original_Baumschule_Pflanzenauswahl_bsu_mbms_1111_01_035.jpg" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/014/784/fill_410x214_original_Baumschule_Pflanzenauswahl_bsu_mbms_1111_01_035.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/014/784/fill_270x141_original_Baumschule_Pflanzenauswahl_bsu_mbms_1111_01_035.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/014/784/crop_original_original_Baumschule_Pflanzenauswahl_bsu_mbms_1111_01_035.jpg" + } + ] + }, + "active_matching_fund": null, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/14784.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/projects/14784-mein-baum-meine-stadt" + }, + { + "rel": "opinions", + "href": "https://api.betterplace.org/de/api_v4/projects/14784/opinions.json" + }, + { + "rel": "pictures", + "href": "https://api.betterplace.org/de/api_v4/projects/14784/pictures.json" + }, + { + "rel": "needs", + "href": "https://api.betterplace.org/de/api_v4/projects/14784/needs.json" + }, + { + "rel": "blog_posts", + "href": "https://api.betterplace.org/de/api_v4/projects/14784/blog_posts.json" + }, + { + "rel": "matching_funds", + "href": "https://api.betterplace.org/de/api_v4/matching_funds.json?project_id=14784" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/14784/client_donations/new?client_id=%7Bclient_id%7D", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/14784/donations/new" + } + ] + } + ] +} +``` + diff --git a/sections/matching_funds_list.md b/sections/matching_funds_list.md new file mode 100644 index 0000000..b4c868e --- /dev/null +++ b/sections/matching_funds_list.md @@ -0,0 +1,172 @@ + +# Matching Funds List ⇄ [Details](matching_fund_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/matching_funds.json?facets=state%3Aactivated&project_id=1114 +``` + +A list of betterplace.org matching funds. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
facetsstate:activatednoFilter the result set by state (activated|closed) +Learn how to format the parameter. +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
activated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
titlestringACME Matching EverythingOur matching fund's name
descriptionstringIt's all about matching donations…The description of the matching fund
company_namestringACMEThe company that supports it
client_idstringclientnameThe client to which the matching fund belongs
provided_amount_in_centsnumber12300The amount in cents the company provided to be matched
donated_amount_in_centsnumber12300The amount in cents the company already donated
statestringactivatedCurrent state of this matching fund: either activated or closed
logo_urlstringhttp://example.com/images/logo.pngThe URL of the logo image.
maximum_matching_amount_in_centsnumber20000Up to this amount donations get matched by the matching fund
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(matching fund details) +
platformPermalink to betterplace.org
projectsLink to the list of projects belonging to this matching fund
documentationLink to this resource in the documentation +
+ +## Response Example + +```json +{ + "total_entries": 0, + "offset": 0, + "total_pages": 1, + "current_page": 1, + "per_page": 2, + "data": [ + + ] +} +``` + diff --git a/sections/need_details.md b/sections/need_details.md new file mode 100644 index 0000000..47d1fda --- /dev/null +++ b/sections/need_details.md @@ -0,0 +1,187 @@ + +# Project Need Details ⇄ [List](needs_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/needs/59220.json +``` + +The details of a betterplace.org project need (donate money). +The details and list view show the same data per project need. + +**For [betterplace.org clients](../README.md#client-api):** +There is no client-scoped-url. +Please use the api calls that are provided inside the client project _url_ response +to make sure you only request data that is associated with one of your projects. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
id59220yesNeed-id as an integer number ≥ 29.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
titlestringMax 50 character
descriptionstring
completedbooleanfalseTrue if the need is 100 % financed
progress_percentagenumber82% financed
donated_amount_in_centsnumber12382How many cents are donated already. +This includes all donations that can be given to a need +(direct donation, forwarding of project donation, +forwarding of organisation donation, +forwarding of fundraising event donations, +offline donations and also(!) external donations) +
open_amount_in_centsnumber12382How many cents are still needed to complete the need
requested_amount_in_centsnumber12382How much money is needed in total
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(need details) +
projectLink to the related project's details +
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
+ +## Response Example + +```json +{ + "id": 110496, + "created_at": "2015-05-19T15:01:38+02:00", + "updated_at": "2016-01-22T08:07:22+01:00", + "title": "New security door for the Mazar skatepark ", + "description": "The equivalent amount to providing the Mazar Skatepark with a new security door.", + "completed": true, + "progress_percentage": 100.0, + "donated_amount_in_cents": 29600, + "open_amount_in_cents": 0, + "requested_amount_in_cents": 29600, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/needs/110496.json" + }, + { + "rel": "project", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/1114/client_donations/new?client_id=%7Bclient_id%7D&donation_earmark_id=110496", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/1114/donations/new?donation_earmark_id=110496" + } + ] +} +``` + diff --git a/sections/needs_list.md b/sections/needs_list.md new file mode 100644 index 0000000..80b6cb7 --- /dev/null +++ b/sections/needs_list.md @@ -0,0 +1,277 @@ + +# Project Needs List ⇄ [Details](need_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/needs.json?facets=completed%3Afalse&order=position%3AASC +``` + +A list of betterplace.org projects needs (donate money). +Results are contained in a *data* attribute. +The details and list view show the same data per project need. + +**For [betterplace.org clients](../README.md#client-api):** +There is no client-scoped-url. +Please use the api calls that are provided inside the client project _url_ response +to make sure you only request data that is associated with one of your projects. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
facetscompleted:falsenoFilter the result set. +Documented and supported filters are: +
    +
  • completed:true/false – is this need fully funded? +
+Learn how to format the parameter. +
orderposition:ASCnoOrder the result set. Documented and supported orders are: +
    +
  • created_at:asc/desc – DESC: Latest needs first. +
  • position:asc/desc – Priority of the need defined by the project manager +
+Learn how to format the parameter. +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
titlestringMax 50 character
descriptionstring
completedbooleanfalseTrue if the need is 100 % financed
progress_percentagenumber82% financed
donated_amount_in_centsnumber12382How many cents are donated already. +This includes all donations that can be given to a need +(direct donation, forwarding of project donation, +forwarding of organisation donation, +forwarding of fundraising event donations, +offline donations and also(!) external donations) +
open_amount_in_centsnumber12382How many cents are still needed to complete the need
requested_amount_in_centsnumber12382How much money is needed in total
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(need details) +
projectLink to the related project's details +
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
+ +## Response Example + +```json +{ + "total_entries": 86, + "offset": 0, + "total_pages": 29, + "current_page": 1, + "per_page": 3, + "data": [ + { + "id": 76625, + "created_at": "2014-01-03T11:41:44+01:00", + "updated_at": "2014-03-21T14:35:08+01:00", + "title": "Kabul Skatepark Food", + "description": "Equivalent to providing food for the Kabul skatepark for 1 month including the Back-To-School program which runs 5 days/week. The Back-To-School program aims to give children the support they need to return to public school in Afghanistan.", + "completed": true, + "progress_percentage": 100.0, + "donated_amount_in_cents": 74000, + "open_amount_in_cents": 0, + "requested_amount_in_cents": 74000, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/needs/76625.json" + }, + { + "rel": "project", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/1114/client_donations/new?client_id=%7Bclient_id%7D&donation_earmark_id=76625", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/1114/donations/new?donation_earmark_id=76625" + } + ] + }, + { + "id": 79124, + "created_at": "2014-02-17T17:01:17+01:00", + "updated_at": "2015-02-26T14:44:31+01:00", + "title": "Clean Water for the Skateparks in Kabul and MeS", + "description": "The equivalent of supplying clean drinking water for all of our staff and students in both the Kabul and Mazar-e-Sharif Skateparks. ", + "completed": true, + "progress_percentage": 100.0, + "donated_amount_in_cents": 179500, + "open_amount_in_cents": 0, + "requested_amount_in_cents": 179500, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/needs/79124.json" + }, + { + "rel": "project", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/1114/client_donations/new?client_id=%7Bclient_id%7D&donation_earmark_id=79124", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/1114/donations/new?donation_earmark_id=79124" + } + ] + }, + { + "id": 5228, + "created_at": "2009-03-10T11:38:39+01:00", + "updated_at": "2013-10-29T01:16:31+01:00", + "title": "Warme Mahlzeiten", + "description": "Wer sich viel bewegt, der muss auch richtig essen: Mit nur 50 Euro im Monat lassen sich 8-10 warme Mahlzeiten für rund 30 Waisenkinder bereitstellen, die zweimal in der Woche von dem Skateistan-Team besucht werden und lernen Skateboard zu fahren.", + "completed": true, + "progress_percentage": 100.0, + "donated_amount_in_cents": 5000, + "open_amount_in_cents": 0, + "requested_amount_in_cents": 5000, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/needs/5228.json" + }, + { + "rel": "project", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/1114/client_donations/new?client_id=%7Bclient_id%7D&donation_earmark_id=5228", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/1114/donations/new?donation_earmark_id=5228" + } + ] + } + ] +} +``` + diff --git a/sections/opinion_details.md b/sections/opinion_details.md new file mode 100644 index 0000000..605cbaf --- /dev/null +++ b/sections/opinion_details.md @@ -0,0 +1,291 @@ + +# Opinion Details ⇄ [List](opinions_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/38/opinions/22.json +``` + +The details of a betterplace.org opinion. +This may be a [project](project_details.md) opinion +or a [fundraising event](fundraising_event_details.md) opinion. +The details and list view show the same data. + +This will always show the data if a valid opinion id is given, even if that opinion +does not belong to the project in the URL. + +**For [betterplace.org clients](../README.md#client-api):** +There is no client-scoped-url. +Please use the api calls that are provided inside the client project _url_ response +to make sure you only request data that is associated with one of your projects. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id38yesProject-id as an integer number ≥ 14.
id22yesBlog-post-id as an integer number ≥ 9.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
donated_amount_in_centsnumber5000The amount donated, but only if the user allowed the amount to be +visible. Most donation forms allow the donor to specify if they +want their amount to be visible. As a default, the donated amount +is visible. + +Known issue: For forwarding donations (money that is forwarded from a fundraising event to a project) +this field is always empty, which is wrong. +
matched_amount_in_centsnumber5000If a matching fund was active during the donation then the amount +donated by a user might was matched with another donation. + +This amount is normally as high as the actual donation amount, with some +restrictions, e.g. when the matching fund is depleted or the donation +was higher than the maximum matching threshold. +
matchedbooleantrueThe matched field is true if this is a donor opinion for a donation that +was matched by a matching fund. +It's false otherwise. +
scorestringpositiveOpinions can be positive or negative. Negative opinions usually get +a comment as answer very fast but there is no API for opinion-comments yet. +
+ + ↓author + + null | objectTODOThe author. DonorOpinion may be anonymous, +PlainOpinions and VisitorOpinion require a logged in user. +
messagenull | string"This is a great project. In spring 2007 I travelled around the area together with my children and …"An optional message users can provide to tell others +why they like or dislike this project. +
+### ↑Nested Attributes: author + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓author.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: author.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(opinion details) +
projectLink to the project this opinion belongs to +(project details) +
fundraising_eventLink to the fundraising event this opinion belongs to +(fundraising event details) +
matching_fundLink to the matching fund that matched this donation. +(matching fund details) +
author.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
author.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
author.picture.fill_100x100100×100 Pixel
author.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "id": 22, + "created_at": "2007-11-24T14:14:02+01:00", + "updated_at": "2007-11-24T14:14:02+01:00", + "score": "positive", + "author": { + "name": "G. Krabbe", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/000/759/fill_100x100_original_Schule_Leutersdorf_2.JPG" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/000/759/crop_original_original_Schule_Leutersdorf_2.JPG" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/giesela_k" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/759/contact_data.json" + } + ] + }, + "message": "Ich bin zweimal in Bolivien gewesen, auch in El Alto und im COMPA, und ich habe gesehen, wie schwer das (Über-)leben für viele Leute ist. Wie wichtig Bildung ist, sollte ich als ehemalige Lehrerin ja wissen.... Das hier vorgestellte Projekt erinnert mich an die Fahrbibliotheken in der ehemaligen DDR; und wenn hier benachteiligten Kindern und Jugendlichen in Gegenden ohne kulturelle Infrastruktur eine adäquate Form von Bildung ermöglicht werden soll, ist das nur zu unterstützen. Nach meinen Möglichkeiten werde ich das Projekt unterstützen.", + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/35/opinions/22.json" + }, + { + "rel": "project", + "href": "https://api.betterplace.org/de/api_v4/projects/35.json" + } + ] +} +``` + diff --git a/sections/opinions_list.md b/sections/opinions_list.md new file mode 100644 index 0000000..6d2c51f --- /dev/null +++ b/sections/opinions_list.md @@ -0,0 +1,315 @@ + +# Opinions List ⇄ [Details](opinion_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/opinions.json?facets=has_message%3Atrue&order=created_at%3AASC +``` + +A list of betterplace.org projects opinions (donate money). + +```Rebol +GET https://api.betterplace.org/de/api_v4/fundraising_events/19267/opinions.json?facets=has_message:true&order=created_at:AASC +``` +A list of betterplace.org fundraising event opinions (donate money). + +Results are contained in a *data* attribute. + +**For [betterplace.org clients](../README.md#client-api):** + +* _Project-Opinions:_ There is no client-scoped-url. + Please use the api calls that are provided inside the client project _url_ response + to make sure you only request data that is associated with one of your projects. + +* _Fundraising-Event-Opinions:_ There is no client-scoped-url. + Please use the api calls that are provided inside the client fundraising event _url_ response + to make sure you only request data that is associated with one of your fundraising event. + +* _All Opinions:_ Clients can retrieve a list of all opinions of all client-projects: + ```Rebol + GET https://api.betterplace.org/de/api_v4/clients/{client_id}/opinions.json + ``` + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114noProject-id as an integer number ≥ 14. +This url-part is required in case you want to show project opinions. +Also check the URL example in the introduction. +
fundraising_event_id19267noFundraising-event-id as an integer number ≥ 1. +This url-part is required in case you want to show fundraising event opinions. +Also check the URL example in the introduction. +
client_idvolksfreundnoThe betterplace.org-internal client permalink.' +This url-part is required for the "all opinions" list. +Also check the URL example in the introduction. +
ordercreated_at:ASCnoOrder the result by +created_at (default), id, score +Use the optional ASC (default) or DESC. +Learn how to format the parameter. +
facetshas_message:truenoFilter the result set: +
    +
  • facets=score:positive / negative only positive / negative opinion. + +
  • facets=has_message:true / false only opinions with / without a message. + +
  • facets=has_donation:true / false only opinions with / without a donation. +Note that "has_donation:true" might also show donations where donated_amount_in_cents is not avaliable, +see 'donated_amount_in_cents' response attribute documentation for details. +
    +Known issue: ATM forwarding donations will be filtered with "has_donation:true" but shown with "has_donation:false". + +
+It is possible to set multiple facet filters. +Learn how to format the parameter. +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
donated_amount_in_centsnumber5000The amount donated, but only if the user allowed the amount to be +visible. Most donation forms allow the donor to specify if they +want their amount to be visible. As a default, the donated amount +is visible. + +Known issue: For forwarding donations (money that is forwarded from a fundraising event to a project) +this field is always empty, which is wrong. +
matched_amount_in_centsnumber5000If a matching fund was active during the donation then the amount +donated by a user might was matched with another donation. + +This amount is normally as high as the actual donation amount, with some +restrictions, e.g. when the matching fund is depleted or the donation +was higher than the maximum matching threshold. +
matchedbooleantrueThe matched field is true if this is a donor opinion for a donation that +was matched by a matching fund. +It's false otherwise. +
scorestringpositiveOpinions can be positive or negative. Negative opinions usually get +a comment as answer very fast but there is no API for opinion-comments yet. +
+ + ↓author + + null | objectTODOThe author. DonorOpinion may be anonymous, +PlainOpinions and VisitorOpinion require a logged in user. +
messagenull | string"This is a great project. In spring 2007 I travelled around the area together with my children and …"An optional message users can provide to tell others +why they like or dislike this project. +
+### ↑Nested Attributes: author + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓author.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: author.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
author.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(opinion details) +
projectLink to the project this opinion belongs to +(project details) +
fundraising_eventLink to the fundraising event this opinion belongs to +(fundraising event details) +
matching_fundLink to the matching fund that matched this donation. +(matching fund details) +
author.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
author.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
author.picture.fill_100x100100×100 Pixel
author.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "total_entries": 0, + "offset": 0, + "total_pages": 0, + "current_page": 1, + "per_page": 3, + "data": [ + + ] +} +``` + diff --git a/sections/organisation_details.md b/sections/organisation_details.md new file mode 100644 index 0000000..acdec6f --- /dev/null +++ b/sections/organisation_details.md @@ -0,0 +1,366 @@ + +# Organisation Details ⇄ [List](organisations_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/organisations/125.json +``` + +The details of a betterplace.org organisation. +The details and list view show the same data per organisation. + +**For [betterplace.org clients](../README.md#client-api):** +There is no client-scoped-url. +Please use the api calls that are provided inside the client project _url_ response +to make sure you only request data that is associated with one of your projects. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
id125yesOrganisation-id as an integer number ≥ 14.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
slugstringvivaconaguaURL slug +for the permalink +
namestring"Viva con Agua de Sankt Pauli e.V."Name of the organisation
descriptionstring
tax_deductiblebooleantrueTrue if the organisation is a tax-exempt charity. +If so, Users can request a tax-receipt for donations to that organisation. +
+ + ↓contact + + objectThe public contact person for this organisation.
+ + ↓picture + + null | objectTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(organisation details) +
platformPermalink to betterplace.org
projectsLink to the project list of this organisation +
websiteLink to the website of this organisation.
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
picture.fill_100x100100×100 Pixel
picture.fill_200x200200×200 Pixel
picture.fill_400x400400×400 Pixel
picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "id": 125, + "created_at": "2008-02-06T17:10:42+01:00", + "updated_at": "2015-11-23T18:30:50+01:00", + "latitude": 53.55759811401367, + "longitude": 9.96815967559815, + "street": "Neuer Kamp 32", + "zip": "20357", + "city": "Hamburg", + "country": "Deutschland", + "slug": "vivaconagua", + "name": "Viva con Agua de Sankt Pauli e.V.", + "description": "Die Organisation Viva con Agua:\r\n\r\nViva con Agua de Sankt Pauli e.V. ist eine international tätige Wasserinitiative und wird vom FC St. Pauli ideell unterstützt. Initiator Benjamin Adrion, ehemaliger Mittelfeldspieler des Fußballclubs, gründete 2005 nach einem Trainingslager auf Kuba den gemeinnützigen Verein. \r\n\r\nZiel der Initiative ist es, die Versorgung mit sauberem Trinkwasser und sanitären Anlagen in Entwicklungsländern nachhaltig zu verbessern. Viva con Agua ist Projektpartner der Welthungerhilfe.\r\n\r\n21 Projekte in 15 Projektländern hat Viva con Agua bereits in Zusammenarbeit mit der Welthungerhilfe realisiert und damit über 300.000 Menschen Zugang zu sauberem Trinkwasser ermöglicht. Des Weiteren haben mehr als 100.000 Schüler und Studenten im deutschsprachigen Raum VcA-Bildungsworkshops, Seminare und Spendenläufe mitgemacht.\r\n\r\nAuszeichnungen:\r\n\r\nISPO Award 2013\r\nHAMMA Award 2012\r\nUtopia Award 2012\r\nB.A.U.M.-Umweltpreis 2011\r\nWerkstatt N-Projekt 2010\r\nBundesverdienstkreuz 2009\r\nUtopia Award 2008\r\nAusgewählter Ort im Land der Ideen 2007 (Schirmherrschaft Bundespräsident Horst Köhler)\r\nBundessieger start social 2007 (Schirmherrschaft Bundeskanzlerin Angela Merkel)\r\ntaz-Panter-Preis 2006 \r\n\r\n\r\nAktivitäten und Initiativen\r\n\r\nViva con Agua veranstaltet laufend Konzerte, Partys, Sport- und Kulturevents, deren Erlöse als Spende in Trinkwasserprojekte fließen.\r\n\r\nSchärfung des Bewusstseins, besonders bei jungen Menschen in Deutschland, für die Themen Wasser und Entwicklungshilfe ist das zweite wichtige Anliegen von Viva con Agua.\r\n\r\nDie Sensibilisierung für diese Bereiche soll einerseits durch die zahlreichen Veranstaltungen von Viva con Agua erfolgen, aber auch in intensiver Bildungsarbeit an Schulen. Damit führt Viva con Agua schon frühzeitig Kinder und Jugendliche an soziales und humanitäres Engagement heran.", + "tax_deductible": true, + "contact": { + "name": "Johannes T.", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/449/830/fill_100x100_Johannes1.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/449/830/crop_original_Johannes1.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/johannes_t4" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/449830/contact_data.json" + } + ] + }, + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/fill_100x100_VcA_Projektlogo.jpg" + }, + { + "rel": "fill_200x200", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/fill_200x200_VcA_Projektlogo.jpg" + }, + { + "rel": "fill_400x400", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/fill_400x400_VcA_Projektlogo.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/crop_original_VcA_Projektlogo.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/organisations/125.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/organisations/125-viva-con-agua-de-sankt-pauli-e-v" + }, + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/organisations/125/projects.json" + }, + { + "rel": "website", + "href": "http://www.vivaconagua.org" + } + ] +} +``` + diff --git a/sections/organisations_list.md b/sections/organisations_list.md new file mode 100644 index 0000000..29bb9f8 --- /dev/null +++ b/sections/organisations_list.md @@ -0,0 +1,448 @@ + +# Organisations List ⇄ [Details](organisation_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/organisations.json +``` + +A list of betterplace.org organisations. +Results are contained in a *data* attribute. +The details and list view show the same data per organisation. + +**For [betterplace.org clients](../README.md#client-api):** +This resource is not avaliable at the moment. + + +## URL Parameters + + + + + + + + +
ParameterExampleRequiredDescription
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
slugstringvivaconaguaURL slug +for the permalink +
namestring"Viva con Agua de Sankt Pauli e.V."Name of the organisation
descriptionstring
tax_deductiblebooleantrueTrue if the organisation is a tax-exempt charity. +If so, Users can request a tax-receipt for donations to that organisation. +
+ + ↓contact + + objectThe public contact person for this organisation.
+ + ↓picture + + null | objectTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(organisation details) +
platformPermalink to betterplace.org
projectsLink to the project list of this organisation +
websiteLink to the website of this organisation.
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
picture.fill_100x100100×100 Pixel
picture.fill_200x200200×200 Pixel
picture.fill_400x400400×400 Pixel
picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "total_entries": 2, + "offset": 0, + "total_pages": 1, + "current_page": 1, + "per_page": 2, + "data": [ + { + "id": 2262, + "created_at": "2009-11-02T16:12:49+01:00", + "updated_at": "2015-11-27T12:17:22+01:00", + "latitude": 50.91569900512695, + "longitude": 6.94116020202637, + "street": "Höninger Weg 104", + "zip": "50969", + "city": "Köln", + "country": "Deutschland", + "slug": "unicef", + "name": "UNICEF", + "description": "UNICEF, das Kinderhilfswerk der Vereinten Nationen, arbeitet weltweit mit Programmen in rund 150 Ländern. UNICEF hilft, dass das Recht jedes Kindes auf Überleben, Bildung und Schutz Wirklichkeit wird: mit konkreten Projekten, umfassenden Programmen und politischer Lobbyarbeit. UNICEF ist in jedem Land seit vielen Jahren vor Ort und hat ein dichtes Netzwerk lokaler Partner. So ist nachhaltige und effiziente Hilfe möglich. Mit dem jährlichen Geschäftsbericht informiert UNICEF ausführlich über Arbeitsweise, Strukturen und Kosten. Sie finden ihn unter www.unicef.de", + "tax_deductible": true, + "contact": { + "name": "B. Hell", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/020/505/fill_100x100_original_Hell__Beatrix.JPG" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/020/505/crop_original_original_Hell__Beatrix.JPG" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/beatrix_h" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/20505/contact_data.json" + } + ] + }, + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/002/262/fill_100x100_original_UNICEFLogoClaimrgb.jpg" + }, + { + "rel": "fill_200x200", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/002/262/fill_200x200_original_UNICEFLogoClaimrgb.jpg" + }, + { + "rel": "fill_400x400", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/002/262/fill_400x400_original_UNICEFLogoClaimrgb.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/002/262/crop_original_original_UNICEFLogoClaimrgb.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/organisations/2262.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/organisations/2262-unicef" + }, + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/organisations/2262/projects.json" + }, + { + "rel": "website", + "href": "http://www.unicef.de" + } + ] + }, + { + "id": 125, + "created_at": "2008-02-06T17:10:42+01:00", + "updated_at": "2015-11-23T18:30:50+01:00", + "latitude": 53.55759811401367, + "longitude": 9.96815967559815, + "street": "Neuer Kamp 32", + "zip": "20357", + "city": "Hamburg", + "country": "Deutschland", + "slug": "vivaconagua", + "name": "Viva con Agua de Sankt Pauli e.V.", + "description": "Die Organisation Viva con Agua:\r\n\r\nViva con Agua de Sankt Pauli e.V. ist eine international tätige Wasserinitiative und wird vom FC St. Pauli ideell unterstützt. Initiator Benjamin Adrion, ehemaliger Mittelfeldspieler des Fußballclubs, gründete 2005 nach einem Trainingslager auf Kuba den gemeinnützigen Verein. \r\n\r\nZiel der Initiative ist es, die Versorgung mit sauberem Trinkwasser und sanitären Anlagen in Entwicklungsländern nachhaltig zu verbessern. Viva con Agua ist Projektpartner der Welthungerhilfe.\r\n\r\n21 Projekte in 15 Projektländern hat Viva con Agua bereits in Zusammenarbeit mit der Welthungerhilfe realisiert und damit über 300.000 Menschen Zugang zu sauberem Trinkwasser ermöglicht. Des Weiteren haben mehr als 100.000 Schüler und Studenten im deutschsprachigen Raum VcA-Bildungsworkshops, Seminare und Spendenläufe mitgemacht.\r\n\r\nAuszeichnungen:\r\n\r\nISPO Award 2013\r\nHAMMA Award 2012\r\nUtopia Award 2012\r\nB.A.U.M.-Umweltpreis 2011\r\nWerkstatt N-Projekt 2010\r\nBundesverdienstkreuz 2009\r\nUtopia Award 2008\r\nAusgewählter Ort im Land der Ideen 2007 (Schirmherrschaft Bundespräsident Horst Köhler)\r\nBundessieger start social 2007 (Schirmherrschaft Bundeskanzlerin Angela Merkel)\r\ntaz-Panter-Preis 2006 \r\n\r\n\r\nAktivitäten und Initiativen\r\n\r\nViva con Agua veranstaltet laufend Konzerte, Partys, Sport- und Kulturevents, deren Erlöse als Spende in Trinkwasserprojekte fließen.\r\n\r\nSchärfung des Bewusstseins, besonders bei jungen Menschen in Deutschland, für die Themen Wasser und Entwicklungshilfe ist das zweite wichtige Anliegen von Viva con Agua.\r\n\r\nDie Sensibilisierung für diese Bereiche soll einerseits durch die zahlreichen Veranstaltungen von Viva con Agua erfolgen, aber auch in intensiver Bildungsarbeit an Schulen. Damit führt Viva con Agua schon frühzeitig Kinder und Jugendliche an soziales und humanitäres Engagement heran.", + "tax_deductible": true, + "contact": { + "name": "Johannes T.", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/449/830/fill_100x100_Johannes1.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/449/830/crop_original_Johannes1.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/johannes_t4" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/449830/contact_data.json" + } + ] + }, + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/fill_100x100_VcA_Projektlogo.jpg" + }, + { + "rel": "fill_200x200", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/fill_200x200_VcA_Projektlogo.jpg" + }, + { + "rel": "fill_400x400", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/fill_400x400_VcA_Projektlogo.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/000/125/crop_original_VcA_Projektlogo.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/organisations/125.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/organisations/125-viva-con-agua-de-sankt-pauli-e-v" + }, + { + "rel": "projects", + "href": "https://api.betterplace.org/de/api_v4/organisations/125/projects.json" + }, + { + "rel": "website", + "href": "http://www.vivaconagua.org" + } + ] + } + ] +} +``` + diff --git a/sections/project_details.md b/sections/project_details.md new file mode 100644 index 0000000..301ba85 --- /dev/null +++ b/sections/project_details.md @@ -0,0 +1,751 @@ + +# Project Details ⇄ [List](projects_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114.json +``` + +The details of a betterplace.org project (donate money). + +**For [betterplace.org clients](../README.md#client-api):** +Use this resource like `/clients/PERMALINK/projects/ID.json` + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
id1114yesProject-id as an integer number ≥ 14.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was created by the +project manager. +
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
titlestringMax 50 character
descriptionstring
tax_deductiblebooleantrueTrue if the project marked as tax deductible. +If so, Users can request a tax-receipt that can be used +with the german tax authorities. +[More about this](http://www.betterplace.org/c/hilfe/projekt-steuerlich-absetzbar/). +
donations_prohibitedbooleanfalseTrue if the project must not receive donations. This might happen, for example, +if a tax-receipt of german tax authorities rans out. + +Please check this flag whenever you display a donation button. +Should you show a button for a project that cannot receive donations +the user will open the donation form and see an error message on +betterplace.org instead! +
completed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) of the moment the project was fully +funded (100% `progress_percentage`). + +A completed project may still be active (as in not closed). +See `closed_at for details. +
closed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was closed by the +project manager. + +A closed project does not have to be fully funded. +See `completed_at` for details. +
open_amount_in_centsnumber12382How many cents are needed to complete the project
donated_amount_in_centsnumber12382How many cents are donated already. +This includes: +- sum of all donations +- sum of all forwardings to the project +- external donations + +Subtracting: +- backwardings from the project +
positive_opinions_countnumber13Number of positive opinions that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +
negative_opinions_countnumber0Number of *negative* opinions (usually 0) that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +Critical opinions are part of the betterplace.org +["Web of trust"](http://www.betterplace.org/c/hilfe/woran-erkenne-ich-dass-ein-projekt-vertrauenswurdig-ist/). +
donor_countnumber46Number of unique donors, based on the payment-email-address
progress_percentagenumber82% financed. Note: We have legacy projects with substantial +donation needs (pre ~2014). This percentage includes those needs. +
incomplete_need_countnumber6Number of needs that still need donations
completed_need_countnumber12Number of completed needs
blog_post_countnumber8Number of blogposts (all types)
+ + ↓contact + + objectTODOThe public face of the project / project manager
+ + ↓carrier + + objectTODOAn organisation, Users will be added later
+ + ↓profile_picture + + null | objectTODO
+ + ↓active_matching_fund + + null | objectTODOTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: carrier + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.namestring"Till B."The carrier can be an organisation or user.
+ + ↓carrier.picture + + string//assets.betterplace.org/…The organisation logo, user profile picture or a fallback image
+### ↑Nested Attributes: carrier.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: active_matching_fund + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
active_matching_fund.idnumber1An integer number ≥ 1
active_matching_fund.created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.activated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.titlestringACME Matching EverythingOur matching fund's name
active_matching_fund.descriptionstringIt's all about matching donations…The description of the matching fund
active_matching_fund.company_namestringACMEThe company that supports it
active_matching_fund.client_idstringclientnameThe client to which the matching fund belongs
active_matching_fund.provided_amount_in_centsnumber12300The amount in cents the company provided to be matched
active_matching_fund.donated_amount_in_centsnumber12300The amount in cents the company already donated
active_matching_fund.statestringactivatedCurrent state of this matching fund: either activated or closed
active_matching_fund.logo_urlstringhttp://example.com/images/logo.pngThe URL of the logo image.
active_matching_fund.maximum_matching_amount_in_centsnumber20000Up to this amount donations get matched by the matching fund
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(project details) +
platformPermalink to betterplace.org
opinionsLink to opinions list +
picturesLink to project pictures list +
needsLink to project needs list +
blog_postsLink to blog posts list +
active_matching_fundLink to matching fund +
matching_fundsLink to matching funds list +
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
carrier.selfLink to this resource itself +(organisation details) +Note: Since the there is no api for users yet, this is only +set for organisations. +
carrier.picture.fill_100x100100×100 Pixel
carrier.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
active_matching_fund.selfLink to this resource itself +(matching fund details) +
active_matching_fund.platformPermalink to betterplace.org
active_matching_fund.projectsLink to the list of projects belonging to this matching fund
active_matching_fund.documentationLink to this resource in the documentation +
+ +## Response Example + +```json +{ + "id": 1114, + "created_at": "2009-03-10T11:12:16+01:00", + "updated_at": "2016-02-09T15:08:48+01:00", + "latitude": 34.531617284782, + "longitude": 69.13581752939456, + "street": "Taimani, behind Qasemi Winhouse", + "zip": "", + "city": "Kabul", + "country": "Afghanistan", + "title": "Skateistan Afghanistan", + "description": "With 68% of Afghanistan’s population under the age of 25, Skateistan strongly believes that youth are the ones most capable of bringing about social change.

Skateistan is an Afghan NGO which operates Afghanistan’s (and the world’s) first co-educational skateboarding school. The Skateistan school engages nearly 400 Kabul youth weekly through skateboarding, and provides them with new opportunities in cross-cultural interaction, education, and personal empowerment programs.

The students (ages 5-17) come from all of Afghanistan’s diverse ethnic and socioeconomic backgrounds, and include 40% female students, hundreds of streetworking children, and youth with disabilities. They develop skills in skateboarding, leadership, problem-solving, multimedia, and creative arts. The students themselves decide what they want to learn; we connect them with a safe space and opportunities for them to develop the skills that they consider important.

For Afghan girls Skateistan's programming is especially important as there are very few recreational opportunities for females. For example, it is not culturally acceptable for girls in Afghanistan to ride bicycles or play sports in public.

Skateistan has been active in Kabul since 2007 - with our facility built in 2009 - and in that time we’ve seen that Afghan youth of all ethnicities, genders, and socioeconomic backgrounds love to skateboard. Skateistan brings them together, equipping young men and women to lead their communities toward social change and development.

In 2012 Skateistan will be opening its second Afghan facility in Mazar-e-Sharif, Northern Afghanistan. It will have space to teach up to 1000 youth weekly.

Our program gives hundreds of oppressed youth a voice. Education and the opportunity for self-expression can break the cycles of poverty, illiteracy and exclusion, with sport paving the way.", + "tax_deductible": true, + "donations_prohibited": false, + "completed_at": "2016-01-22T08:07:22+01:00", + "closed_at": null, + "open_amount_in_cents": 0, + "donated_amount_in_cents": 4741852, + "positive_opinions_count": 726, + "negative_opinions_count": 0, + "donor_count": 552, + "progress_percentage": 100, + "incomplete_need_count": 0, + "completed_need_count": 86, + "blog_post_count": 91, + "contact": { + "name": "E. Kinast", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/fill_100x100_original_Picture_023.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/user/profile_picture/000/130/618/crop_original_original_Picture_023.jpg" + } + ] + }, + "links": [ + { + "rel": "platform", + "href": "https://www.betterplace.org/de/users/erika_k2" + }, + { + "rel": "contact_data", + "href": "https://api.betterplace.org/de/api_v4/users/130618/contact_data.json" + } + ] + }, + "carrier": { + "name": "Skateistan", + "picture": { + "fallback": true, + "links": [ + { + "rel": "fill_100x100", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/001/054/fill_100x100_original_betterplace-logo.png" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/organisation/profile_picture/000/001/054/crop_original_original_betterplace-logo.png" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/organisations/1054.json" + } + ] + }, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_960x500_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_730x380_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_618x322_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_410x214_original_girls-merza-sm.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/fill_270x141_original_girls-merza-sm.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/project/profile_picture/000/001/114/crop_original_original_girls-merza-sm.jpg" + } + ] + }, + "active_matching_fund": null, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/projects/1114-skateistan-afghanistan" + }, + { + "rel": "opinions", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/opinions.json" + }, + { + "rel": "pictures", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/pictures.json" + }, + { + "rel": "needs", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/needs.json" + }, + { + "rel": "blog_posts", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/blog_posts.json" + }, + { + "rel": "matching_funds", + "href": "https://api.betterplace.org/de/api_v4/matching_funds.json?project_id=1114" + }, + { + "rel": "new_client_donation", + "href": "https://www.betterplace.org/de/projects/1114/client_donations/new?client_id=%7Bclient_id%7D", + "templated": true + }, + { + "rel": "new_donation", + "href": "https://www.betterplace.org/de/projects/1114/donations/new" + } + ] +} +``` + diff --git a/sections/project_picture_details.md b/sections/project_picture_details.md new file mode 100644 index 0000000..1aa85b2 --- /dev/null +++ b/sections/project_picture_details.md @@ -0,0 +1,126 @@ + +# Project Picture Details ⇄ [List](project_pictures_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/pictures/286505.json +``` + +The details of a betterplace.org project picture. +The details and list view show the same data. + +*Custom picture-sizes:* [Please read more!](project_picture_list.md) + +**For [betterplace.org clients](../README.md#client-api):** +If you request data for a project that is not part of the client +projects, the API will return a `404` HTTP code. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
id286505yesPicture-id as an integer number ≥ 1.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
descriptionstringYada…Description of the picture
+ + +## Response Links + + + + + + + + + + + + + + + + + + + +
LinknameDescription
imageLink to the original image as uploaded by the user
selfThe single resource for this picture
parentThe parent object of this picture.
+ +## Response Example + +```json +{ + "id": 31766, + "created_at": "2012-07-23T13:45:15+02:00", + "updated_at": "2015-09-29T11:57:25+02:00", + "description": "Young Afghan Skate Instructor Fazilla sitting on her board at Mekroyan Fountain", + "links": [ + { + "rel": "image", + "href": "" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/pictures/31766.json" + }, + { + "rel": "parent", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + } + ] +} +``` + diff --git a/sections/project_pictures_list.md b/sections/project_pictures_list.md new file mode 100644 index 0000000..67fa98e --- /dev/null +++ b/sections/project_pictures_list.md @@ -0,0 +1,182 @@ + +# Project Pictures List ⇄ [Details](project_picture_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects/1114/pictures.json +``` + +A list of pictures of a betterplace.org project (donate money). +Results are contained in a *data* attribute. + +*Custom picture-sizes:* This API will only deliver the orginal image. +That is the largest image betterplace.org can provide. +Please use an image-transformation-service of your choice to resize this +image to your liking. Note howevers that some have non-url-save characters +that might break services like Sencha Source. + +We are working on a better solution. Please contact us for more information. + +In the meantime, the following links might help: + +* [Sencha Source](http://docs.sencha.io/current/index.html#!/guide/src) provides a easy URL-based solution +* [adaptive-images.com](http://adaptive-images.com/) is a self-hosted solution +* [Google mod_pagespeed "image resizing"](https://developers.google.com/speed/docs/mod_pagespeed/filter-image-optimize) + should also help – and give you more performance-goodies as well + +**For [betterplace.org clients](../README.md#client-api):** +If you request data for a project that is not part of the client +projects, the API will return a `404` HTTP code. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
project_id1114yesProject-id as an integer number ≥ 14.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
descriptionstringYada…Description of the picture
+ + +## Response Links + + + + + + + + + + + + + + + + + + + +
LinknameDescription
imageLink to the original image as uploaded by the user
selfThe single resource for this picture
parentThe parent object of this picture.
+ +## Response Example + +```json +{ + "total_entries": 35, + "offset": 3, + "total_pages": 12, + "current_page": 2, + "per_page": 3, + "data": [ + { + "id": 68085, + "created_at": "2012-07-23T14:25:15+02:00", + "updated_at": "2014-03-26T22:13:34+01:00", + "description": "Kids practice to jump at Mekroyan Fountain, Kabul", + "links": [ + { + "rel": "image", + "href": "" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/pictures/68085.json" + }, + { + "rel": "parent", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + } + ] + }, + { + "id": 68086, + "created_at": "2012-07-23T14:30:13+02:00", + "updated_at": "2014-03-26T22:13:36+01:00", + "description": "Afghan Skate Instructor Merza showing his skills at an old Soviet swimming pool on Bibi Maru Hill, Kabul", + "links": [ + { + "rel": "image", + "href": "" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/pictures/68086.json" + }, + { + "rel": "parent", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + } + ] + }, + { + "id": 31767, + "created_at": "2012-07-23T14:45:29+02:00", + "updated_at": "2014-03-13T04:10:36+01:00", + "description": null, + "links": [ + { + "rel": "image", + "href": "" + }, + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/projects/1114/pictures/31767.json" + }, + { + "rel": "parent", + "href": "https://api.betterplace.org/de/api_v4/projects/1114.json" + } + ] + } + ] +} +``` + diff --git a/sections/projects_list.md b/sections/projects_list.md new file mode 100644 index 0000000..23c45c4 --- /dev/null +++ b/sections/projects_list.md @@ -0,0 +1,719 @@ + +# Projects List ⇄ [Details](project_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/projects.json?around=10997+Berlin%2C+Germany&facets=completed%3Afalse&nelat=51.123&nelng=12.123&order=rank%3ADESC&q=Skateistan&scope=location&swlat=51.001&swlng=12.001 +``` + +A list of betterplace.org projects (donate money). +Results are contained in a *data* attribute. + +**For [betterplace.org clients](../README.md#client-api):** +Use this resource like `/clients/PERMALINK/projects.json` + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
scopelocationnoUse the scope to specify how the search-query q should behave: +
    +
  • "no scope" (default) performs a full text search +
  • human_name searches only on the manager-fullname and carrier-fullname. + Use this to get all entities by "Unicef" or by "Till Behnke". +
  • location does a reverse geocoding lookup. + This lookup returns a bounding-box. We transform this bounding-box in a + rectangle that is large enough to encapsulate the whole bounding-box. + We then return all entities that belong to this rectangle. +
+Learn how to format the parameter. +
around10997 Berlin, GermanynoOrder the results by the distance to the given location from near to far. +
+Location can be provided as … +
+… Lat/Lng: 52.50,13.45 +
+… ZIP: 10997 Berlin, Germany. +We use the centre of the ZIP code area as center for the search. +Please add enough context information (like the Country name) +so google knows what place you are looking for. +
+… any location search: All queries other than a float tuple +are send to the google location service. For the provided response we +take a fitting lat/lng value as center of the search. So in theory, +you can use any search that works for google maps. +
+Check the around_location to see what latitude/longitude +values have been used for the query. +
nelat51.123noFor geographic bound filterning: The northeast corner's latitude.
nelng12.123noFor geographic bound filterning: The northeast corner's longitude.
swlat51.001noFor geographic bound filterning: The southwest corner's latitude.
swlng12.001noFor geographic bound filterning: The southwest corner's longitude.
qSkateistannoSearch query. The searches behaviour is based on the scope.
facetscompleted:falsenoFilter the result set. +Documented and supported filters are: +
    +
  • tax_deductible:true/false +
  • completed:true/false – +is this project fully financed (100 %)? See completed_at +
  • closed:true/false – +is this project closed by the project manager? See closed_at +
  • prohibit_donations:true/false – +are donations to this project forbidden at the moment? Closed and blocked projects +will always return true, for example. +
+It is possible to set multiple facet filters. +Learn how to format the parameter. +
orderrank:DESCnoOrder the results by score, rank, id, +progress_percentage, tax_deductible, created_at, +updated_at, last_donation_at, completed. +Use the optional ASC (default) or DESC. +Learn how to format the parameter. +
+The default order is the same as for the +betterplace.org project list: +completed:asc| score:desc | rank:desc| last_donation_at:desc +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was created by the +project manager. +
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
titlestringMax 50 character
descriptionstring
tax_deductiblebooleantrueTrue if the project marked as tax deductible. +If so, Users can request a tax-receipt that can be used +with the german tax authorities. +[More about this](http://www.betterplace.org/c/hilfe/projekt-steuerlich-absetzbar/). +
donations_prohibitedbooleanfalseTrue if the project must not receive donations. This might happen, for example, +if a tax-receipt of german tax authorities rans out. + +Please check this flag whenever you display a donation button. +Should you show a button for a project that cannot receive donations +the user will open the donation form and see an error message on +betterplace.org instead! +
completed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) of the moment the project was fully +funded (100% `progress_percentage`). + +A completed project may still be active (as in not closed). +See `closed_at for details. +
closed_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the project was closed by the +project manager. + +A closed project does not have to be fully funded. +See `completed_at` for details. +
open_amount_in_centsnumber12382How many cents are needed to complete the project
donated_amount_in_centsnumber12382How many cents are donated already. +This includes: +- sum of all donations +- sum of all forwardings to the project +- external donations + +Subtracting: +- backwardings from the project +
positive_opinions_countnumber13Number of positive opinions that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +
negative_opinions_countnumber0Number of *negative* opinions (usually 0) that are given to a project without a donation. +Those are plain opinions as well as visitor opinions. +Critical opinions are part of the betterplace.org +["Web of trust"](http://www.betterplace.org/c/hilfe/woran-erkenne-ich-dass-ein-projekt-vertrauenswurdig-ist/). +
donor_countnumber46Number of unique donors, based on the payment-email-address
progress_percentagenumber82% financed. Note: We have legacy projects with substantial +donation needs (pre ~2014). This percentage includes those needs. +
incomplete_need_countnumber6Number of needs that still need donations
completed_need_countnumber12Number of completed needs
blog_post_countnumber8Number of blogposts (all types)
+ + ↓contact + + objectTODOThe public face of the project / project manager
+ + ↓carrier + + objectTODOAn organisation, Users will be added later
+ + ↓profile_picture + + null | objectTODO
+ + ↓active_matching_fund + + null | objectTODOTODO
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namenull | string"Till B."Display name of a betterplace.org user. +Possible formats: "Till B.", "T. Behnke", "Till Behnke". + +In the case of donation-opinions the name might also be +empty/null for anonymous donations for anonymous donations. +
+ + ↓contact.picture + + string//asset1.betterplace.org ↪/uploads/user/profile_picture ↪/000/000/001 ↪/fill_100x100_original_tb.jpgUser profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: carrier + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.namestring"Till B."The carrier can be an organisation or user.
+ + ↓carrier.picture + + string//assets.betterplace.org/…The organisation logo, user profile picture or a fallback image
+### ↑Nested Attributes: carrier.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: active_matching_fund + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
active_matching_fund.idnumber1An integer number ≥ 1
active_matching_fund.created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.activated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
active_matching_fund.titlestringACME Matching EverythingOur matching fund's name
active_matching_fund.descriptionstringIt's all about matching donations…The description of the matching fund
active_matching_fund.company_namestringACMEThe company that supports it
active_matching_fund.client_idstringclientnameThe client to which the matching fund belongs
active_matching_fund.provided_amount_in_centsnumber12300The amount in cents the company provided to be matched
active_matching_fund.donated_amount_in_centsnumber12300The amount in cents the company already donated
active_matching_fund.statestringactivatedCurrent state of this matching fund: either activated or closed
active_matching_fund.logo_urlstringhttp://example.com/images/logo.pngThe URL of the logo image.
active_matching_fund.maximum_matching_amount_in_centsnumber20000Up to this amount donations get matched by the matching fund
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(project details) +
platformPermalink to betterplace.org
opinionsLink to opinions list +
picturesLink to project pictures list +
needsLink to project needs list +
blog_postsLink to blog posts list +
active_matching_fundLink to matching fund +
matching_fundsLink to matching funds list +
new_client_donationLink to the donation form. Templated, needs insertion of the client_id. +
new_donationLink to the regular donation form. +
contact.platformThe user's profile on betterplace.org. +To view a user profile you have to be logged in. +This array is empty if the user has no useraccount +with betterplace.org but donated via one of our partner. +
contact.contact_dataThe user's contact data. Please note that you need to be +authenticated as a client with matching +access rights in order to see this information. +
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
carrier.selfLink to this resource itself +(organisation details) +Note: Since the there is no api for users yet, this is only +set for organisations. +
carrier.picture.fill_100x100100×100 Pixel
carrier.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
active_matching_fund.selfLink to this resource itself +(matching fund details) +
active_matching_fund.platformPermalink to betterplace.org
active_matching_fund.projectsLink to the list of projects belonging to this matching fund
active_matching_fund.documentationLink to this resource in the documentation +
+ +## Response Example + +```json +{ + "total_entries": 0, + "offset": 0, + "total_pages": 0, + "current_page": 1, + "per_page": 3, + "data": [ + + ] +} +``` + diff --git a/sections/volunteering_details.md b/sections/volunteering_details.md new file mode 100644 index 0000000..1cc761d --- /dev/null +++ b/sections/volunteering_details.md @@ -0,0 +1,595 @@ + +# Volunteering Details ⇄ [List](volunteering_list.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/volunteering/28428.json +``` + +The details of a betterplace.org volunteering offer (donate time). + +**For [betterplace.org clients](../README.md#client-api):** +This resource is not avaliable at the moment. + + +## URL Parameters + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
id28428yesVolunteering-id as an integer number ≥ 1.
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
titlestringTODOMax 100 character unless the volunteering is imported
descriptionstringTODOTODO
+ + ↓carrier + + objectTODOAn organisation, Users will be added later
vacanciesnumber1The number of volunteers that are needed, provided by the manager
+ + ↓image + + null | objectTODOEach volunteering has one optional image / DEPRECATED, will be removed after 5/2015
+ + ↓contact + + objectTODOContact person, contact data and contact address
topicsarray["Development cooperation", "Children & youth"]Up to 4 categories that describe, what for which causes you need volunteers. +Results are translated to the requested language. +Possible results: "Animal & environment protection", "Culture & sports", +"Children & youth", "Development cooperation ", "DisabledEducation", "Elderly people", +"Human rights", "Refugees & immigrants", "Invalid", "Local help", "Socially deprived" +
activitiesarray | null["consulting/coaching", "office work"]Up to 4 categories that describe, what for which causes you need volunteers. +Results are translated to the requested language. +Possible results: "consulting/coaching", "crafting/gardening", "doing sports", +"doing the chores", "group care", "nursing/parenting", "office work", +"organising/managing", "painting/designing", "tutoring/reading", +"visiting/accompanying", "writing/translating" +
imported_fromnull | stringaktion_menschBetterplace imports volunteering offers from Aktions Mensch.
+ + ↓import_information + + null | objectTODOMeta data concerning the import of this volunteering offer, if it +was indeed imported. +
+ + ↓profile_picture + + null | objectTODO
+### ↑Nested Attributes: carrier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.latitudenumber52.499007Decimal degrees based on user input
carrier.longitudenumber13.44947Decimal degrees based on user input
carrier.namestring"Viva con Agua de Sankt Pauli e.V."An organisation name, Users will be added later
carrier.streetstring"Rosenstr. 3"Contact data for the organisation
carrier.citystring"Berlin"Contact data for the organisation
carrier.zipstring"10123"Contact data for the organisation
carrier.countrystring"Germany"Contact data for the organisation
+### ↑Nested Attributes: image + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
image.descriptionstringImage description
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namestringTill BehnkeFullname of the contact person. +For imported volunteering offers, this is the +contact-name that is provided on import. +
contact.phonestring030 - 7676 4488 44Phone number for direct contact. +No validations on input apply. +
contact.emailstringsupport@betterplace.orgPlain text email-address for direct contact +
+ + ↓contact.picture + + string//assets.betterplace.org/…User profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: import_information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
import_information.created_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the imported record was actually created. +
import_information.updated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the imported record was +actually updated last. +
import_information.import_typestring"Import::ImportFormat"Type of import this record originated from.
import_information.import_idstring"foo:23"Unique identifier for this imported record. +
import_information.imported_atstring"1994-11-15T13:15:30Z"DateTime (ISO8601 with Timezone) when the record was imported at +betterplace. +
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(volunteering details) +
platformPermalink to betterplace.org
carrier.logoThe original image version as uploaded by the organisation manager. + +Please note: This image might change in the future since this attribute +does not follow the general API pattern for image attributes. You should +subscribe to the change-log newsletter so we can inform you about upcomming changes. +
image.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
image.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
image.originalOriginal size / DEPRECATED, will be removed after 5/2015
image.thumbThumbnail size / DEPRECATED, will be removed after 5/2015
image.mediumMedium size / DEPRECATED, will be removed after 5/2015
image.regularRegular size / DEPRECATED, will be removed after 5/2015
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "id": 28428, + "created_at": "2015-11-04T18:07:48+01:00", + "updated_at": "2016-01-07T17:19:36+01:00", + "latitude": 53.6815, + "longitude": 9.98472, + "street": "Ochsenzoller Straße 134", + "zip": "22848", + "city": "Norderstedt", + "country": "Deutschland", + "title": "SOS - Public Relation - Texter - Pressesprecher gesucht", + "description": "SOS und Hilfe,\r\n\r\nwir kümmern uns um Kinder mit und ohne Migrantionshintergrund.\r\nDarin sind wir gut - sehr gut sogar, wenn man den Eltern Glauben schenken kann.\r\n\r\nWir sind aber auch ein Paria unter den Kindergärten dieser Welt und schwimmen gegen den Strom (gegen den Strom der Obrigkeit, nicht den der Kinder und Eltern!).\r\n\r\nWir starten gerade mehrere Aktionen in der Öffentlichkeit und brauchen dringend proffesionelle Hilfe und Unterstützung in Sachen PR.\r\nSelbstverständlich ist jegliche Tätigkeit im Zusammenhang mit dem gemeinnützigen Verein versichert.", + "carrier": { + "latitude": 53.6815137, + "longitude": 9.98471559999996, + "name": "Musischer Jugendkreis Norderstedt e.V.", + "street": "Ochsenzoller Straße 134", + "city": "Norderstedt", + "zip": "22848", + "country": "Deutschland", + "links": [ + { + "rel": "logo", + "href": "" + } + ] + }, + "vacancies": 1, + "image": { + "description": "Die KIDS brauchen uns und vor allem Dich", + "links": [ + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_618x322_Gruppenbild_.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_270x141_Gruppenbild_.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/Gruppenbild_.jpg" + }, + { + "rel": "thumb", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/thumb_Gruppenbild_.jpg" + }, + { + "rel": "medium", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/medium_Gruppenbild_.jpg" + }, + { + "rel": "regular", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/regular_Gruppenbild_.jpg" + } + ] + }, + "contact": { + "name": "Ulrich Eidecker", + "phone": "040-523 23 81", + "email": "eidecker@focus-success.de", + "picture": null, + "links": [ + + ] + }, + "topics": [ + "Bildung", + "Kinder & Jugendliche", + "Flüchtlinge & Migranten", + "Sozial Benachteiligte" + ], + "activities": [ + "PR / Social Media" + ], + "imported_from": null, + "import_information": null, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_960x500_Gruppenbild_.jpg" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_730x380_Gruppenbild_.jpg" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_618x322_Gruppenbild_.jpg" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_410x214_Gruppenbild_.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/fill_270x141_Gruppenbild_.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/028/428/crop_original_Gruppenbild_.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/volunteering/28428.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/volunteering/28428-sos-public-relation-texter-pressesprecher-gesucht" + } + ] +} +``` + diff --git a/sections/volunteering_list.md b/sections/volunteering_list.md new file mode 100644 index 0000000..dde5774 --- /dev/null +++ b/sections/volunteering_list.md @@ -0,0 +1,920 @@ + +# Volunteering List ⇄ [Details](volunteering_details.md) + +```Rebol +GET https://api.betterplace.org/de/api_v4/volunteering.json?around=10997+Berlin%2C+Germany&nelat=51.123&nelng=12.123&order=created_at%3AASC&q=Homework+help&scope=location&swlat=51.001&swlng=12.001 +``` + +A list of betterplace.org volunteering offers (donate time). +Results are contained in a *data* attribute. + +**For [betterplace.org clients](../README.md#client-api):** +This resource is not avaliable at the moment. + + +## URL Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterExampleRequiredDescription
scopelocationnoUse the scope to specify how the search-query q should behave: +
    +
  • "no scope" (default) performs a full text search +
  • human_name searches only on the manager-fullname and carrier-fullname. + Use this to get all entities by "Unicef" or by "Till Behnke". +
  • location does a reverse geocoding lookup. + This lookup returns a bounding-box. We transform this bounding-box in a + rectangle that is large enough to encapsulate the whole bounding-box. + We then return all entities that belong to this rectangle. +
+Learn how to format the parameter. +
around10997 Berlin, GermanynoOrder the results by the distance to the given location from near to far. +
+Location can be provided as … +
+… Lat/Lng: 52.50,13.45 +
+… ZIP: 10997 Berlin, Germany. +We use the centre of the ZIP code area as center for the search. +Please add enough context information (like the Country name) +so google knows what place you are looking for. +
+… any location search: All queries other than a float tuple +are send to the google location service. For the provided response we +take a fitting lat/lng value as center of the search. So in theory, +you can use any search that works for google maps. +
+Check the around_location to see what latitude/longitude +values have been used for the query. +
nelat51.123noFor geographic bound filterning: The northeast corner's latitude.
nelng12.123noFor geographic bound filterning: The northeast corner's longitude.
swlat51.001noFor geographic bound filterning: The southwest corner's latitude.
swlng12.001noFor geographic bound filterning: The southwest corner's longitude.
qHomework helpnoSearch query. The searches behaviour is based on the scope.
ordercreated_at:ASCnoOrder the result by has_image (default), created_at (second default). +Use the optional ASC (default) or DESC. +Learn how to format the parameter. +
+The default order is the same as for the +betterplace.org volunteering list: +has_image:desc| carrier_has_image:desc| created_at:desc +
+ + +## Response Attributes + +### Root Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
idnumber1An integer number ≥ 1
created_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
updated_atstring"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone)
latitudenumber52.499007Decimal degrees based on user input
longitudenumber13.44947Decimal degrees based on user input
streetnull | string"Schlesische Straße 26"Street address
zipnull | string"10997"ZIP code
citynull | string"Berlin"Name of the city
countrynull | string"Deutschland"Name of the country
titlestringTODOMax 100 character unless the volunteering is imported
descriptionstringTODOTODO
+ + ↓carrier + + objectTODOAn organisation, Users will be added later
vacanciesnumber1The number of volunteers that are needed, provided by the manager
+ + ↓image + + null | objectTODOEach volunteering has one optional image / DEPRECATED, will be removed after 5/2015
+ + ↓contact + + objectTODOContact person, contact data and contact address
topicsarray["Development cooperation", "Children & youth"]Up to 4 categories that describe, what for which causes you need volunteers. +Results are translated to the requested language. +Possible results: "Animal & environment protection", "Culture & sports", +"Children & youth", "Development cooperation ", "DisabledEducation", "Elderly people", +"Human rights", "Refugees & immigrants", "Invalid", "Local help", "Socially deprived" +
activitiesarray | null["consulting/coaching", "office work"]Up to 4 categories that describe, what for which causes you need volunteers. +Results are translated to the requested language. +Possible results: "consulting/coaching", "crafting/gardening", "doing sports", +"doing the chores", "group care", "nursing/parenting", "office work", +"organising/managing", "painting/designing", "tutoring/reading", +"visiting/accompanying", "writing/translating" +
imported_fromnull | stringaktion_menschBetterplace imports volunteering offers from Aktions Mensch.
+ + ↓import_information + + null | objectTODOMeta data concerning the import of this volunteering offer, if it +was indeed imported. +
+ + ↓profile_picture + + null | objectTODO
+### ↑Nested Attributes: carrier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
carrier.latitudenumber52.499007Decimal degrees based on user input
carrier.longitudenumber13.44947Decimal degrees based on user input
carrier.namestring"Viva con Agua de Sankt Pauli e.V."An organisation name, Users will be added later
carrier.streetstring"Rosenstr. 3"Contact data for the organisation
carrier.citystring"Berlin"Contact data for the organisation
carrier.zipstring"10123"Contact data for the organisation
carrier.countrystring"Germany"Contact data for the organisation
+### ↑Nested Attributes: image + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
image.descriptionstringImage description
+### ↑Nested Attributes: contact + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.namestringTill BehnkeFullname of the contact person. +For imported volunteering offers, this is the +contact-name that is provided on import. +
contact.phonestring030 - 7676 4488 44Phone number for direct contact. +No validations on input apply. +
contact.emailstringsupport@betterplace.orgPlain text email-address for direct contact +
+ + ↓contact.picture + + string//assets.betterplace.org/…User profile picture or a fallback image
+### ↑Nested Attributes: contact.picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
contact.picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+### ↑Nested Attributes: import_information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
import_information.created_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the imported record was actually created. +
import_information.updated_atnull | string"1994-11-05T13:15:30Z"DateTime (ISO8601 with Timezone) when the imported record was +actually updated last. +
import_information.import_typestring"Import::ImportFormat"Type of import this record originated from.
import_information.import_idstring"foo:23"Unique identifier for this imported record. +
import_information.imported_atstring"1994-11-15T13:15:30Z"DateTime (ISO8601 with Timezone) when the record was imported at +betterplace. +
+### ↑Nested Attributes: profile_picture + + + + + + + + + + + + + + +
AttributeTypesExampleDescription
profile_picture.fallbackbooleantrueSpecifies whether a fallback image is given or not
+ + +## Response Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LinknameDescription
selfLink to this resource itself +(volunteering details) +
platformPermalink to betterplace.org
carrier.logoThe original image version as uploaded by the organisation manager. + +Please note: This image might change in the future since this attribute +does not follow the general API pattern for image attributes. You should +subscribe to the change-log newsletter so we can inform you about upcomming changes. +
image.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
image.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
image.originalOriginal size / DEPRECATED, will be removed after 5/2015
image.thumbThumbnail size / DEPRECATED, will be removed after 5/2015
image.mediumMedium size / DEPRECATED, will be removed after 5/2015
image.regularRegular size / DEPRECATED, will be removed after 5/2015
contact.picture.fill_100x100100×100 Pixel
contact.picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
profile_picture.fill_960x500950×500 Pixel
profile_picture.fill_730x380730×380 Pixel
profile_picture.fill_618x322618×322 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.fill_410x214410×214 Pixel
profile_picture.fill_270x141270×141 Pixel / DEPRECATED, will be removed after 5/2015
profile_picture.originalMaximum sized image. This is the original image with default-cropping or user-cropping applied.
+ +## Response Example + +```json +{ + "total_entries": 10312, + "offset": 3, + "total_pages": 3438, + "current_page": 2, + "per_page": 3, + "data": [ + { + "id": 6633, + "created_at": "2013-01-29T14:55:36+01:00", + "updated_at": "2016-01-06T10:27:10+01:00", + "latitude": 52.4986, + "longitude": 13.3918, + "street": "", + "zip": "", + "city": "Berlin-Kreuzberg", + "country": "Deutschland", + "title": "wellcome-Ehrenamtliche für Berlin-Kreuzberg", + "description": "Wir suchen Freiwillige, die Freude und Erfahrung im Umgang mit Säuglingen und Kleinkindern sowie Lust haben, junge Familien zu unterstützen. Als wellcome-Ehrenamtliche unterstützen sie Familien mit Kindern im 1. Lebensjahr individuell und alltagspraktisch. Für einen Zeitraum von ca. 3-5 Monaten besuchen sie \"ihre Familie\" ca. 1-2 mal wöchentlich und helfen die neue Situation zu meistern. wellcome-Ehrenamtliche fahren beispielsweise den Säugling spazieren, damit die Mutter ausruhen kann, sie begleiten die Zwillingsmutter zum Kinderarzt, holen das Geschwisterkind von der Kita ab oder sind einfach da und hören zu.\r\nNach einem Kennlerngespräch mit der wellcome-Koordinatorin erhalten die Ehrenamtlichen fachliche Begleitung, Fortbildungen und Möglichkeiten des Austauschs im Rahmen reegelmäßiger Ehrenamtstreffen. Die anfallenden Fahrtkosten werden erstattet und es besteht Versicherungsschutz.", + "carrier": { + "latitude": 52.53200149536133, + "longitude": 13.43490028381348, + "name": "wellcome in Berlin", + "street": "Liselotte-Herrmann-Str. 33", + "city": "Berlin", + "zip": "10407", + "country": "Deutschland", + "links": [ + { + "rel": "logo", + "href": "" + } + ] + }, + "vacancies": 10, + "image": { + "description": "wellcome-Ehrenamtliche im Einsatz", + "links": [ + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_618x322_well_Ehrenamtliche.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_270x141_well_Ehrenamtliche.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/well_Ehrenamtliche.jpg" + }, + { + "rel": "thumb", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/thumb_well_Ehrenamtliche.jpg" + }, + { + "rel": "medium", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/medium_well_Ehrenamtliche.jpg" + }, + { + "rel": "regular", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/regular_well_Ehrenamtliche.jpg" + } + ] + }, + "contact": { + "name": "Canan Gerner", + "phone": "030/ 32 53 23 42", + "email": "berlin.kreuzberg@wellcome-online.de", + "picture": null, + "links": [ + + ] + }, + "topics": [ + "Nachbarschaft", + "Kinder & Jugendliche" + ], + "activities": [ + "besuchen/begleiten", + "pflegen/betreuen" + ], + "imported_from": null, + "import_information": null, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_960x500_well_Ehrenamtliche.jpg" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_730x380_well_Ehrenamtliche.jpg" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_618x322_well_Ehrenamtliche.jpg" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_410x214_well_Ehrenamtliche.jpg" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/fill_270x141_well_Ehrenamtliche.jpg" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/633/crop_original_well_Ehrenamtliche.jpg" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/volunteering/6633.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/volunteering/6633-wellcome-ehrenamtliche-fur-berlin-kreuzberg" + } + ] + }, + { + "id": 6717, + "created_at": "2013-02-03T20:20:25+01:00", + "updated_at": "2016-02-10T14:53:00+01:00", + "latitude": 6.69561, + "longitude": -1.54106, + "street": "Madina", + "zip": "00233", + "city": "Accra", + "country": "Ghana", + "title": "Volunteer in Ghana to provide impoverished,orphaned & street children with Educations & Health Care ", + "description": "We work in Ghana to provide impoverished, orphaned and street children with Health Care and Education.\r\nWe need volunteers to help with teaching in one of our partner schools (any subject of your preferred choice), helping in local hospitals (i.e. during child delivery in the Maternity Unit), holding HIV/Aids awareness talks etc. These are only a few examples of the things you could be doing here in Ghana and we are willing to accommodate you with any skills you may have and Certificate will always be provided by TANF after placement. If you have an idea in which area you would like to volunteer you can also let us know and we will see if such an opportunity is available.", + "carrier": { + "latitude": 5.7061254, + "longitude": -0.14565709999999, + "name": "The Anidaso Nsae Foundation (TANF)", + "street": "Adenta", + "city": "Accra", + "zip": "", + "country": "Ghana", + "links": [ + { + "rel": "logo", + "href": "" + } + ] + }, + "vacancies": 13, + "image": { + "description": "Mark Taylor, Richard Cook and Matthew Hine (Volunteers) from New Zealand having some nice time.", + "links": [ + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_618x322_DSCI0143.JPG" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_270x141_DSCI0143.JPG" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/DSCI0143.JPG" + }, + { + "rel": "thumb", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/thumb_DSCI0143.JPG" + }, + { + "rel": "medium", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/medium_DSCI0143.JPG" + }, + { + "rel": "regular", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/regular_DSCI0143.JPG" + } + ] + }, + "contact": { + "name": "Laud Akuffo", + "phone": "+233 244 246 094", + "email": "info@tanfghana.org", + "picture": null, + "links": [ + + ] + }, + "topics": [ + "Bildung", + "Entwicklungszusammenarbeit", + "Kinder & Jugendliche", + "Kultur, Freizeit & Sport" + ], + "activities": [ + "Büroarbeit", + "organisieren/planen", + "pflegen/betreuen", + "Sport machen" + ], + "imported_from": null, + "import_information": null, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_960x500_DSCI0143.JPG" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_730x380_DSCI0143.JPG" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_618x322_DSCI0143.JPG" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_410x214_DSCI0143.JPG" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/fill_270x141_DSCI0143.JPG" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/uploads/bettertime/job_description/profile_picture/000/006/717/crop_original_DSCI0143.JPG" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/volunteering/6717.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/volunteering/6717-volunteer-in-ghana-to-provide-impoverished-orphaned-street-children-with-educations-health-care" + } + ] + }, + { + "id": 6775, + "created_at": "2013-02-10T15:48:45+01:00", + "updated_at": "2016-02-10T15:15:27+01:00", + "latitude": 0.945, + "longitude": 33.125, + "street": "kiyunga mbulamuti kamuli road", + "zip": "256", + "city": "kamuli", + "country": "Uganda", + "title": "Give the children ideas,knowledge and support to become responsible citizens", + "description": "The opportunity of the volunteers is guiding and counseling the community and teaching the young generation on how to behave in the orphanage life they are in.\r\nThe volunteers are required to pay for their transport to kiyunga in kisozi sub county in kamuli district.\r\nThe organization offers accommodation, feeding and some others the organization can afford.They willbe secured by the organization.for more inquiry contact this(caomera@gmail.com)", + "carrier": { + "latitude": 0.9386024, + "longitude": 33.1197774, + "name": "Children's Hope Uganda", + "street": "nawanyago-kisozi-kamuli road", + "city": "kamuli", + "zip": "+256", + "country": "Uganda", + "links": [ + { + "rel": "logo", + "href": "" + } + ] + }, + "vacancies": 5, + "image": { + "description": "", + "links": [ + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_618x322_default.betterplace.png" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_270x141_default.betterplace.png" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_730x380_default.betterplace.png" + }, + { + "rel": "thumb", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/thumb_default.betterplace.png" + }, + { + "rel": "medium", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/medium_default.betterplace.png" + }, + { + "rel": "regular", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/regular_default.betterplace.png" + } + ] + }, + "contact": { + "name": "Kawomera David", + "phone": "+256779996702", + "email": "caomera@gmail.com", + "picture": null, + "links": [ + + ] + }, + "topics": [ + "Bildung", + "Kinder & Jugendliche" + ], + "activities": [ + "beraten/coachen", + "besuchen/begleiten", + "organisieren/planen", + "pflegen/betreuen" + ], + "imported_from": null, + "import_information": null, + "profile_picture": { + "fallback": true, + "links": [ + { + "rel": "fill_960x500", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_960x500_default.betterplace.png" + }, + { + "rel": "fill_730x380", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_730x380_default.betterplace.png" + }, + { + "rel": "fill_618x322", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_618x322_default.betterplace.png" + }, + { + "rel": "fill_410x214", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_410x214_default.betterplace.png" + }, + { + "rel": "fill_270x141", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/fill_270x141_default.betterplace.png" + }, + { + "rel": "original", + "href": "https://asset1.betterplace.org/assets/default/job_description_profile_picture/crop_original_default.betterplace.png" + } + ] + }, + "links": [ + { + "rel": "self", + "href": "https://api.betterplace.org/de/api_v4/volunteering/6775.json" + }, + { + "rel": "platform", + "href": "https://www.betterplace.org/de/volunteering/6775-give-the-children-ideas-knowledge-and-support-to-become-responsible-citizens" + } + ] + } + ] +} +``` +