Developers
Mostly about Wild Apricot API. Feel free to share examples of your code!
84 results found
-
Profile last updated field differs in filter from value read in API ?
Hi,
we have a job that queries via the API searching with a filter on "Profile last updated". The query can return no results, it doesn't find any contacts changed since the last query run. However if we just iterate through the contacts and read the Profile last updated field it can be more recent shown in the API results than displayed in the WA web interface. It appears when reading via the API the "last login date" is used as the Profile last updated date if the last login is newer than the last profile update.Summary:
Profile last…1 voteThe date in API and in web interface are taken from the same field in database. I was not able to reproduce error you described. Probably it was an error, which is already fixed.
Please let us know if you encounter any error like this.
-
Setting a Password when creating a new contact/member
Hi,
I need to create a contact through the API through a 3rd party server. I have no problem creating a contact. However, when I set a password and try to login after I have created the contact, I get an error saying that I have the wrong login information.
Secondly, when someone signs up they get an email with a password sent to them. Is this possible as well through the API? When I create a contact through the API I want to be able to send them the password in their email so they can login.
1 vote1. Creating contact
- Newly generated password should be passed in $postFields instead of “12345678”
- Method createWAContact should be modified to use a password
Please see improved version of your code here: https://gist.github.com/DmitriySmirnov/8d65a1417d9ffdfc9efe762fa492bbcc
2. Sending password
Currently you can’t send such email using API, however there is a lot of PHP libraries for sending emails. -
I need to access the "group participation" data for the current user. Can anybody show me how to access the data?
I need to access the "group participation" data for the current user. Can anybody show me how to access this data?
1 voteGroup participation data can be foubd in the fiels with name ‘Group participation’. For example:
var contact = getContactById( 123 )
for( i=0; i<contact.FieldValues.length;i++) {
var record = contact.FieldValues[i];
if( record.FieldName == ‘Group participation’)
var groups = record.Value;
} -
PUT method to update contact is failing
I am trying to update the contact details.
this.data =JSON.parse(data);
var contactId = this.data.Id;
let userurl = 'https://api.wildapricot.org/v2/Accounts/' + accountid + '/Contacts/' +contactId;console.log("efore put call", userDetails); console.log("efore put call stringified", JSON.stringify(userDetails)); let bodyString = JSON.stringify(userDetails); this.http.put(userurl, bodyString, {headers:headers}) .map(res => <User>(res.json())) .subscribe(userAuth => { // we've got back the raw data, now generate the core schedule data // and save the data for later reference this.userData = userAuth; console.log('get user details', userAuth); resolve(this.userData); }, err => { console.log("error", err); }); });
that is my put code.. as your can see I am sending the body text as…
1 vote -
Built-in export/reports data via api
Can we please access the data from the built-in Wild Apricot "export" buttons via the API?
Example: We currently go to Finances > Payments & Refunds > [Export button] > [tick all boxes] > [export as csv], then open the downloaded file and copy/paste into a Google Sheet so we can organise it.
Surely when the Web Interface generates this export it is simply an internal API call... I want to skip the login/generate/download/copy/paste steps and instead pull the same report data straight in to the Google Sheet via the API. Is this possible?
2 votesCurrently you can access payments and refunds using API as described here
https://help.wildapricot.com/display/DOC/Payments+API+V2+call and here https://help.wildapricot.com/display/DOC/Refunds+V2+API+call -
Change the batch interface to support the POST method
I have been trying to call the batch API interface from Google Apps Script. Apps Script correctly realizes that BATCH is not a valid HTTP method and prevents me from submitting the request. There must also be many other HTTP client libraries that prevent this.
The solution is simple - just extend the batch API to also allow a request submitted with the POST method.
1 voteIt was resolved in release 5.9.2
-
Pre-flight not handled for API V2
I am trying to get data for my app using wild apricot.Im using hybrid app. Currently when I am trying to access
events.https://api.wildapricot.org/v2/Accounts/209675/Events
This is my url.
Then I have to send authorization as header in the GET request.
But whenever I send authorization as header in GET request. It comes as a pre-flight and first OPTIONS request is sent.But the server is not handling OPTIONS request. How do I get over this scenario.
Request URL:https://api.wildapricot.org/v2/Accounts/209675/Events
Request Method:OPTIONS
Status Code:405 Method Not Allowed
Remote Address:96.43.192.222:443
Response Headers
view source
Cache-Control:no-cache
Connection:close
Content-Length:76
Content-Type:application/json; charset=utf-8
Date:Tue, 02 Aug…1 voteThat happens because your try to access API from web browser (possibly Ionic builder). The web app makes cross origin requests, which are not supported in API.
There is no problem to access API from mobile app, our own mobile app for admins works exactly this way. However if you try to access API from ionic builder, then you will face CORS error. Here is a detailed explanation of reasons and possible workaround: blog.ionic.io/handling-cors-issues-in-ionic.
Please let me know if the tutorial helps or not.
Dmitry
-
How to access each of the options and whole structure of custom field in event
Hi,
I am creating a client for wild apricot. So to facilitate event registration the form has to be created in mobile app. To do the same the custom event fields has to be shown in the mobile client. So when I try to access the event Registration or event eventdetails using API.{
"FieldName": "Testing field",
"Value": [
{
"Id": 8815648,
"Label": "New Item 1"
}
]
}Currently I am using https://api.wildapricot.org/v2/Accounts/209675/EventRegistrations?eventId=2297435
also tried with
https://api.wildapricot.org/v2/Accounts/209675/EventRegistrations/16216925I get the Field and label for it. but there is a field tyepe and list of values assocaited with it. how…
1 voteIf you need a list of field descriptions, you should get event by id. The data you need are located in Event.Details.EventRegistrationFields
-
API cannot change email settings?
I've been trying for a while now to get the fields in a contact called:
Email delivery disabled
Receiving emails disabledto change using the API update contact call. I can change other fields, these two just refuse to change. Is there a trick to this, or is this another one of those 'you can't do it' features?
1 voteAccording to contact fields description both of these fields are read only.
You can get contact fields metadata by calling https://api.wildapricot.org/v2/accounts/XXX/ContactFields/ The result is a collection of fields descriptions. Each record has a parameter “IsEditable”, so you can check if any specific field can be modified with API or not. -
Attempting to use mod_auth_openidc to authenticate with SSO, OAuth2 standards?
I'm attempting to configure our third party website using Apache and modauthopenidc to invoke the SSO authentication endpoints on our WildApricot website.
I've gotten as far as manually assembling a correct authentication request URL:
That shows me a login dialog as expected... However, when trying to use mod-auth-openidc to generate the authorization URL, it doesn't allow the requesttype of "authorizationcode". It only lets me set the request type to "code", which seems to break the authentication page fetch on the WA end.
This would seem to be an issue with Oauth2 'standards'. It would…
1 voteIssue fixed, oauth should work with mod_auth_openidc as expected.
-
Renewing Membership with API
We would like to offer our members the chance to renew their membership from our WordPress site. How do you recommend we use the API to accomplish this in a way that integrates well with the regular Wild Apricot renewal process?
Ideally we would update the contact (change the membership level, if needed, and update the renewal due date), produce an invoice for the renewal, and record a payment for that invoice. Have I missed something?
Since the API still does not allow the creation of new invoices directly (I can generate an invoice for an event, but not for…
2 votesWe added invoice management in 5.9 release.
https://help.wildapricot.com/display/DOC/Invoices+API+V2+call -
Server error when I am trying to get a token using POSTMAN
I am trying to follow the apikey authentication and i am using POSTMAN to test this. Below is my request but I am getting 500 server error.
POST /auth/token HTTP/1.1
Host: oauth.wildapricot.org
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cache-Control: no-cache
Postman-Token: b0e747fe-861b-954e-0f70-011fc0f94d88
Content-Type: application/x-www-form-urlencodedalso I tried with scope and grant type
POST /auth/token?granttype=clientcredentials&scope=auto HTTP/1.1
Host: oauth.wildapricot.org
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cache-Control: no-cache
Postman-Token: ee9d3021-4238-a403-e028-6d7ef4aba5ee
Content-Type: application/x-www-form-urlencodedResponse:
{
"Message": "An internal error has occured. Please contact Wild Apricot support.\r\n Request ID:0531c255bfc84e1484fefe00d34ab82a."
}1 vote -
Retrieve event organizer details
I would like to be able to retrieve the event organizer information (name and email) via the Event API calls.
Our event organizers are also our featured speakers. We would like to be able to create a list of event titles, dates and times, and speakers.1 voteWe added it in 5.9 release
https://help.wildapricot.com/display/DOC/Events+API+V2+call -
Customer and member creation from another system.
We are planning to create Customer and member information from another system into WildApricot. Our Chapter membership uses WildApricot and we would like to automate chapter membership information from our system to WA database through web services call. Has anyone implemented similar work or recommendation.
Thanks.
Sundar
1 voteHere is an open source plugin, which helps integrate Wild Apricot with Joomla https://github.com/psike73/joomla_waauth
-
Single Sign On - second step Authenticating the user
Any one please help me to complete this authenticating the user using the authentication code. i got the following error
URL:
https://oauth.wildapricot.org/auth/tokengranttype=authorizationcode&authorizationcode=5183ab5986ee53e6fb850a7f44c765d4&clientid=xxxx&redirecturi=http://localhost/wapi/&scope=contactsme&state=local
Array
(
[0] => Authorization: Basic bXlpbDEzaWhtZzp2MGhqZnAyNW4xZmtteTJjaj2w=
[1] => Content-Type: application/x-www-form-urlencoded
)
{"Message":"An internal error has occured. Please contact Wild Apricot support.\r\n Request ID:530451cb095c4c6895389a077ac9016d."}1 voteResolved, see last comment.
-
Bug in example PHP application
Hi,
if you're using the provided example PHP application there's a small bug that can impact authentication.In function getAuthTokenByAdminCredentials
CHANGE:
$data = sprintf("grant_type=%s&username=%s&password=%s&scope=%s", 'password', $login, $password, $this->tokenScope);
TO:
$data = sprintf("grant_type=%s&username=%s&password=%s&scope=%s", 'password', urlencode($login), urlencode($password), urlencode($this->tokenScope));
We had a user unable to login and found that a reserved character in the password meant the string was being incorrectly parsed. urlencode() escapes special characters so they are passed through correctly.
Regards,
Russell.1 voteHi Russell,
Thanks for contribution. PHP sample on github is updated.
-
I would like to be able to create a payment without creating an invoice: Just "this contact paid this amount on this date".
I would like to be able to create a payment without creating an invoice or associating with an event: Just "this contact paid this amount on this date".
I believe that can be done from the WA web site, but I have batch payments already made via an external (private) system, and I want to upload them into WildApricot.
1 voteYou can skip Invoices in json structure. Ex:
POST https://api.wildapricot.org/v2/accounts/ACCOUNT_ID/payments
{
“Value”: 12345,
“Contact”:{ “Id”: 30142021 },
“Tender”:{ “Id”: 1086628 },
“Comment”: “sample payment without invoices”
}This will create payment without invoices.
-
API2 Export Invoices to Excel through VBA
I would like to export our invoices to Excel trough API, as I need country, TAX info, deleted invoices to do a proper administration.
Can someone send me an example how to connect to WA through VBA using API v2?
1 vote -
PHP Code - Creating a New Payment for Specific Invoice (API V2)
I want to create a new payment for specific invoice by using PHP client app.
Anybody have done PHP client through Wild Apricot API v2. Please share if you have done any PHP code sample which shows Creating a New Payment for Specific Invoice, it will be great help.
1 voteHi,
JSON structure for creating payment is really simple: https://gist.github.com/DmitriySmirnov/002e7d502bb15005b5f3
If you use php client from https://github.com/WildApricot/ApiSamples/blob/master/PHP/sampleApplication.php
then result code will look like:
https://gist.github.com/DmitriySmirnov/0768302795e76712fa25FYI: I’m not a PHP developer so the code may contain errors.
-
Cannot get access token after successful SSO
I am able to obtain authorization_code from OAuthLogin, but cannot get access token from oauth.wildapricot.org with it.
The failure occurs due to CORS although I believe I am making the request from the same origin (SSOfail_CORS.png).
If I disable CORS, the failure behaves differently. A pop-up is shown asking for username+password (SSOfail_noCORS.png). This pop-up keeps repeating after entering valid credentials, and must eventually be canceled to continue.
Here is the code that makes access token request:
…$.post( "https://oauth.wildapricot.org/auth/token", { authorization_code: code, client_id: "xxxxxxx", client_secret: "xxxxxxxxxxxxxxxxxxxxxxx", redirect_uri: "https://rbc.wildapricot.org/Schedule", scope: "auto" }, function(data, status){ alert("Data " + JSON.stringify(data) + "\nStatus: " +
1 voteThe reason is that you pass client_id and client_secret as a form parameters, but they should be passed in Authorization header.
API is expected to be used from server code or from standalone application. Currently JS applications are not supported. Nature of JS applications does not allow to keep secret, so any user can extract auth token from JS application. I would recommend to implement all interactions with public API using some server-side app. It can be PHP / python or even google script app.
- Don't see your idea?