Developers

Mostly about Wild Apricot API. Feel free to share examples of your code!

  1. POS

    http://www.revenuquebec.ca/en/entreprises/obligationsparticulieres/restauration/mev/default.aspx

    We have to install an automatic tax recorder for revenue quebec since we include alcohol sales at our events.

    Do you know if WildApricot would be able to submit taxes directly to the recorder, have you seen any successful pos (cash register) solutions implemented with wild apricot through the API?

    Thank You

    Carson

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Sample C# Code With New APIKEY

    private const string AllScopes = "general_info contacts finances events event_registrations account membership_levels settings";

    var authData = string.Format("grant_type={0}&scope={1}", "client_credentials",AllScopes);

    var response = System.Net.WebRequest.Create(Common.OAuthServiceUrl)
    .SetBasicAuth("APIKEY", "........YOUR API KEY HERE......")
    .SetData(authData)
    .GetResponse();

    Extension Methods:

    public static WebRequest SetData(this WebRequest request, string data, string contentType = MimeFormUrlEncoded, string method = "POST")
    {
    request.Method = method;
    request.ContentType = contentType;
    byte[] sentData = Encoding.UTF8.GetBytes(data);

    request.ContentLength = sentData.Length;
    Stream sendStream = request.GetRequestStream();
    sendStream.Write(sentData, 0, sentData.Length);
    sendStream.Close();

    return request;
    }

    public static WebRequest SetBasicAuth(this WebRequest request, string userName, string password)
    {
    var credentials = string.Format("{0}:{1}", userName, password);
    var encoded = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(credentials));
    request.Headers.Add("Authorization", "Basic " + encoded);
    return request; …

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  3. User Permissions

    I'm working with your API and I've noticed that individual members only have permission to make requests for their own contact information and the account information. I was wondering:

    Is there a way to return the users ID who has logged in rather than the ID of our WA account?

    How to we assign more permissions globally as we'd like our members to be able to view and register for events through an app we're building.

    Thanks so much.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →

    1. If you access API using contact’s credentials, then you can use /v2/accounts/XXX/contacts/me request to get current user’s information, including his ID.

    2. There is no way to give more permissions to contacts/members. However, if you are building web application, which runs in trusted environment, you can make some API requests using API key rather than contact credentials. When you access API with API key, then you have full permissions to events and event registrations.

  4. Please help with API version 1 to API version 2

    I am part of a voluntary organization and we received an e-mail about updating to API version 2 and same changes that needed to be made. We are all in way over our head and I just took over the website management this week. I would appreciate any and all help.

    We don't even know if we are using API. I will do anything I need to do but I really need help. Again, I am not paid this is for a completely voluntary organization.

    Thanks,

    Bradley Bearden

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  5. Joomla authentication plugin?

    Hi,
    wondering if anyone has used the new signon stuff in the API to create a Joomla authentication module? I've written a Joomla Authentication module to use a third party (database) source for users and would like to change update it to use WildApricot as the backend for authentication. Thinking about paying a developer to update the plugin but before doing so wondered if anyone else has done this?

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Database update via API returns "State":"Waiting","InitialQuery"

    I use a cron job to hit the API a few times a day, sometimes I get a blank result and this is what is returned:

    Any idea why this happens ?? I am not requesting the API every second. It is literally twice a day ??

    {"ResultId":XXX"","ResultUrl":"https:\/\/api.wildapricot.org\/v1\/accounts\XXX\/Contacts\/?resultId=XXX","Requested":"2015-07-26T22:56:05.057","State":"Waiting","InitialQuery":{"ObjectType":"Contact","FilterExpression":null,"SelectExpression":null}}

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  7. Single Sign On server error

    Trying to implement SSO, but just getting 'an error has ocurred'

    URL is https://melbournerebels.wildapricot.org/sys/login/OAuthLogin?client_id=4wq28ex9ox&redirect_uri=http%3A%2F%2Flocalhost%3A3000&scope=contacts_me

    The redirect_uri has been added to the whitelist, and the error telling me to contact myself isn't helping much :)

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    5 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  8. 1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  9. What will you do with the new API?

    I'm excited for the API that will be coming out this month (according to this forum: http://forums.wildapricot.com/forums/308920-archive/suggestions/8831320-api-to-read-contact-member-records-2469 )

    I see that there are a lot of people interested in the API and I was curious what others will be using it for? I will be using it to integrate Google Maps but perhaps there are some other cool things I can set up that I haven't thought of.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    21 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add extended Event API - add events, edit details, etc.

    Hi - there is an API for listing events. However there appears to be no API to create a new event and yet this seems like it would be a relatively frequent request for a mobile client.

    Am I missing it in the doc or is there no such event. If not - any plans to add such an API in the future? In the interim any suggestions for how a mobile app (native) could add an event?

    Thanks

    David

    9 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    10 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  11. Google Script for Google Apps

    Thank you to WildApricot for posting the sample code for an api connection to update a google spreadsheet. https://help.wildapricot.com/display/DOC/Sample+API+V2+applications

    I'm now using google scripts to produce (update) 13 regional spreadsheets of members each that has been shared with a regional coordinator so that I don't have to do this manually.

    Would love to hear how other organizations are using Google apps and integrating the wa api.

    Also would love to collaborate on building some additional Google Code scripts. Example, allowing each regional coordinator to email (mail merge) via gmail the members in their regional spreadsheet.

    I am also interested in…

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    12 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  12. API call to create (POST) invoices

    I would like to be able to create (POST) invoices via API.

    This feature would help us when when we need to generate invoices for a many members. That payments can already be created via API is useful. The feature for Invoices that I am requesting would seem to complement the existing feature for Payments.

    9 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  13. Creating Bundles with API

    All was going very well with the API V2 until I wanted to set up Bundles with the membership. I can create contacts and assign a membership level. But when I try to assign a create a Bundle Administrator or Bundle Member, nothing seems to take. The API says only a Bundle ID and NOT an email address like the Import can use. To automate this process, I don't/can't use the Import process.

    Has anyone been successful in using the API to create a Bundle? (Administrator and/or Member)

    Any help is greatly appreciated. Our trial is almost over and this…

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →

    Now it is possible.

    Step by step:
    1. Create bundle admin
    2. As a result of POST operation you will get a json of new contact.
    So find a record in FieldValues with “FieldName”: “Bundle ID” and take “Value” from that record.
    3. Create a bundle member
    4. Check we have a bundle and it contains members we expect

    Here is a complete description with requests you should send: https://gist.github.com/DmitriySmirnov/8b29429d75e9b66eef9c88d4a647a3e8

  14. API PUT produces unexpected result

    As part of our first operational use of the API, I need to update two fields dynamically. For trials, I am using php cUrl, modeled on your sample application. I have no problems with GET, but PUT leaves me baffled.

    Each time I run the script, the target fields are not changed - but the membership of the target contact goes from "active" to "membership not allocated".

    Clearly my code is doing this: but how/why? Can anyone give me a clue as to what is happening?

    Also, my debugging script shows a result JSON containing all the target contact's data.…

    0 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  15. API V2 "invalid_scope" error

    Multiple attempts at setting the "scope" param (contacts_view, events_view, contacts, etc) all return the same error:
    {"error":"invalid_scope","error_description":"Scope 'events_view\n' is not available for current client.","error_uri":null}

    My client was created with "read only" access. Shouldn't this work?

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  16. API: Get list of contacts by saved search

    Wanting to get some feedback if I am doing this correctly or there is a better way!

    Goal: I have 13 SavedSearches and I want to create 13 separate Google SS (using Google Script) with the details of members (some custom fields I have created as well) returned by each SavedSearch.

    Step 1: I use the api SavedSearch request to return the contactIds.

    Step 2: Iterate through the returned list and make an api call to contacts using the contactId.

    Here is the problem I am encountering. The limit on individual contact calls is 60 / minute. All my searches…

    0 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    5 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  17. API V2 help creating or updating fields

    I am evaluating Wild Apricot for a small non-profit. We are all volunteers who will be administering it, so I am investigating using the API to automate our workflow due to the fact that WA does not create a Contact for Guest registrations.

    My question is related to the Create Contact or Update Contact operations. I can create a contact with the FirstName, LastName and Email fields and I can update those fields. However, I have been unsuccessful adding or creating additional fields, even the Phone built in field.

    Can anyone help by sending me an example of the syntax…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  18. API Help

    I’ve been following your API v2 guides and snagged the PHP sample listed here:

    https://github.com/WildApricot/ApiSamples/blob/master/PHP/sampleApplication.php

    I was able to properly implement the getAccountDetails function and I created a getContactIdFromEmail function that tweaked the getContactsList function to filter on an email address.

    Now I’m trying to update the FirstName of the Contact that I received. Here’s the code:

    function updatePasswordByContactId($contactId, $email)

    {

    global $waApiClient;

    global $accountUrl;

    $url = $accountUrl . "/Contacts/Contact/{$contactId}";

    $data = array("FirstName" => "Chaz2");

    $result = $waApiClient->makeRequest($url, "PUT", $data);

    return true;

    }

    I analyzed the CURL parameters to see that it is calling the URL:

    https://api.wildapricot.org/v2/Accounts/73659/Contacts/Contact/25710546 ALID_CONTACT_ID

    In a…

    0 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  19. API V2 authorization error using APIKEY

    As far as I can tell, APIKEY authorization according to:
    http://help.wildapricot.com/display/DOC/API+V2+authentication
    is broken.

    This example:

    POST /auth/token HTTP/1.1
    Host: oauth.wildapricot.org
    Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Content-Type: application/x-www-form-urlencoded

    grant_type=client_credentials&scope=contacts finances events

    simply doesn't work, always returning a "scope xxxx is not available for current client" for every scope I've tried (from the table on the same page).

    Is this just completely broken, or something is missing. I note that there is no place in the API for the "application name". I also note that I don't get an "authorization error", as I would get if I use an incorrect base64-encoded API key, so…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. API V2 authentication and sample routines in Python

    Hi,

    I'm trying to integrate my Wild Apricot database into a standing Python program. If somebody has already written the V2 API authentication and some routines in Python, can they share so I can leverage?

    Thanks in advance.

    0 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Developers

Feedback and Knowledge Base