我试图连接Five9并向Five9发送一条记录以添加列表
我的密码在下面
$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以便在列表中添加.
发布于 2013-07-01 21:34:40
可以使用以下PHP代码将记录插入到Five9拨号列表中。我意识到这个问题已经有将近一年的历史了,但是由于它还没有被回答,而且显然缺少Five9 API的例子,所以我认为这仍然是相关的。
$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 */
}发布于 2014-04-01 21:50:40
我想在杰西·Q的精彩回答的基础上找到对我有用的东西.
$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);如果列表不存在,您甚至可以对列表的存在执行一些检查并添加它。
$list_lookup = $soap->getListsInfo(array("listNamePattern" => $list));
if (!($list_lookup->return && $list_lookup->return->name))
$soap->createList(array("listName" => $list));发布于 2012-07-30 07:06:07
问题在于,即使您将标头(即User Name和password )设置为标头记录。这将合并到XML Data中,后者被发送到WebService in doRequest。
解决方案
doRequest,则需要发送带有适当头节点的XML。在身份验证节点中使用Username和password。doRequest,而是使用__soapCall,使用带有函数addRecordToList的$client对象。您可以获得更多信息,这里。
https://stackoverflow.com/questions/11665151
复制相似问题