Developers

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

How can we make it easier for you to develop on top of Wild Apricot?

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. API calls to update contacts suddenly failing

    We have a Google Apps script that is used to update a custom contact field. This code has been working and unchanged for the past year, and has suddenly lost the ability to update contacts. Other API calls to get contacts, update event registrations, etc. are still working fine, but can't update any contact fields through the API. Attempts to do so result in an HTTP 500 error. We are still able to update contacts through the web interface.

    Relevant information pasted after the break.

    ---------------------------------------------------------------------

    Error:
    [17-09-16 07:31:21:841 CDT] Exception: Request failed for https://api.wildapricot.org/v2/accounts/84576/Contacts/40772038 returned code 500. Truncated server…

    1 vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)

      We’ll send you updates on this idea

      2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
    • 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
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)

        We’ll send you updates on this idea

        Resolved  ·  1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
      • 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
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)

          We’ll send you updates on this idea

          1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
        • 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
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)

            We’ll send you updates on this idea

            Resolved  ·  1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
          • 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
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)

              We’ll send you updates on this idea

              1 comment  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →

              If you need one time export, just make an export to Excel file (https://help.wildapricot.com/display/DOC/Exporting+members+and+other+contacts) and then upload this file to google drive.

              If you want to do it on regular basis, you could make some automation using google script. We have a sample code in google script (https://github.com/WildApricot/ApiSamples/tree/master/GoogleScript), which could be a good starting point for your project.

            • 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
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)

                We’ll send you updates on this idea

                Resolved  ·  4 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
              • 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
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  1 comment  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
                • 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
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    0 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →

                    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.

                  • Event Registration is not enabled after creating Event via API

                    Hi,

                    I have creates a Google script to upload event from a Google spreadsheet.

                    I create the event with "RegistrationEnabled": false
                    Create the RegistrationTypes for the event.
                    Then I enable registrations for any membership level....
                    {
                    "Id": EventId,
                    "RegistrationEnabled": true,
                    "Details": {
                    "AccessControl": {
                    "AccessLevel": "Restricted",
                    "AvailableForAnyLevel": true,
                    }
                    }

                    When I go to the admin pages of the website the event is not enabled, access is shown as for Admin users only, however the fields in the form are correct.
                    I have to press "Save" on the form and then the event registrations are enabled.
                    I have tried all…

                    2 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
                    • 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
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

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

                        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.

                      • 1 vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          Resolved  ·  0 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
                        • 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
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
                          • 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
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

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

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

                            • 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…

                              1 vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                Resolved  ·  0 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
                              • 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
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • 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
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    Resolved  ·  2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
                                  • 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
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • 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 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
                                      • 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
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          0 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Demo Joomla Authentication Module

                                          Hi,
                                          I've got a Joomla authentication module working with WildApricot which I'm making available for anyone to use.

                                          I'm not a PHP coder or joomla expert, so take this with a grain of salt and understand it will need customisation for your site. I've loaded the source on github. I'd recommend it only experienced Joomla/PHP users and you will need to alter it.

                                          Hopefully someone with more experience can take this code and make it more generic so others may benefit.

                                          https://github.com/psike73/joomla_waauth

                                          Allows authentication against WildApricot user/password.
                                          Add or remove to defined Joomla groups (ie. member and non-members group)
                                          Add…

                                          0 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            Resolved  ·  2 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4
                                          • Don't see your idea?

                                          Developers

                                          Feedback and Knowledge Base