Developers

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

  1. Web link with embedded user data

    We are migrating our members to WA and I have a big issue. Our members are granted access to an external database as part of their membership to search legal information online. Members log into our portal and click on a link that has their own AccountID, First Name, Last Name and email address embedded. Is there a way to accomplish this in WA?

    Here is an example of the code we use now on our existing ASP site to generate the individual links:

    using System;
    using System.Web.UI.WebControls;
    public partial class membersonly_somedatabase : System.Web.UI.Page
    {

    protected string endurl;
    
    protected void
    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    9 comments  ·  Flag idea as inappropriate…  ·  Admin →

    At the end to January we are launching a feature, which allows JS code to access public API. You will be able to get from API information about current user and then build a link.

    Here is

  2. I would like to be able to create a payment without creating an invoice: Just "this contact paid this amount on this date".

    I would like to be able to create a payment without creating an invoice or associating with an event: Just "this contact paid this amount on this date".

    I believe that can be done from the WA web site, but I have batch payments already made via an external (private) system, and I want to upload them into WildApricot.

    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 →
  3. API2 Export Invoices to Excel through VBA

    I would like to export our invoices to Excel trough API, as I need country, TAX info, deleted invoices to do a proper administration.

    Can someone send me an example how to connect to WA through VBA using API v2?

    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 →
  4. PHP Code - Creating a New Payment for Specific Invoice (API V2)

    I want to create a new payment for specific invoice by using PHP client app.

    Anybody have done PHP client through Wild Apricot API v2. Please share if you have done any PHP code sample which shows Creating a New Payment for Specific Invoice, it will be great help.

    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 →
  5. 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 →
  6. 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 →
  7. oAuth work with Discourse SSO

    I'm trying to understand if Wild Apricot's SSO implementation will work out of the box with Discourse's oAuth SSO implementation, or if I need to develop a plugin for Discourse to authenticate with WA.

    Discourse, a discussion platform, provides a built-in oAuth SSO client. There are screenshots of the configuration here - https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045

    On Discourse, for the SSO URL, I have put in what I believe is the correct URL for the authorized application that I have made in our WA account:

    https://abea.bike/sys/login/OAuthLogin?clientid=<WA CLIENT ID>&redirecturi=http%3A%2F%2Fdiscourse.cyclingsavvy.bike%2F&scope=contactsme&responsetype=authorizationcode&claimedaccount_id=<WA ACCOUNT ID>

    Where <WA CLIENT ID> is configured on…

    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 →
  8. Data returned in contacts/me

    Hi,
    using example PHP code and worked out that if we authenticate to the API as a user then we can retrieve the user's ID with the contacts/me call, but it returns limited data about the user. It does not return membership field values. Is there a way, when logged in as a user, to retrieve the users record including datafields?

    Just for context, I'm writing a joomla auth plugin. I want to first authenticate the user (hence using the user credentials) and once authenticated I would like to get some of the data to sync into the Joomla account…

    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 →
  9. Cannot get access token after successful SSO

    I am able to obtain authorization_code from OAuthLogin, but cannot get access token from oauth.wildapricot.org with it.

    The failure occurs due to CORS although I believe I am making the request from the same origin (SSOfail_CORS.png).

    If I disable CORS, the failure behaves differently. A pop-up is shown asking for username+password (SSOfail_noCORS.png). This pop-up keeps repeating after entering valid credentials, and must eventually be canceled to continue.

    Here is the code that makes access token request:

      $.post(
    
    &quot;<a rel="nofollow noreferrer" href="https://oauth.wildapricot.org/auth/token&quot;">https://oauth.wildapricot.org/auth/token&quot;</a>,
    {
    authorization_code: code,
    client_id: &quot;xxxxxxx&quot;,
    client_secret: &quot;xxxxxxxxxxxxxxxxxxxxxxx&quot;,
    redirect_uri: &quot;<a rel="nofollow noreferrer" href="https://rbc.wildapricot.org/Schedule&quot;">https://rbc.wildapricot.org/Schedule&quot;</a>,
    scope: &quot;auto&quot;
    },
    function(data, status){
    alert(&quot;Data &quot;
    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    The reason is that you pass client_id and client_secret as a form parameters, but they should be passed in Authorization header.

    API is expected to be used from server code or from standalone application. Currently JS applications are not supported. Nature of JS applications does not allow to keep secret, so any user can extract auth token from JS application. I would recommend to implement all interactions with public API using some server-side app. It can be PHP / python or even google script app.

  10. Sample C# Code With New APIKEY

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

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

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

    Extension Methods:

        public static WebRequest SetData(this WebRequest request, string data, string contentType = MimeFormUrlEncoded, string method = &quot;POST&quot;)
    
    {
    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(&quot;{0}:{1}&quot;, userName, password);
    var encoded = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(credentials));
    request.Headers.Add(&quot;Authorization&quot;, &quot;Basic &quot; + encoded); …

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

  12. 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 →
  13. 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 →
  14. 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 →
  15. 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 →
  16. 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

    granttype=clientcredentials&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…

    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 →
  17. API V2 "invalid_scope" error

    Multiple attempts at setting the "scope" param (contactsview, eventsview, contacts, etc) all return the same error:
    {"error":"invalidscope","errordescription":"Scope 'eventsview\n' is not available for current client.","erroruri":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 →
  18. 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 →
  19. 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 →
  20. 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 →
  • Don't see your idea?

Developers

Categories

Feedback and Knowledge Base