0

現在、クライアントが購入すると、購入時にデータベースにアフィリエイトIDを記録する専用カートを作成中です。Post Affiliate ProAPIを使用してアフィリエイトID/名前を取得するために次のコードを作成しました。

include ("affiliate/api/PapApi.class.php");
$session = new Gpf_Api_Session("https://www.elitespecialtymeats.com/affiliate/scripts/server.php"); 
if(!$session->login("user", "password")){ die("Cannot login. Message: ".$session->getMessage()); }
$clickTracker = new Pap_Api_ClickTracker($session);
try {
    $clickTracker->track();
    $clickTracker->saveCookies();
    if ($clickTracker->getAffiliate() != null){ $affid=$clickTracker->getAffiliate()->getValue('username'); }
    else{ $affid=''; }
}catch (Exception $e){
    $affid='';
}

そのIDを購入に追加する最良の方法を見つけようとしています。購入をPAPに記録するtpl_checkout_success_default.phpに追加するのが最善だと思います。私の問題は、コードを実装するためのシステムについて十分に知らないことです。

私の最善の推測は

 $db->Execute("UPDATE ".TABLE_ORDERS_TOTAL." SET affid='$affid' where orders_id = '".(int)$orders->fields['orders_id']."' AND class in ('ot_coupon', 'ot_gv', 'ot_subtotal', 'ot_group_pricing', 'ot_quantity_discount')");

これは機能しますか、それとも私は何かを台無しにしますか?

4

2 に答える 2

0

JROX のやり方を見てみるといいかもしれません。Zen Cart で人気のあるアフィリエイト マーケティング システムです。ここで説明されています:http://jam.jrox.com/docs/index.php?article=111

基本的に、彼らはチェックアウト成功ページにピギーバックし、フッターにロジックを貼り付けます.

于 2012-10-24T12:34:54.637 に答える
0

まず、最初の段落で述べたように、アフィリエイト ID ではなく、アフィリエイト ユーザー名 ( ...getValue('username') ) を読み込む API を使用します。getValue('userid'); を使用する必要があります。(アフィリエイト ID の場合) または getValue('refid'); (紹介ID用)。

使用しようとしているデータベース コマンドは、テーブル TABLE_ORDERS_TOTAL に「affid」という列がある場合にのみ機能します。テーブルに手動で追加できます...

どうしてこんなことをするんだろう… 後で何か特別な目的で ID を使いたいようですね。顧客がすべての Cookie を削除したり、その間に別のアフィリエイトのバナーをクリックしたりしたとしても、元の紹介者にコミッションを与えたいですか? その場合は、代わりにライフタイム コミッションを使用する必要があります: http://support.qualityunit.com/541587-Lifetime-commissions

その他のヘルプが必要な場合は、お気軽にオンライン サポートにお問い合わせください。

于 2012-10-24T05:52:15.147 に答える