Developers

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

  1. 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 →
  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. 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 →
  4. 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 →
  5. 3 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    8 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  6. 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 →
  7. Cancel Registration API

    We need to be able to cancel registrations via the API. The only option currently is to delete the registration, which is far from ideal since there is no longer any record of the registration in WA, and no way to restore the registration manually.

    4 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 →
  8. Add Group participation to the publicview API ContactsMe model

    I would find it really helpful to include "Group participation" in the ContactMe model of the publicview api (https://app.swaggerhub.com/apis-docs/WildApricot/wild-apricotapifornonadministrative_access/1.0.0#).

    For consistency, it could be located in the FieldValues collection. Given that /Sys/Profile shows the group participation to users, this addition seems like it would not introduce any new information for the client.

    My use case is that my 3rd party OAuth app would like to restrict access to content based on the WA group participation in a way that is consistent with the WA site page restrictions.

    Thanks!

    3 votes
    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 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 →
  10. 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 →
  11. 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.

  12. I have successfully integrated the WA API into Integromat

    Integromat.com is like Zapier or IFTT but a bit more powerful AND easy to use. I'm added an authorization Connector and two modules for retrieving and filtering Contacts. Using their Slack integration I can now ask for Integromat to calculate a Membership Report and report back to Slack. Next up is a "new member" notification.

    5 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 →
  13. API endpoint for allowing users to cancel registrations

    The new feature added today to allow users to cancel their own registrations is a good start, but we need to be able to set it through the API for it to really be useful. Is there a plan to add this in the near future?

    5 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 →
  14. Swagger

    Has anyone built an OpenAPI (Swagger) file for connecting to WA APIs? I'm trying to make a sign-in kiosk with Microsoft PowerApps and it connects through a JSON OpenAPI definition.

    3 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 →
  15. API with non-administrative permissions

    Original title: Cannot access API from within site pages if not Administrator.

    Hi,

    I have written JavaScript/HTML in a WildApricot site page to display events as a compact list in a table.

    If I login to an administrator account it all works fine, if I login to a non administrator account I get error 403 returned from a get Events API call.....

    "Failed to load resource: the server responded with a status of 403 (Current token does not provide access to scope 'events_view'.)"

    Code snippet is:
    <script>

    generateTable();

    function generateTable()
    {

    var EventsList = getDataFromApi(&quot;<a rel="nofollow noreferrer" href="https://xxxxx.wildapricot.org/sys/api/v2/accounts/xxxxxx/Events?$sort=StartDate">https://xxxxx.wildapricot.org/sys/api/v2/accounts/xxxxxx/Events?$sort=StartDate</a> asc&amp;$filter=Tags in
    5 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    16 comments  ·  API  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    &quot;Id&quot;: EventId,
    
    &quot;RegistrationEnabled&quot;: true,
    &quot;Details&quot;: {
    &quot;AccessControl&quot;: {
    &quot;AccessLevel&quot;: &quot;Restricted&quot;,
    &quot;AvailableForAnyLevel&quot;: 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
    (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. 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
    (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 →
  19. API - Implement CORS for Cross-Domain API requests

    Currently the API does not support cross-domain requests which makes it impossible to call the API from within WA or any other site. The whole Idea of API's and web services is to be able to fetch data from other sites to use in you JavaScript code.

    I can only get access to the API if I disable cross-domain security in IE. Other browsers are more difficult.

    CORS is a web standard that was developed to handle cross-domain requests. It should be fairly simple to adjust your web server to handle CORS and pre-flighting

    1 vote
    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 →
  20. API V2 authorization "invalid_client" error

    Hi, I'm trying to do v2 authorization (from Java), and getting an invalid client error.

    My setup reads (edited for brevity):

    HttpPost post = new HttpPost(AUTH_URL+"/auth/token");

    post.addHeader("Content-Type","application/x-www-form-urlencoded");

    post.addHeader("Authentication","Basic "+Base64.encodeBase64String("APIKEY:"+API_KEY));

    List <NameValuePair> nvps = new ArrayList <NameValuePair>();

    nvps.add(new BasicNameValuePair("granttype", "clientcredentials"));

    nvps.add(new BasicNameValuePair("scope", "account"));

    post.setEntity(new UrlEncodedFormEntity(nvps));This seems a perfect mirror of the php and c# samples, but in return, I'm getting the remarkably useful:{"error":"invalidclient","errordescription":null,"error_uri":null} Any ideas?Thanks,GeePawHill

    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 →
← Previous 1 3 4
  • Don't see your idea?

Developers

Categories

Feedback and Knowledge Base