Kelas Integrasi API

Saya telah menemukan beberapa orang yang mencari solusi untuk osclass yang tampaknya tidak terlalu populer dalam hal plugin, jadi saya berharap masalah saya akan membantu orang lain juga.

Saya telah membuat API php yang terintegrasi dengan Interspire Email Marketer (IEM).

Ketika seseorang mendaftar untuk menjadi pengiklan di situs osclass, API berikut menghubungi Interspire Email Marketers XML.PHP dan menambahkan pelanggan ke daftar.

Saya sedikit bingung apa yang harus ditambahkan ke tombol KIRIM formulir pendaftaran Osclass. Inilah APInya:

<?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;
}

}

?>

Inilah kode tombol formulir osclass

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

Saya tidak yakin bagaimana saya memanggil halaman API php sehingga dikirim ke IEM dan menambahkan pelanggan.


person Hawk007    schedule 24.06.2015    source sumber


Jawaban (1)


Anda memiliki kait dan plugin, Anda bisa menggunakan kait 'user_register_completed'

Misalnya

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');

Fungsi ini akan dipanggil SETELAH pengguna terdaftar, apakah Anda ingin memanggilnya sebelumnya, gunakan hook 'pre_user_post'.

person CONEJO    schedule 25.06.2015
comment
Terima kasih atas jawabannya, Kedengarannya agak rumit tetapi saya akan mencobanya. Terima kasih lagi - person Hawk007; 26.06.2015
comment
Terima kasih @CONEJO tapi itu sedikit di luar kemampuan saya. Saya tidak mengerti ke mana perginya kode itu dan bagaimana kode milis IEM cocok dengan cuplikan yang Anda tambahkan? Menambahkan semua kode ke halaman akan membuat nama pengguna dan token admin saya terlihat jika Anda melihat sumber halaman, yang sepertinya sedikit tidak aman? Kode yang saya tambahkan di atas adalah halaman sebenarnya sehingga saya tidak mengerti bagaimana hal itu dapat dilakukan dengan kode yang Anda kirimkan. Saya baru mengenal osclass dan mungkin perlu belajar lebih banyak tetapi saya tidak benar-benar ingin menjadi pembuat kode yang lebih hebat seperti Anda dan beberapa orang lain di sini. Terima kasih. - person Hawk007; 26.06.2015