Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.

ccrz.ccApiAddressBook.revise

Updates fields on existing account address book records.

Compatibility

This reference applies to:

Release Managed Package Version API Version
B2B Commerce for Visualforce Winter ’21 4.13 12
B2B Commerce for Visualforce Spring ’20 4.12 11
B2B Commerce for Visualforce Summer ’19 4.11 10
B2B Commerce for Visualforce Spring ’19 4.10 9
B2B Commerce for Visualforce Summer ’18 4.9 8

You can still call older versions of the API for this method, which can accept different input keys or return different output keys. Any differences in behavior for older versions aren't documented in this topic.

Note

This method doesn't allow a guest user to update records. If you're creating subscriber code that requires a guest user to update records, you have the following options:

Warning

Signature

global static Map<String, Object> revise(Map<String, Object>)

Service Layer Classes

Data Service Provider
ccrz.ccServiceAddressBook

Inputs (Required)

Map<String, Object> that must include the following required keys:

ccrz.ccApi.API_VERSION
The version of the B2B Commerce for Visualforce API to reference for the method call. We recommend that you use the ccrz.ccApi.CURRENT_VERSION constant whenever possible, and only reference a specific version for compatibility if necessary.

If this key isn't specified, the method returns a ccrz.ccApi.NoApiVersionException.

Note

Inputs (Optional)

The input map can also include the following keys:

ccrz.ccApi.API_SIZING
Map<String, Object> that can include a flag to include the updated address book records with the return data. This flag ensures that the ccrz.ccApiAddressBook.fetch method also executes within this method's logic chain.
ccrz.ccApi.SIZING => new Map<String, Object>{
    ccrz.ccApiAddressBook.ENTITYNAME => new Map<String, Object>{
        ccrz.ccApi.SZ_REFETCH => TRUE
    }
}

For more information, see Sizing and Scoping Options for a B2B Commerce for Visualforce API Method Call.

ccrz.ccApiAddressBook.ADDRESSBOOKS
List<Map<String, Object>>, where each Map<String, Object> contains the fields and values to update for an account address book record.

You can pass any fields on an account address book record, but you must include the sfid for each record you're updating.

Important

Outputs

Map<String, Object> that can include the following keys:

ccrz.ccApi.API_VERSION
Integer that indicates which API version was used for the query.
ccrz.ccApi.SUCCESS
Boolean
Value Usage
true The call completed.
false The call encountered errors.

B2B Commerce for Visualforce doesn't always return an exception for any errors that can occur. When this value is false, consider rolling back the API transaction to a previous savepoint.

Tip

ccrz.ccApiAddressBook.ADDRESSBOOKS
List<Map<String, Object>>, where each Map<String, Object> represents an updated account address book record.

This key is returned only when the input map includes ccrz.ccApi.SZ_REFETCH => true.

Note

Example

Change the typeReadOnly field value to TRUE for a specific account address book record.

Map<String,Object> addressBookToUpdate = new Map<String,Object>{
    'sfid' => 'some_Account_Address_Book_ID',
    'typeReadOnly' => TRUE
};
 
Map<String,Object> reviseAddressBookInput = (new Map<String,Object>{
    ccrz.ccApiAddressBook.ADDRESSBOOKS => new List<Map<String,Object>>{addressBookToUpdate},
    ccrz.ccApi.API_VERSION => ccrz.ccApi.CURRENT_VERSION,
    ccrz.ccApi.SIZING => new Map<String, Object> {
        ccrz.ccApiAddressBook.ENTITYNAME => new Map<String, Object> {
            ccrz.ccApi.SZ_REFETCH => true
        }
    }
});
 
try {
    Map<String, Object> reviseAddressBookResult = ccrz.ccApiAddressBook.revise(reviseAddressBookInput);
} catch (Exception e) {
    // Error handling...
}