4.3 KiB
4.3 KiB
TwingleForm API
The TwingleForm API is meant to offer a simple and secure interface to read and alter only a limited number of values provided by the TwingleProject API.
It can be used by external CMS (like Drupal) to receive a list of TwingleProjects. The API delivers for example the embed codes of all active TwingleProjects so that they can be integrated in a website.
It's also possible to update the TwingleProject url
field via the TwingleForm Create API. In this case the url
fields of all TwingleCampaign children of the TwingleProject will be updated, too.
Get & Getsingle API
Note: The Getsingle API delivers only one result or returns an error.
API parameters
parameter | required | description | example value |
---|---|---|---|
id | no | campaign id | 16 |
name | no | name of the TwingleProject campaign | Donation_Form |
title | no | title of the TwingleProject campaign | Donation Form |
twingle_project_type | no | project type can be default, event or membership | default |
Example Get call
curl --location -g --request GET 'http://dmaster.localhost:7979/sites/all/modules/civicrm/extern/rest.php?entity=TwingleForm&action=get&api_key=xxxxxxxxxxxxxxxxxxxx&key=xxxxxxxxxxxxxxxxxxxx&json={}'
Response for successful Get call
{
"is_error": 0,
"version": 3,
"count": 2,
"values": {
"16": {
"id": "16",
"twingle_project_id": "3237",
"title": "Donation Form",
"name": "Donation_Form",
"project_type": "default",
"embed_code": "<!-- twingle --> ... <!-- twingle -->",
"counter": "https://donationstatus.twingle.de/donation-status/xxxxxxxxxxxx"
},
"23": {
"id": "23",
"twingle_project_id": "3242",
"title": "Another Donation Form",
"name": "Donation_Form_Copy",
"project_type": "event",
"embed_code": "<!-- twingle --> ... <!-- twingle -->",
"counter": "https://donationstatus.twingle.de/donation-status/xxxxxxxxxxxx"
}
}
}
Example Getsingle call
curl --location -g --request GET 'http://dmaster.localhost:7979/sites/all/modules/civicrm/extern/rest.php?entity=TwingleForm&action=getsingle&api_key=xxxxxxxxxxxxxxxxxxxx&key=xxxxxxxxxxxxxxxxxxxx&json={%22id%22:16}' \
Response for successful Getsingle call
{
"is_error": 0,
"version": 3,
"count": 7,
"values": {
"id": "16",
"twingle_project_id": "3237",
"title": "Donation Form",
"name": "Donation_Form",
"project_type": "default",
"embed_code": "<!-- twingle --> ... <!-- twingle -->",
"counter": "https://donationstatus.twingle.de/donation-status/xxxxxxxxxxxx"
}
}
Create API
Create API parameters
parameter | required | description | example value |
---|---|---|---|
id | yes | campaign id | 16 |
url | yes | url of the page where Twingle form is embedded | https://mywebsite.org/donationform |
Example Create call
curl --location -g --request POST 'http://dmaster.localhost:7979/sites/all/modules/civicrm/extern/rest.php?entity=TwingleForm&action=create&api_key=xxxxxxxxxxxxxxxxxxxx&key=xxxxxxxxxxxxxxxxxxxx&json={%22id%22:%2016,%20%22url%22:%22https://mywebsite.org/donationform%22}'
Response for successful Create call
{
"is_error": 0,
"version": 3,
"count": 5,
"values": {
"title": "Donation Form",
"id": "16",
"project_id": "3237",
"project_type": "default",
"status": "TwingleProject created"
}
}
Responses for failed Create calls
TwingleProject not found
{
"id": 999,
"url": "https://mywebsite.org/donationform",
"is_error": 1,
"error_message": "Expected one TwingleProject but found 0"
}
Invalid URL
{
"id": 16,
"url": "https://mywebsite.org/donation form",
"is_error": 1,
"error_message": "invalid URL"
}