Recently, our team had the opportunity to integrate with Epicor Eclipse, a leading business management software solution tailored specifically for the distribution industry. This integration experience not only allowed us to enhance Aurinko API with a new connector but also provided us with valuable insights into Eclipse API. In this blog post, we will share our learnings.

What We Learned about Eclipse API:

  1. SaaS vs. On-premises: The majority of Eclipse installations are cloud-based and delivered as a Software-as-a-Service (SaaS) solution but some businesses may choose to deploy Eclipse on-premises. We actually had to set up a reverse nginx proxy with a VPN connection to access an on-premises server.

  2. Authentication and Authorization: Eclipse API’s authorization is not OAuth2 but supports the concept of an expiring access token. You create a session (get sessionToken and refreshToken) to access the API and you can refresh it when it expires. See ‘Session’ section in their API docs.

    POST	/Sessions	Create a new session`
    POST	/SessionRefresh	Refresh the session that is expired, but not deleted.
    

    We have integrated the session management process into Aurinko’s auth flow and created a login form for Eclipse authorizations:

  3. Extensive API Coverage: Epicor Eclipse is a powerful full-featured ERP, so there are many objects to support Inventory Management, Sales and Order Management, Purchasing and Vendor Management, Customer Relationship Management (CRM), Financial Management. The API provides many endpoints to work with all those objects.

    We cared mostly about the CRM piece (Contacts, Customers) and created the following Virtualized models for Contacts and Customers:

  4. Documentation and Resources: The Online API documentation is quite minimalistic, gives just a list of endpoints. You can also get a PDF version of their Developer API Docs, that provides alot more details (see the EntitySearch example below), but still lacks some general information, like getting started, authentication, rate limiting.

  5. Useful Search Capabilities: The EntitySearch endpoint is quite powerful, allowing you to search multiple different objects at once. Reminds me of Salesforce’s SOSL.

  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 most endpoints support the ‘updatedAfter’ query parameter, so you should be able to poll the endpoints.

Conclusion

Eclipse API offers tremendous potential for businesses in the distribution industry, empowering them to optimize their operations, gain valuable insights, and deliver exceptional customer experiences. By embracing the power of Eclipse API, businesses can unlock a new level of efficiency, productivity, and competitiveness.

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