APEX: интеграция с внутреннего PBX в Salesforce - PullRequest
1 голос
/ 06 ноября 2019

Я хочу создать приложение для AppExchange в Salesforce Цель состоит в том, чтобы войти в свою АТС и включить click_and_dial На самом деле у меня есть этот код:

<apex:page standardController="Contact" extensions="ClickAndDial" action="{!clickAndDial}">
    <apex:form >
        <apex:inputHidden value="{!contact.Id}"/>
        <apex:inputHidden value="{!contact.Phone}"/>
    </apex:form>
</apex:page>`
public  class ClickAndDial {
    public String Phone {get; set;}
    public Id Id { get; set; }
    public Contact contact { get; set; }
    public ClickAndDial(ApexPages.StandardController controller) {
        contact =  (Contact) controller.getRecord();
        Id = contact.Id;
        System.debug('The case record: ' + contact);
        Phone = contact.Phone;
    }

    ....

    public PageReference clickAndDial() {
        PageReference pageRef = new PageReference('/' + Id);
        HTTPRequest loginRequest = new HTTPRequest();
        loginRequest.setEndpoint('callout:SalesforceNC/services/data/v32.0');
        System.debug('Case Owner: ' + Phone);
        System.debug('Case Id: ' + Id);
        Http http = new Http();
        HttpRequest request = new HttpRequest();
        request.setMethod('POST');`
      request.setEndpoint('https://somendpoint');
        request.setHeader('Content-Type', 'application/x-www-form-urlencoded'); 
        String payload = 'token=' + EncodingUtil.urlEncode('pbx_login_token','UTF-8') + '&data='+EncodingUtil.urlEncode('my_data','UTF-8');
        request.setBody(payload);
        HttpResponse response = http.send(request);
        return pageRef;
    }
}

Мне нужен пользовательмаркер входа, чтобы иметь возможность вызывать API. Как сохранить учетные данные УАТС пользователя, а затем извлечь их из метода clickAndDial, чтобы выполнить вход в АТС?

...