Developers

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

  1. 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 →
  2. Date timezone?


    1. Date timezone - If I get a datetime back from an API call in JSON (e.g. an event start date) in which timezone is that date expressed? I was thinking it would be expressed in UTC but that does not seem to be the case. It appears to be expressed in my current timezone PDT. e.g. if my event in California (PDT) starts at 9:00 am PDT then does the event start time JSON string returned come back as 9:00 am or 4:00 pm? (i.e. expressed in the PDT or UTC time zone)

    The JSON date string in question has…

    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 →
  3. export membership data

    I have been reading the doc but I don't see what API call I use to download a variety of member data. I need more than Membership Level.

    I want an API call like the Member List Export, where I can choose the fields.
    I want to export (for all members) member first,last,level,status, and one custom field we have in our database. Prefer output as CSV, but JSON would be fine.
    I need this via the API because I want to automate it to feed into a Access Validation system we have developed, not google docs or Excel, etc.
    I…

    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 →
  4. Why am I getting 404 error when requesting token? (kotlin/android/retrofit)

    (TEMPLATE)
    POST /auth/token HTTP/1.1
    Host: oauth.wildapricot.org
    Authorization: Basic QVBJS0VZOm85c2U4N3Jnb2l5c29lcjk4MDcwOS0=
    Content-type: application/x-www-form-urlencoded

    granttype=clientcredentials&scope=auto

    (My Attempt)--------------------------------------------------------------------

    object WAApiCallService {

    private const val API_KEY = "xxxxxxxxxxxxxxxxxxxx"
    
    private const val BASE_URL = &quot;<a rel="nofollow noreferrer" href="https://oauth.wildapricot.org&quot">https://oauth.wildapricot.org&quot</a>;
    private val AUTH = &quot;Basic&quot; + Base64.encodeToString(API_KEY.toByteArray(), Base64.NO_WRAP)
    private const val CONTENT_TYPE = &quot;application/x-www-form-urlencoded&quot;

    private var api:WAApiCall? = null

    private fun getWAApi(context: Context) : WAApiCall {

    if(api==null){
    val OkHttpClient = OkHttpClient.Builder()
    val logging = HttpLoggingInterceptor()
    logging.level = HttpLoggingInterceptor.Level.BODY
    if(BuildConfig.DEBUG){
    OkHttpClient.addInterceptor(logging)
    }
    //define and add a cache
    val cacheSize = 5 * 1024 * 1024L // = 5mb cache
    val cache = Cache(context.cacheDir, cacheSize)
    //add cache to…

    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 →
  5. 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  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  6. Change Event AccessLevel from API

    Please provide a way to change Event AccessLevel from API. I clone/create events via programs using API and need to change AccessLevel to Public as final step to enable registration. Thanks!

    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 →
  7. Update User's group participation api V2.2

    I'm trying to update a user's group participation via the put endpoint /accounts/{accountId}/contacts/{contactId}. I'm getting a 200 returned, but the returned model doesn't reflect the attempted updates. Any advice is appreciated. The following is the relevant section of json for the update.

    "FieldValues": [{
    "FieldName": "Group participation",
    "Value": [
    {
    "Id": 559646,
    "Label": "tmpCardGroup"}],
    "SystemCode": "Groups"
    }]

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

    We’ll send you updates on this idea

    5 comments  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  8. Get member first name, last name, email address from id

    I have tried unsuccessfully to get a user first name, last name, email address from the ID.
    Here is what I tried to get the last name:
    https://api.wildapricot.org/v2.1/accounts/12345/contacts?async=false&$filter=$async=false&?$select='Last%20Name'%$filter='Member ID' eq 11111111

    What am I doing wrong?
    Thanks,
    Jay

    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. API Documentation

    Can someone point me to documentation describing how to get started developing on top of Wild Apricot, including what language to use to interact with the API? I'm a developer but haven't developed on top of a content management system before. I need to be able to display information from the Member table for a specific event.

    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  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  10. getting an oath token using curl

    I am attempting to write a tiny app to download my club's calendar from wild apricot. I plan to write this in python 3, triggered by cron. The first step is to get an oauth token. As a test I tried the following curl command but I receive a 401/unauthorized error. Please note that XXXXX is not my real application ID :-)

    I tried variations, and also some similar code in python with the same result.

    Any hints?

    curl -v -H 'Authorization: Basic BASE64ENCODED("XXXXX")' -H 'Content-Type: application/json' -H 'Transfer-Encoding: chunked' -d '{"granttype":"client_credentials", "scope":"auto"}' https://oauth.wildapricot.org/auth/token

    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  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →

    Here is an example

    1 Build your Authorization header.
    – Assume you API key is b8gxv-njhci-XXXXXXXXXXXX-50
    – encode the line “APIKEY:b8gxv-njhci-XXXXXXXXXXXX-50”, you will get
    “QVBJS0VZOmI4Z3h2LW5qaGNpLVhYWFhYWFhYWFhYWC01MA==”

    2 use this value to make a call
    curl -X POST \
    https://oauth.wildapricot.org/auth/token \
    -H ‘Authorization: Basic QVBJS0VZOmI4Z3h2LW5qaGNpLVhYWFhYWFhYWFhYWC01MA==’ \
    -H ‘Content-Type: application/x-www-form-urlencoded’ \
    -d ‘scope=auto&grant_type=client_credentials’

    ==
    I recommend to use POSTMAN before writing any code.

  11. GET /accounts/{accountId}/events

    The swagger docs do not really show how to add the parameters to the HTTP Get request (e.g., $filter). For example, how do I format the request to get all events that have the substring "XYZ" in a Tags field?
    Also what is the syntax of the "TextIndex, Supported operations: substringof." parameter? You have all these good parameters in the Swagger site, but no real examples of how to use the syntax. Are we supposed to guess? Help me out here please. Thanks.

    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 →
  12. API and custom fields - how to reference them in $select or $filter

    Hi. According to some of the documentation it implies that I can use a custom fields' name to reference it. I can directly reference common fields as a $select parameter, but can only reference other fields using their custom-xxx tag, like this:

    '$select' => 'First name, Last name, Email, custom-8097667,
    custom-8097668, custom-8161502, custom-8097675, custom-8017535'

    The custom field tag does not seem to appear anywhere in Membership fields area of the WA database though so the only way I can find it out is by trawling through json data manually.

    Is there a better way to reference those fields, or to…

    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 →
  13. Is it correct that users cannot get their membership data via API?

    I'm working with a tool called Cognito Forms that allow some fairly complex form functionality. One great feature is the ability to pass values to a form embedded on a Wild Apricot page.

    We are currently working on a feature where a member navigates to a member-only page for expense reimbursement. The page loads an embedded form and pre-fills most of the information.

    Right now, I am using the API to use the contacts/me call to load name and email, but I need the contact/{contact-ID} to get the address and phone.

    After getting the script completed and pre-populating the form…

    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 →
  14. Swaggerhub returns 403 Forbidden on all requests to API

    Real simple: Using Swaggerhub to play with the API. I give it a valid API key, it is able to login/authenticate successfully, but the only function returning code 200 OK is default (/) ... when I try the /accounts function or any other function I get 403. Tried 2 different API keys..... with both read-only and admin level access but No matter what I do I get a 403 trying to test the API using the swaggerhub UI

    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 →

    That typically occures if you don’t check “Auto” checkbox in the scopes list (swaggerhub does not allow to check it by default).

    So when oAuth service gets your response it creates oAuth token with almost no permissions. Technically it is totally valid situation, but such token is almost useless.

    So the solution is to check “Auto” checkbox in the list of scopes.

  15. Need to redirect OLD WA page address to NEW WA page address

    I used to make an index.html file with a meta redirect tag but this doesn't happen with WA according to Tech Support.

    We originally had a WA site that was modified and the new site has the same pages with different URLs. Our fear is that, for instance, someone may have bookmarked the OLD site's page, and when clicked on brings them to the wrong page.

    Help?

    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  ·  How to  ·  Flag idea as inappropriate…  ·  Admin →
  16. OAUTH - Not getting back authorization token

    Perhaps someone in this forum can help answer this question. There aren't any OAuth exampels for PHP.

    My code is failing on the last ajax call to the OAuth API. I am getting a NULL response from Wild Apricot.

    Perhap someone can let me know what is wrong withthis code:

        $credentials = &#39;[client_id]:[secret]&#39;;
    
    

    //extract data from the post
    //set POST variables
    $url = &#39;<a rel="nofollow noreferrer" href="http://oauth.wildapricot.org/auth/token&#39;">http://oauth.wildapricot.org/auth/token&#39;</a>;
    $fields = array(
    &#39;grant_type&#39; =&gt; &quot;authorization_code&quot;,
    &#39;code&#39; =&gt; CCGetParam(&quot;code&quot;,0),
    &#39;client_id&#39; =&gt; &#39;[client_id]&#39;,
    &#39;redirect_uri&#39; =&gt; &quot;<a rel="nofollow noreferrer" href="https://[domain.com]/login2.php&quot;">https://[domain.com]/login2.php&quot;</a>,
    &#39;scope&#39; =&gt; &#39;contacts_me&#39;
    );

    //url-ify the data for the POST
    foreach($fields as $key=&gt;$value) { $fields_string…

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

    We’ll send you updates on this idea

    Resolved  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  17. Using API on MS Access 2016

    I extended the excel sample API V2 app to develop an attendance system for our club. For a number of reasons, we're working to move off of Excel and onto Access. The sample code from WA runs smoothly on Excel, but not on Access. The sample includes the following (in function GetOAuthToken)

    Dim httpClient as IXMLHTTPRequest
    Set httpClient = CreateObject("Msxml12.XMLHTTP.3.0")
    httpClient.Open "POST", url, False

    (where url = "https://oauth.wildapricot.org/auth/token")

    The client.open returns 'unauthorized'. I cannot find any documentation on the open method of the httpclient object. And I have no idea what extra authorization I need when working in…

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

    We’ll send you updates on this idea

    Resolved  ·  3 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  18. "The remote server returned an error: (403) forbidden."

    I am using the sample visual studio c# program you have provided (see attachment). The program is failing in trying to access https://api.wildapricot.org/v2. Version2 is failing with a 403 forbidden error message. Any suggestions how I could solve this issue?

    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 →
  19. 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 response:…

    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 →
  20. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    Resolved  ·  1 comment  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Developers

Categories

Feedback and Knowledge Base