Search the Aria Knowledgebase for
User Documentation, APIs, SDKs, and more!

 

Home > Aria Crescendo Documentation > Aria for Salesforce > Aria for Salesforce > Opportunity Management > Working with Aria for Salesforce Programmatically

Working with Aria for Salesforce Programmatically

Overview

When working with accounts and account plans (master plan instances) within the Salesforce user interface, you can either commit to Aria or save as a draft within Salesforce. These actions are available using the Commit and Save as Draft buttons on the Add/Modify Plans screen. Using the the Commit button synchronizes the account or plan data between systems.

However, you may have a business need to update or create accounts and/or account plan instances (master plan instances) outside of the Salesforce instance. In this case, you may choose to update Salesforce programmatically. The information below includes required information for the calls to sync systems. 

Programmatically Committing

The external call to commit is:

ASF3.AriaGlobalOperationResource.CommittoAria

The following restrictions apply:

  • You can only commit an account or plan that has previously been saved as a draft.
  • To remain PCI-compliant, you cannot include payment data while programmatically executing this call. You must enter payment data directly into Aria using PCI-compliant Aria web services as a separate call, either before or after calling the commit function.
  • You cannot commit a closed opportunity.
  • You cannot commit an opportunity with no assigned plans.
  • You cannot commit an opportunity if the Allow Commit checkbox is not checked in the user interface.

Required Inputs

The <opportunity_id> parameter is required in the external call and is the unique identifier of the opportunity. You can obtain the opportunity ID from the URL of the page where the opportunity is displayed. You can only specify one opportunity per call.

If updating an account, the <actionTaken__c> field for the account object is required.  From the allowable values listed below, include the value for each change made. This supports tracking for all account plan and billing group changes. 

  • 0:  Delete queued plan change
  • 1: Execute queued plan change immediately
  • 2: Change the effective date of the queued plan change
  • 3: Change in quantity 
  • 4: Change plan instance supplemental field values with a plan update (unit change or swap)
  • 5: Schedule the cancellation of a plan
  • 6: Swap plan 
  • 7: Create new plan instance
  • 8: Rate_Schedule Changed 
  • 9: Rate/Discount Changed 
  • A: Plan_Status_Code__c
  • B: Billing_Group_r.Aria_ID_c
  • C: Billing_Responsibility__c

For example:

  1. If a plan's units and discount have changed, then actionTaken__c field on account plan is '39'.
  2. If a supplemental field, unit change and swap plan are all changed on an account plan, then actionTaken__c is '436'.
  3. In case of swap plan, the actionTaken__c value on the old plan will be empty, the actionTaken__c on new plan is '6'.

Example Call

The following call commits the "006c000000DhklmAAB" opportunity:

list<Map<String,String>> executionMessageMap ASF3.AriaGlobalOperationResource.
CommitToAriaV1(oppId, null);

Response

The programmatic commit returns a list of key value pairs indicating the success or failure of each API call. The key value pairs have the error code and the error message for each API used in the programmatic commit. An error code of "0" indicates success. 

Error Code Description
900 Account Plans do not exist on opportunity.
901 Commit is not allowed on opportunity.
902 Opportunity is already closed.
903 Invalid opportunity ID provided.
904 Could not find a valid Aria API configuration.
905 Job has been successfully initiated to commit changes over Aria.
907 No changes on opportunity to commit.
101010 <exception_message>. This is the Salesforce message returned for any exception that happens during a Salesforce DML/callout.

 

You must to post a comment.
Last modified
10:47, 15 Jun 2017

Tags

Classifications

This page has no classifications.