Background
By adopting Recurrency, your organization can significantly reduce manual work associated with optimizing purchasing decisions, enhance data visibility, and uncover valuable trends that are often difficult to identify. Organizations that use Recurrency are frequently able to decrease their operating costs through more informed purchasing decisions, and increase their revenue by helping their sellers identify timely opportunities to sell additional products.
Recurrency’s feature set includes both read and write actions against your ERP system. This guide will go through how to authorize Recurrency to execute exports back to P21 via the Transaction API.
Using the Transaction API: Recurrency’s default is to use SISM for exporting objects. This requires having write access to your production database. If you are using Epicor’s cloud hosted P21 offering or you want to configure Recurrency to read from a read-replica, then we fallback to using the TXN API.
If neither of those apply to you, we have a different version of this guide for how to configure SISM.
Reach out to [email protected] to receive the correct guide or if you have any questions.
System Architecture
Before diving into the tactical steps, it’s important to have an understanding of the different components that make up Recurrency.
Epicor Prophet 21 MSSQL Database: behind every Prophet 21 deployment, there is a Microsoft SQL database that holds all of the data. Recurrency works by establishing a direct connection with this database.
Recurrency web application: hosted at https://app.recurrency.com, this is the website that users will interact with to use Recurrency’s features and capabilities
Recurrency production environment: this is our cloud based environment which hosts all of your data and the systems necessary to push/pull data to/from the Prophet 21 database. It also includes all of the systems which support the web application.
P21 Transaction (TXN) API: one of several different APIs that Epicor provides under their API Middleware product suite. Use of the Transaction API is required if you are on Epicor’s web-UI (which all cloud hosted customers are).
Recurrency only writes a few data points back to P21. For our demand planning and purchasing automation features, we write:
Min/max values
Purchase Orders
Transfer Orders and Transfer Backorders
You need to be a P21 admin who can access P21 settings to modify Transaction (TXN) API configurations.
This guide will provide screenshots from the Epicor Web UI. If you are using the Desktop UI, things may look different, but the same configuration values apply.
Integration Steps -- Creating a Consumer Key
The fastest way to configure this is to create a Consumer Key in the Middleware Admin Panel which will grant us access to export data via the applicable APIs.
To create a Consumer Key:
Login to your Middleware Admin Page (i.e.https://youraccountname.epicordistribution.com/docs/home.aspx)
Go to API Console
At the bottom of the page, there will be a horizontal form where you can create a new Consumer Key
In this form enter the following details:
Consumer: Recurrency
API Scope: /api;/data
SDK Access: check
Consumer Type: Desktop
Token Expire: Never expire
Coordinate with your Recurrency point of contact for a secure method to transfer the Consumer Key so we can configure Recurrency to integrate with the API.
The following image shows what this should look like when configured. After you create the key, P21 will append /p21sdk to the end of the API scope to grant SDK Access.
Frequently Asked Questions
1. Do I only need to create the consumer key or do you need a user account as well?
Only the consumer key is required. However, a dedicated P21 user account can be helpful for additional debugging and investigation.
To create a dedicated user for Recurrency:
Login to P21
Open the User Maintenance page to create a new user
User ID: {YOURCOMPANYNAME}.RECURRENCY.{ENVIRONMENT}
For example, if we were configuring this in a play environment DISTRIBUTOR.RECURRENCY.PLAY
In a production one DISTRIBUTOR.RECURRENCY is sufficient
User’s First Name: Recurrency
Last Name: User
E-mail Address: [email protected]
Default Company ID: 1
This may be different depending on your P21 set up. You should pick a valid company Id.
Role: ADMIN
You can use any role you like as long as it has read/write access to data. We’ve seen ADMIN as a default role that P21 provides that has all of this configured already
Designer Rights: pick any role
We don’t use these rights with our application, but P21 requires you to make a selection
Then click on Application Security towards the top of the screen
This will bring you to a page where you can grant specific permissions to this user. The permissions to enable are:
Access to SOA Admin Page: Yes
Allow access to API system pool: Yes
Allow OData API service: Yes
Click Save
Next, we need to manually set a password for the user
This should be the same process that you would do for any new employee that you want to give access to P21
Finally, send an email to Recurrency point of contact
URL: include the URL for your API endpoints (also referred to as the “Middleware URL”)
User ID: User ID for the user you just created
Password: the password for the user
Depending on your P21 version, you may not know what the user password is. If you do not see or have the opportunity to set a password, that’s okay and you can leave this out of the email..
We will update the password after successfully logging in.
The Recurrency team will then login using those credentials and generate required API keys for us to submit data via the Transaction API