API Management on Vulcan

Vulcan supports two categories of APIs accessible directly through the Vulcan node layer and those available through Arya APIs.

Types of APIs Supported on Vulcan

Type 1

APIs supported on the Vulcan node layer (whitelisted)

  1. Intouch
  2. XAJA
  3. Extension (avengers API extension.)
  4. Neo Extensions
  5. Shield / Workflow Management APIs

Sample Method for Services/API.js:

export const methodName = (param) => {
	const url = `${endpoints.vulcan_endpoint}/<intouch|neo|extensions|xaja/AjaxService>/<URL path of svc>`;
	return httpRequest(url, getVulcanAPICallObject('GET'));
};

📘

Note:

Always use getVulcanAPICallObject in the api.js method

Type 2

APIs supported on Arya (Node APIs and Whitelisted BE APIs):

  1. EMF (/loyalty/emf/v1)
  2. File service (/v1/file-service)
  3. Promo engine (/v1/promotion-management)
  4. Observability engine (/v1/observability)
  5. Rewards core (/core)
  6. Gamification (/gamification)
  7. Badges (/v1/badges)
  8. Any node API (loyalty/api/v1, member-care/api/v1, arya/api/v1/org-settings, arya/api/v1/creatives, any other Arya APIs)

📘

Note:

For all the above APIs, if the endpoint has "arya/api/v1" then use endpoints.arya_endpoint.
Else define an endpoint in the endpoints.js file.

Sample:

fileservice_endpoint:"https://north-america.intouch.capillarytech.com/v1/file-service"

Sample Method for Services/API.js:

export const methodName = (param) => {
	const url = `${endpoints.fileservice_endpoint}/<URL path of svc>/<param>`;
	return httpRequest(url, getAryaAPICallObject("GET"));
};

📘

Note:

Always use getAryaAPICallObject in the api.js method.

Whitelisted Endpoints

The endpoint.js file contains all the possible whitelisted endpoints callable from Vulcan (Type 1 and Type 2). These are based on the InTouch cluster specified during the project setup