Developers

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

  1. API Upload Pictures

    Hey WA Developers, I'm trying to work through some of the API documentation and I'm hung up on the "Uploading Pictures" documentation.
    https://help.wildapricot.com/display/DOC/Pictures+API+V2+call
    I've got a Google Script constructed to upload an image from Google Drive to my trial WA site and I can't get it to work! 400 response code. Anybody up for taking a look and pointing out what I am doing wrong? Thanks so much!

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Contacts/me Returns null

    Hi!
    Using some of the sample code from the GitHub repo I've created a few custom PHP pages for events on a third party site. I'm trying to make the registration functionality work.
    The problem that I'm running into is the Contacts/me API call returns null even with a user logged in. I'm using the format:
    {baseAPIaddress}/{version}/Accounts/{accountID}/Contacts/me

    I am able to run Contact/{ContactID} and get the relevant data back. Do anyone know what might cause this?

    Thanks, Jason.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    The problem was solved.
    Note that API key isn’t connected with any contact. So contacts/me will return null if you are not authenticated by login/password.

  3. api events

    I am having trouble adding a new event through the api. I get a 403 error. Here is my google script code if anybody would be so kind as to point out where I have messed up. :) Thanks so much.

    https://gist.github.com/portercar/945c29474fece0e208991ac27f724203

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  4. Export members data into Google docs

    How do I export Member data directly into a Google Doc (live)? Step-by-Step for newbies.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  5. daily member data import

    I would like to pick up membership data from a gold database (Adds, edits, deletes) and put into each chapters database (each chapter has a version of WA) - Thanks

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    It is possible with Public API. Please take a look at our help: help.wildapricot.com/display/DOC/API+V2+calls

  6. Use of Event Registration IDs

    I am using the API to determine if members have registered or their registration has been cancelled for an Event.

    At the moment I cannot see any way of knowing that a registration has been cancelled from the API.

    So, I will need to check if the registrations have changed or not since the last time it was checked. This means saving the Event Registration IDs in a file.
    What is the valid range of a Registration ID?

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    Unfortunately there is no edit timestamp in event registration data structure.
    Registration Id could be any integer from 0 to 2147483647.

    In your case I would recommend to store all registrations as JSON in some file or database and check it’s state from time to time.

  7. fieldvalues contact api

    I have an interesting issue you can help me with. I am using the Contacts API and calling it from a Javascript call using the WA API wrapper for jQuery. I got this code from the WA developer forum and loaded it into the files section to call locally from the WA install (rather than from the original location).

    http://iarpreiki.org/resources/js/waPublicApi.js

    I am using the API to create a URL that I will pass to an external SaaS system, so I need to collect various contact/membership field data.

    The testing page is at

    http://iarpreiki.org/Print-Your-Membership-Certificate -- the top HTML widget is where…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  4 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    The 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.

  9. 1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  0 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  10. 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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    Group 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;
    }

  12. Work around for sorting members who are using their photo albums.

    1. I created a question (required to Members) "Are you using your albums to display your art?" Yes/No

    2. The membership field was made public

    3. I then created a saved search on the new membership field that allows me to pull out only members who have a "yes"

    4. I created another Membership directory on a separate page. So I have 2 membership directories in use. One that displays all members and another that displays members who are using their photo albums.

    5. I created a link on my home page directing the public to view the membership directory only for those who have…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  0 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  13. event Registrations giving 500 error code

    I am tring to create a new event registration. but i am getting 500 error code. Internal server occured.

    Not sure if this is how the data has to be passed.

    var data = "eventID=2351562&contactID=33494566®istrationTypeID=3201125&Email=bala%40mindlens.com.sg";

    var xhr = new XMLHttpRequest();
    xhr.withCredentials = true;

    xhr.addEventListener("readystatechange", function () {
    if (this.readyState === 4) {
    console.log(this.responseText);
    }
    });

    xhr.open("POST", "https://api.wildapricot.org/v2/Accounts/174160/EventRegistrations/3201125");
    xhr.setRequestHeader("authorization", "Bearer Qk4XWQ0K4jVW2aOy-ovGW-nAsgQ-");
    xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("cache-control", "no-cache");
    xhr.setRequestHeader("postman-token", "c0e05718-3e04-49ae-a354-0bb540f47dc4");

    xhr.send(data);

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Querying Wild Apricot for Contact's passwords?

    Is it possible to query Wild Apricot for a Contact's password? I need to keep an external CMS synced with the users that are in Wild Apricot that have memberships and thus would like it if the passwords can be kept in sync with Wild Apricot.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    That 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

  18. 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/16216925

    I get the Field and label for it. but there is a field tyepe and list of values assocaited with it. how…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    If you need a list of field descriptions, you should get event by id. The data you need are located in Event.Details.EventRegistrationFields

  19. 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 disabled

    to 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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    According 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.

  20. 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:

    https://discoamigos.wildapricot.org/sys/login/OAuthLogin?response_type=authorization_code&scope=contacts_me&client_id=...&state=...&redirect_uri=...&nonce=...&claimed_account_id=...

    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 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    Resolved  ·  Team Mobile responded

    Issue fixed, oauth should work with mod_auth_openidc as expected.

  • Don't see your idea?

Developers

Categories

Feedback and Knowledge Base