Recently, our team had the opportunity to integrate with MC Trade (formerly MemberClicks Atlas), a leading association management software solution tailored specifically for trade associations and chambers of commerce. Through this integration process, we not only enhanced the functionality of the Aurinko API by adding a new connector but also gained valuable insights into the MC Trade API. In this article, we will provide the insights gained from our experience.

What We Learned about MC Trade API:

  1. Authentication and Authorization: API documentation says: The Atlas API implements the OAuth 2.0 authorization framework along with OpenID Connect to control access to the protected API resources.

    The reality though is that a developer expecting ‘Authorization Code’ grant type will be surprised to find a ‘Hybrid’ grant type:

    Hybrid grant type is an authentication workflow that was added to the OAuth2.0 protocol in the OpenID Connect authentication layer. It is a combination of the base OAuth 2.0 standards of Implicit grant type and Authorization Code grant type.

    You can get an access token in exchange for a code, but it expires in 24hrs and there is no way to refresh it without going through user authentication once again. For developers used to building server side integrations (when a user is offline) this will be quite an inconvenience. This mode does not support token refresh at this time.

    What the API supports though is the ‘Client Credentials’ grant type. That is like getting an admin level access to all data of a specific instance/client.

    The Client Credentials grant type is used when requests to the Atlas API will be made in from a 3rd party system without a user context. In this workflow, an access token will be returned without an accompanying ID token. The benefit of this workflow is that a resource owner is not required and therefore the authorization requests can be made quickly and easily by using a Client ID and Client Secret.

    We ended up using this mode and added support for the ‘MC Trade’ service account type in Aurinko. Learn more about service accounts in Aurinko.

  2. Comprehensive API: The API seems to cover all aspects of data management in the platform, i.e. managing member records, event registrations, payments, committees, and more.

    The foundational object in their data model is Profile which represents either a member person or a member organization. We would basically find our contacts and accounts in the profiles. OrgInd is the flag that identifies one or the other.

    Something that seemed inconsistent was that you could get a person’s MainRelatedProfileId (company) in response to the list query GET Profiles but would not get this field when loading a profile by id.

  3. Documentation and Resources: The Online API documentation is quite comprehensive and provides ‘getting started’ and ‘authorization’ pages. But there is no info about error handling and some endpoints are missing any description.

  4. Search Capabilities: The GET Profiles endpoint supports many query parameters allowing a great deal of flexibility for searches: by keywords, by profile ids, by profile types, by dates.

  5. Sync/Deltas API: There is not much documentation but the ProfileChange endpoint seems to provide those methods for retrieving change deltas.

  6. Real-time Notifications: We have not found endpoints to set up real-time notifications or webhooks. But if you are looking to monitor changes DateChangedStartDate and DateChangedEndDate filters are supported and there are the sync/delta methods too.

Conclusion

The MemberClicks Atlas API offers associations a powerful toolset to streamline operations, enhance data accessibility, and drive efficiency. Its seamless integration capabilities, customizability, and comprehensive data access make it a valuable asset for associations seeking to optimize their management processes.

We have extended Aurinko to support MC Trade API to make it a connector for our CRM Contact sync logic, so MC Trade profiles could sync to Salesforce, Hubspot, SugarCRM, and other CRMs. Developers can also access MC Trade contacts through our Contacts API or define their own unified data models using our Virtualized API.