Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php API集成示波器_Php_Api_Integration_Osclass - Fatal编程技术网

Php API集成示波器

Php API集成示波器,php,api,integration,osclass,Php,Api,Integration,Osclass,我发现有一些人在寻找osclass的解决方案,就插件而言,osclass似乎并不流行,所以希望我的文章也能帮助其他人 我创建了一个与Interspire电子邮件营销人员(IEM)集成的php API 当有人注册成为osclass网站的广告客户时,以下API会联系Interspire电子邮件营销人员XML.PHP并将订户添加到列表中 我有点纠结于如何添加到Osclass注册表的提交按钮。以下是API: <?PHP // CHECK AUTHORIZATION // ------------

我发现有一些人在寻找osclass的解决方案,就插件而言,osclass似乎并不流行,所以希望我的文章也能帮助其他人

我创建了一个与Interspire电子邮件营销人员(IEM)集成的php API

当有人注册成为osclass网站的广告客户时,以下API会联系Interspire电子邮件营销人员XML.PHP并将订户添加到列表中

我有点纠结于如何添加到Osclass注册表的提交按钮。以下是API:

<?PHP

// CHECK AUTHORIZATION
// -------------------------------------------------------------------------    -----
if ($MailingListAuth == true) {

/
// -------------------------------------------------------------------------    -----
$s_name = check_type('s_name');
$s_email = check_type('s_email');
// ------------------------------------------------------------------------------

$xml = '<xmlrequest>
<username>MyIEMUserName</username>
<usertoken>b331be663b16ae7atolkeiias9f7hgkg7ff2f1d</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>AddSubscriberToList</requestmethod>

<details>
<emailaddress>'.$s_email.'</emailaddress>
<mailinglist>2</mailinglist>
<format>html</format>
<confirmed>yes</confirmed>

<customfields>

<item>
<fieldid>2</fieldid>
<value>'.$s_name.'</value>
</item>

</customfields>

</details>
</xmlrequest>
';

$ch = curl_init('https://example.com/mail/xml.php'); //CHANGE TO THE PATH OF     YOUR IEM INSTALLATION
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if($result === false) {die("Error performing request");}
//var_dump($result); //for debugging purposes
//Example of how to display returned data
$xml_doc = simplexml_load_string($result);
if ($xml_doc->status == 'SUCCESS' && empty($xml_doc->data)) {die('Status is     success. Empty response.');}
if ($xml_doc->status == 'SUCCESS') {
    echo 'Response: <br />';
    var_dump($xml_doc->data);
} else {
    echo 'Error is '. $xml_doc->errormessage;
}

}

?>
status='SUCCESS'&&empty($xml_doc->data)){die('status为SUCCESS.empty response');}
如果($xml\u doc->status=='SUCCESS'){
回显“响应:
”; 变量转储($xml\u doc->data); }否则{ echo“Error is.”$xml\u doc->errormessage; } } ?>
这是osclass表单按钮代码

<button type="submit" class="ui-button ui-button-middle ui-button-main"><?    php _e("Create", 'bender'); ?></button>


我不确定如何调用API php页面,以便将其发送到IEM并添加订户。

如果有挂钩和插件,可以使用“用户注册完成”挂钩

比如说

function IEM_subscribe($userId) {
    $user = User::newInstance()->findByPrimaryKey($userId);
    //YOUR CODE HERE
    // user's email is in $user['s_email']
    // user's name is in $user['s_name']
}
osc_add_hook('user_register_completed', 'IEM_subscribe');

此函数将在用户注册后调用,如果您想在注册前调用此函数,请使用“pre_user_post”挂钩。

谢谢您的回答,听起来有点复杂,但我会尝试一下。再次感谢Hanks@CONEJO,但这有点超出我的能力。我不明白这些代码去了哪里,IEM邮件列表代码如何融入到您添加的代码片段中?如果您查看页面源代码,将所有代码添加到页面会使我的管理员用户名和令牌可见,这似乎有点不安全?我在顶部添加的代码是一个实际的页面,所以我不明白如何使用您发送的代码来实现这一点。我是新来奥斯格拉斯的,所以也许需要多学一点,但我真的不想成为像你和其他人一样出色的程序员。无论如何,谢谢你。