All Projects → betterplace → betterplace_apidocs

betterplace / betterplace_apidocs

Licence: other
API Documentation for the betterplace platform

Projects that are alternatives of or similar to betterplace apidocs

donate-button
A free donate and p2p fundraising button so nonprofit websites can accept cryptocurrency, stocks, and cash - credit, debit, bank, PayPal, Venmo, Apple Pay, Google Pay.
Stars: ✭ 24 (+20%)
Mutual labels:  nonprofit, donations
coindrop
The easiest way to accept donations & tips anywhere
Stars: ✭ 59 (+195%)
Mutual labels:  donations
grantmakers.github.io
Grantmakers.io is a free, open source project built to help nonprofits utilize the incredible IRS electronic 990-PF dataset.
Stars: ✭ 41 (+105%)
Mutual labels:  nonprofit
ProjectLockdown
Project Lockdown (an initiative from The IO Foundation) is a civic tech, interactive platform providing an overview of the state of Human and Digital Rights around the globe. It evaluates policies obtained from official sources that may impact their observance. It provides, among other tools, a layered map interface that allows for a visual repr…
Stars: ✭ 34 (+70%)
Mutual labels:  nonprofit
direct-stripe
Stripe payment button for WordPress websites
Stars: ✭ 12 (-40%)
Mutual labels:  donations
training-center.github.io
Site do Centro de Treinamento
Stars: ✭ 104 (+420%)
Mutual labels:  nonprofit
clipsync-windows
Clipboard which sync with Android and Windows Platform.
Stars: ✭ 20 (+0%)
Mutual labels:  donations
Declaration
Minecraft 公益服务器宣言 / The declaration of nonprofit Minecraft servers.
Stars: ✭ 13 (-35%)
Mutual labels:  nonprofit
o-fish-android
Android app for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection.
Stars: ✭ 19 (-5%)
Mutual labels:  nonprofit
tenants
JustFix.nyc is a tool to document, organize, and take action in getting repairs made on your apartment.
Stars: ✭ 15 (-25%)
Mutual labels:  nonprofit
awesome-donations
A repository of FLOSS donation options.
Stars: ✭ 21 (+5%)
Mutual labels:  donations
o-fish-ios
iOS app for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection.
Stars: ✭ 28 (+40%)
Mutual labels:  nonprofit
o-fish-web
Web application for the Officer's Fishery Information Sharing Hub (O-FISH). The web app allows agencies to gain insights from the aggregated information gathered during a routine vessel inspection (submitted via the web app).
Stars: ✭ 29 (+45%)
Mutual labels:  nonprofit
TeacherFund next
A website to fund teachers discretionary spending because the government sucks at it
Stars: ✭ 85 (+325%)
Mutual labels:  nonprofit
o-fish-realm
Realm application code and sample data for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection. The web app allows agencies to gain insights from the aggregated information.
Stars: ✭ 23 (+15%)
Mutual labels:  nonprofit
woominecraft-wp
A FREE Minecraft Donation Plugin for WordPress designed to work in conjunction with WooMinecraft for Bukkit/Spigot & WooCommerce to allow the purchasing of virtual items in MineCraft and have them delivered to the servers.
Stars: ✭ 33 (+65%)
Mutual labels:  donations
contracts
Alice smart contracts
Stars: ✭ 57 (+185%)
Mutual labels:  donations
liberapay.org
Home of the non-profit organization that runs liberapay.com
Stars: ✭ 52 (+160%)
Mutual labels:  nonprofit
life-after-hate
An intuitive resource map to aid nonprofit Life After Hate staff in finding resources for individuals attempting to disengage from hate groups.
Stars: ✭ 12 (-40%)
Mutual labels:  nonprofit
www
Execute Big 2.0, with a minimalistic vision and a clearer focus.
Stars: ✭ 21 (+5%)
Mutual labels:  nonprofit

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 such as the link structure.

Please provide feedback

Please don't hesitate to send feedback about the API and this documentation to [email protected].

Table of content

General information

  1. General information ↓ below
  2. Changelog
  3. Request Parameter Format ↓ below
  4. Addressing the locale of a resource ↓ below
  5. Pagination ↓ below
  6. HTML Sanitization of string attributes ↓ below
  7. Picture formats ↓ below
  8. HTTP Status Codes ↓ below
  9. Error Messages ↓ below
  10. Known issues ↓ below
  11. API Client Libraries ↓ below
  12. Code examples ↓ below
  13. Example apps ↓ below

Public API

  1. Projects
    1. Projects List and Search
    2. Project Details
    3. Project Needs List
    4. Project Need Details
    5. Project Blog Posts List
    6. Project Blog Post Details
    7. Project Categories List
    8. Project Opinions List
    9. Project Pictures List
    10. Project Picture Details
  2. Fundraising Events
    1. Fundraising Events List and Search
    2. Fundraising Events Details
    3. Fundraising Event Opinions List
    4. Fundraising Event Featured Projects List
    5. Fundraising Event Forwarding List
  3. Volunteering
    1. Volunteering List and Search
    2. Volunteering Details
    3. Volunteering Inquiries
  4. Organisations
    1. Organisations List
    2. Organisation Details
  5. MatchingFunds
    1. MatchingFunds List
    2. MatchingFund Details
  6. Illustrations
    1. Illustrations List

Client API

  1. General Information
    1. General Information ↓ below
    2. Client Projects ↓ below
    3. Client Authentication ↓ below
    4. Client Details
    5. Client Project Statistics
    6. Client Fundraising Event Statistics
  2. Donations
    1. Client Donation Pledge Creation 🔒
    2. Client Donation Pledge Status 🔒
    3. Client Forwarding Request Creation 🔒
    4. Client Forwarding Request Status 🔒
    5. Client Donations List
    6. Client Pool Details 🔒
  3. Contact Data
    1. User Contact Data Details 🔒
  4. Projects
    1. Client Projects List and Search –  See client section and "Client Projects"
    2. Client Project Details –  See client section and "Client Projects"
    3. Client Blog Posts List – See client section
    4. Client Mailing Subscribtions 🔒
  5. Tags
    1. Client Tags List
    2. Client-Tag Projects List
    3. Client-Project Tags List
  6. Volunteering
    1. Client Volunteering List and Search –  See client section and "Client Volunteering Offers"
    2. Client Volunteering Details –  See client section and "Client Volunteering Offers"

Organisation API

  1. ThirdPartyApp custom donation form for organisations

General information

  • The API is https only, all non-https requests will be redirected accordingly
  • The response format is JSON
  • We support Cross-origin resource sharing (CORS), so no proxy or JSONP is required
  • Authentication: Most API calls are public. Some client API features require authentication. Learn more
  • The data of betterplace Users is not part of the API at this moment.

Request parameter format

The order and facets request parameters accept multiple key-value pairs. We use the same convention as the Google Static Maps API V2.

Example: foo:bar|lorem:ipsum

This way you may specify a primary and secondary sort order such as order=rank:DESC|created_at:DESC, which will cause higher ranked objects to come first and more recently created objects to come first if they have equal rank.

  • Split key and value by a colon :
  • Split multiple key-value pairs by a pipe | (%7C)
  • URL-encode 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 ones. Non-translated content will fall back to the original content language. We currently support content with German and English translations.
  • The same pattern applies to creating resources for a specific language.

Pagination

All list requests can be paginated with the following parameters.

Parameter Description Default
page Used to paginate through the list 1
per_page The number of entries per page 20

The per_page parameter is capped at 200. Any higher value for per_page grants at most 200 results.

The following attributes are returned in all list view responses:

Attribute Description Example
total_entries Count of all entries 23
offset The number of entries that are skipped before the current listing begins, = max(page - 1, 0) * per_page 0
total_pages Count of all pages, based on per_page 42
current_page What page we are on 1
per_page Number of entries per page 20

Sanitization

Every string attribute returned in a JSON document is sanitized HTML. By default only a, b, br, em, i, li, ol, p, strong, ul tags are allowed. If an attribute allows for a different set of tags it is specified in the documentation of this field under the "Response Attributes" headline. We might adapt the allowed this set of tags at any time without further notice, e.g. to avert upcoming security problems.

Picture formats

Please note that all over the API only the original image version will always be available. There are additional image versions for various entities, e.g. fill_960x500 for projects. You can use these versions, but they might change in the future!

HTTP Status Codes

The following HTTP result codes can be returned:

Error Messages

If an error occurs, a JSON response message 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:

{
  "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 issue. 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 error response at any time without further notice.

Example with validation errors:

{
  "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 [email protected] for more information

  • Documentation: Not all resources have a documentation URL as part of the JSON response
  • 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)

API Client Libraries

While we currently do not offer any official client API libraries, Duilio Ruggiero implemented the prototypical ruby client 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

Example apps

Client API

This API provides special features for companies and organisations as part of the services offered by our betterplace solutions. This client access requires a special contract. Please contact us with your questions.

Client Projects

Clients projects are projects on betterplace.org that are associated with an api client as part of the services that betterplace.org provides for companies. This way clients can control what projects are visible on their external platform.

Some URLs have a special scope for clients. Examples:

  • /clients/example_client/projects will only show projects of the client "example_client"
  • /clients/example_client/tags/rainforest/projects will only show projects of the client "example_client" that are 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

Clients volunteering offers are volunteering offers on betterplace.org that are associated with an api client as part of the services that betterplace.org provides for companies. This way clients can control what volunteering offers are visible on their external platform.

It works the same way as with projects, see above ("Client Projects").

Client Authentication

Some features of the betterplace.org client API require your authentication.

  • Please use your API Credentials to authenticate with HTTP Basic Authentication username and password.
  • Please use the special scope for clients that is described above.

Username, password and client scope are provided as part of a contract with our betterplace solutions.

Usage example

The local German newspaper "Trierischer Volksfreund" has its own donation portal at "Meine Hilfe zählt". All data is pulled from this API. They also 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 [email protected].

About betterplace.org

Learn more about betterplace at https://www.betterplace.org/c/about-us/

License of this documentation

See the license file.

Shareable URL

Share these docs with your friends and family: api-docs.betterplace.org

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].