Een Apex-klasse maken

Laatst bijgewerkt : Aug 31, 2026 |
Prolog information
De Visualforce-workflow wordt getriggerd als de interactie een variabele bevat, zoals billingId of contractId. Als de variabele aanwezig is, wordt door de Avaya Infinity™ CRM-integratie een screenpop van een Visualforce-pagina getriggerd met de geconfigureerde parameters.
Before you begin
Meld u aan bij Salesforce
  1. Klik in het hoofdmenu van Salesforce in de hoek van het scherm op InstellenInstellen.
  2. Typ in het veld Snel zoeken de waarde Apex-klassen.
  3. Selecteer Apex-klassen in de lijst Aangepaste code.
  4. Klik op Nieuw.
    ADDITIONAL INFORMATION:
    Salesforce geeft de pagina Apex-klassen weer.
  5. Kopieer en plak de volgende code:
    ADDITIONAL INFORMATION: public with sharing class InteractionHandlerController {

    // Standard URL Params
    public String interactionId { get; set; }
    public String originatingAddress { get; set; }
    public String originatedAddress { get; set; }
    public String direction { get; set; }
    public String queueId { get; set; }
    public String queueName { get; set; }
    public String startTime { get; set; }
    public String userEmail { get; set; }
    public String userFullName { get; set; }

    // Raw JSON from vfPageParams
    public String rawVfPageParams { get; set; }

    // Deserialized key → value pairs
    public Map<String, Object> vfPageParamsMap { get; set; }

    // Helper to display as table
    public List<KeyValue> vfParamsList {
    get {
    if (vfPageParamsMap == null) return new List<KeyValue>();
    List<KeyValue> output = new List<KeyValue>();

    for (String key : vfPageParamsMap.keySet()) {
    output.add(new KeyValue(key, String.valueOf(vfPageParamsMap.get(key))));
    }
    return output;
    }
    }

    public InteractionHandlerController() {

    System.debug('--- Starting InteractionHandlerController ---');
    // Read all standard params
    Map<String, String> params = ApexPages.currentPage().getParameters();

    System.debug('Params received: ' + params);

    interactionId      = params.get('interactionId');
    originatingAddress = params.get('originatingAddress');
    originatedAddress  = params.get('originatedAddress');
    direction          = params.get('direction');
    queueId            = params.get('queueId');
    queueName          = params.get('queueName');
    startTime          = params.get('startTime');
    userEmail          = params.get('userEmail');
    userFullName       = params.get('userFullName');

    // Read vfPageParams (JSON string)
    rawVfPageParams = params.get('vfPageParams');

    if (rawVfPageParams != null) {
    try {
    vfPageParamsMap = (Map<String, Object>) JSON.deserializeUntyped(rawVfPageParams);
    } catch (Exception e) {

    System.debug(LoggingLevel.ERROR, 'JSON parse failed: ' + e.getMessage());
    vfPageParamsMap = new Map<String, Object>{
    'error' => 'Failed to parse vfPageParams: ' + e.getMessage()
    };
    }
    } else {
    vfPageParamsMap = new Map<String, Object>();
    }
    }

    // Helper struct for table display
    public class KeyValue {
    public String key { get; set; }
    public String value { get; set; }

    public KeyValue(String k, String v) {
    key = k;
    value = v;
    }
    }
    }
  6. Klik op Opslaan.
Next Steps
Maak een Apex-pagina.