Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

How to Get Data from CRM

To get data from a CRM, Pricefx should be placed into CRM system. Currently, Pricefx doesn’t have any possibility to access CRM system data outside the CRM (except PlatformManager).

Use getPayload

export const quotesDetailSubmitPre = async ({ api: { crmManager } }) => {
  const payload = await crmManager.getPayload();
  console.log(payload);
};

Returns data from the current CRM page. For example: if getPayload is triggered under account page in Salesforce, getPayload will return all data from that specific account: accountId, accountName and etc.

How to Use Data from getPayload

export const quotesDetailSubmitPre = async ({ api: { crmManager } }) => {
  const payload = await crmManager.getPayload();
  // To find what values exist in payload
  // Can be removed later when not needed
  console.log(payload);
  // If name in payload always exist
  await quoteAPI.setHeaderValue('label', payload.name);
  // If name in payload can be not existing
  await quoteAPI.setHeaderValue('label', payload.name || 'Name do not exist in payload');
};

How to Change Inputs/outputs in Pricefx

To populate value/result for inputs in Pricefx with interceptor is fairly easy to do. You can change both inputs and outputs values in Pricefx modules.

To do so, you will need to:

  1. Choose interceptor method which has scope detail.

  2. Add to parameters CLIC API, for example: quoteAPI, compensationPlanAPI or …

  3. Inside module write await quoteAPI.setHeaderValue('label', 'pricefx Pivo a Párek');. This function will set value in header, but there are also functions for setting header input value, output result and line items inputs.

Full code example for inptus:

export const quotesDetailOpen = async ({ quoteAPI }) => {
  await quoteAPI.setHeaderValue('label', 'pricefx Pivo a Párek');
}
export const quotesDetailOpen = async ({ quoteAPI }) => {
  // Simple inputs
  await quoteAPI.setHeaderInputValue('ProjectID', 'Some ID');
  await quoteAPI.setHeaderInputValue('ProjectName', 'Project Name');
}
export const quotesDetailOpen = async ({ quoteAPI }) => {
  // Input with configurator
  await quoteAPI.setHeaderInputValue('Configurator_Documents', {
    InvoiceMethod: 'Invoice method',
    OpportunityOwner: 'Name',
    OpportunityOwnerEmail: 'Email',
    OpportunityOwnerPhone: 'Phone',
    OpportunityOwnerTitle: 'Title'
  });
}

Full code example for outputs:

export const quotesDetailOpen = async ({ quoteAPI }) => {
    await quoteAPI.setHeaderOutputResult('outputName', 'pricefx Pivo a Párek');
}

For more information regarding CLIC Methid Interceptor API, you can find here: CLIC Method Interceptor API

  • No labels