首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API集成osclass

API集成osclass
EN

Stack Overflow用户
提问于 2015-06-25 06:50:08
回答 1查看 1.3K关注 0票数 0

我发现一些人在寻找osclass的解决方案,但就插件而言,osclass似乎并不是很受欢迎,所以我希望我的问题也能对其他人有所帮助。

我已经创建了与Interspire Email Marketer (IEM)集成的php API。

当有人注册成为osclass站点的广告商时,下面的API联系Interspire Email Marketers XML.PHP并将订阅者添加到列表中。

我有点纠结于在Osclass注册表的SUBMIT按钮中添加什么内容。接口如下:

代码语言:javascript
复制
<?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;
}

}

?>

下面是osclass表单按钮代码

代码语言:javascript
复制
<button type="submit" class="ui-button ui-button-middle ui-button-main"><?    php _e("Create", 'bender'); ?></button>

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

EN

回答 1

Stack Overflow用户

发布于 2015-06-25 14:57:41

你有钩子和插件,你可以使用'user_register_completed‘钩子

例如

代码语言:javascript
复制
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‘挂钩。

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

https://stackoverflow.com/questions/31038467

复制
相关文章

相似问题

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