首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将记录发送到five9

如何将记录发送到five9
EN

Stack Overflow用户
提问于 2012-07-26 08:19:26
回答 4查看 3.1K关注 0票数 1

我试图连接Five9并向Five9发送一条记录以添加列表

我的密码在下面

代码语言:javascript
复制
    $soapUser = "test@sample.com";  //  username
    $soapPassword = "password"; // password

$soap_options   = array( 'login' => $soapUser, 'password' => $soapPassword );
$auth_details   = base64_encode($soapUser.":".$soapPassword);

$client = new SoapClient("https://api.five9.com/wsadmin/v2/AdminWebService?wsdl", $soap_options);
$header = new SoapHeader("https://api.five9.com/wsadmin/v2/AdminWebService/AddRecordToList", "authentication", "Basic $auth_details"); 
//echo "Response:\n" . $client->__getLastResponse() . "\n";
$client->__setSoapHeaders($header);

$xml_data = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://service.admin.ws.five9.com/">
<soapenv:Header />
<soapenv:Body>
<ser:addRecordToList>
<listName>some_list_name</listName>
<listUpdateSettings>
<fieldsMapping>
<columnNumber>1</columnNumber>
<fieldName>number1</fieldName>
<key>true</key>
</fieldsMapping>
<fieldsMapping>
<columnNumber>2</columnNumber>
<fieldName>first_name</fieldName>
<key>false</key>
</fieldsMapping>
<fieldsMapping>
<columnNumber>3</columnNumber>
<fieldName>last_name</fieldName>
<key>false</key>
</fieldsMapping>
<reportEmail>name@example.com</reportEmail>
<separator>,</separator>
<skipHeaderLine>false</skipHeaderLine>
<callNowMode>ANY</callNowMode>
<cleanListBeforeUpdate>false</cleanListBeforeUpdate>
<crmAddMode>ADD_NEW</crmAddMode>
<crmUpdateMode>UPDATE_FIRST</crmUpdateMode>
<listAddMode>ADD_FIRST</listAddMode>
</listUpdateSettings>
<record>
<fields>5551208111</fields>
<fields>John</fields>
<fields>Smith</fields>
</record>
</ser:addRecordToList>
</soapenv:Body>
</soapenv:Envelope>';

echo $client->__doRequest($xml_data, "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl", "https://api.five9.com/wsadmin/v2/AdminWebService/AddRecordToList",0); 

请指导我连接five9并将记录发送到Five9以便在列表中添加.

EN

回答 4

Stack Overflow用户

发布于 2013-07-01 21:34:40

可以使用以下PHP代码将记录插入到Five9拨号列表中。我意识到这个问题已经有将近一年的历史了,但是由于它还没有被回答,而且显然缺少Five9 API的例子,所以我认为这仍然是相关的。

代码语言:javascript
复制
$soap = null;
$wsdl = "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl";

$user = "YourLoginID";
$pass = "YourPassword";
$soap_options = array('login' => $user, 'password' => $pass );

$soap = new SoapClient($wsdl, $soap_options);

/* Field Mapping */
$arryFields = array();
$arryFields[0] = array("columnNumber"=>1,"fieldName" => "number1", "key" => "false");
$arryFields[1] = array("columnNumber"=>2,"fieldName" => "first_name", "key" => "false");
$arryFields[2] = array("columnNumber"=>3,"fieldName" => "last_name", "key" => "false");
$arryFields[3] = array("columnNumber"=>4,"fieldName" => "street", "key" => "false");
$arryFields[4] = array("columnNumber"=>5,"fieldName" => "city", "key" => "false");
$arryFields[5] = array("columnNumber"=>6,"fieldName" => "state", "key" => "false");
$arryFields[6] = array("columnNumber"=>7,"fieldName" => "zip", "key" => "false");

//$arrySettings['callNowColumnNumber'] = 0;
$arrySettings['cleanListBeforeUpdate'] = 0;
$arrySettings['crmAddMode'] = "ADD_NEW"; //DONT_ADD or ADD_NEW
$arrySettings['crmUpdateMode'] = "UPDATE_FIRST"; 
$arrySettings['listAddMode'] = "ADD_FIRST";

$arryValues[0] = "9515551212";
$arryValues[1] = "FirstName";
$arryValues[2] = "LastName";
$arryValues[3] = "123 Main St.";
$arryValues[4] = "Corona";
$arryValues[5] = "CA";
$arryValues[6] = "92881";

$arryParams['parameters']['listName'] = "Z-outbound-test";
$arryParams['parameters']['listUpdateSettings'] = $arrySettings;
$arryParams['parameters']['record'] = $arryValues;

try {
    $result = $soap->__soapCall("addRecordToList", $arryParams);       
} catch (SoapFault $e) {
    /* your error handling */
}
票数 3
EN

Stack Overflow用户

发布于 2014-04-01 21:50:40

我想在杰西·Q的精彩回答的基础上找到对我有用的东西.

代码语言:javascript
复制
$auth = array("login" => "your login",
              "password" => "your password");

$wsdl = "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl";
$soap = new SoapClient($wsdl, $auth);

$fields = array("number1" => "555-666-7777", 
                "first_name" => "John", 
                "last_name" => "Doe", 
                "street" => "", 
                "city" => "", 
                "state" => "", 
                "zip" => "");

// these are the columns we're sending so Five9 knows what we're sending
$columns = array(); 
$keys = array_keys($fields);
for ($x = 0; $x < count($fields); ++$x)
  $columns[$x] = array("columnNumber" => $x + 1,
                       "fieldName" => $keys[$x],
                       "key" => "false");

// assemble the settings...
$settings = array("fieldsMapping" => $columns,
                  "cleanListBeforeUpdate" => 0,
                  "crmAddMode" => "ADD_NEW",
                  "crmUpdateMode" => "UPDATE_FIRST",
                  "listAddMode" => "ADD_FIRST",
                  "skipHeaderLine" => "false");

// assemble the request...
$record = array_values($fields);
$params = array("listName" => $list,
                "listUpdateSettings" => $settings,
                "record" => $record);

$response = $soap->addRecordToList($params);

如果列表不存在,您甚至可以对列表的存在执行一些检查并添加它。

代码语言:javascript
复制
$list_lookup = $soap->getListsInfo(array("listNamePattern" => $list));
if (!($list_lookup->return && $list_lookup->return->name))
  $soap->createList(array("listName" => $list));
票数 2
EN

Stack Overflow用户

发布于 2012-07-30 07:06:07

问题在于,即使您将标头(即User Namepassword )设置为标头记录。这将合并到XML Data中,后者被发送到WebService in doRequest

解决方案

  1. 如果要使用doRequest,则需要发送带有适当头节点的XML。在身份验证节点中使用Usernamepassword
  2. 而不是使用doRequest,而是使用__soapCall,使用带有函数addRecordToList$client对象。

您可以获得更多信息,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11665151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档