0

顧客情報をMagentoからサードパーティのロイヤルティプログラムにプッシュするためのAPIベースのモジュールを作成するための支援を探しています。

これまでのところ、基本的なモジュールを作成しましたが、MagentoでAPIベースのモジュールを作成するための適切な情報が見つからないため、アドバイスをいただければ幸いです...

どういうわけかMagnetoのチェックアウト成功ページに接続し、顧客情報(名前、住所など)をサードパーティのロイヤルティプログラムにPOSTするフォームを追加する必要があります。また、請求情報などを完了するためにログインできる必要があります...

そのような実装のための便利なチュートリアルやドキュメントを知っている人はいますか?

これまで、適切なロールを持つAPIユーザーを設定しました。テスト用の非常に基本的なモジュールも作成しましたが、ファイルを参照すると404エラーが発生します

apitest.php

<?php 
$proxy = new SoapClient('http://mysite.com/api/?wsdl'); //edit the address and put the url to your magento here

$sessionId = $proxy->login('######', '#######'); // put in the info for your user here

echo "Login ID : $sessionId";
$result = $proxy->call($sessionId, 'Mymodule.testConnection', array('param1' => ' This string was sent from soap client'));
echo $result; 

Objectmodel / api.php

<?php
class MyModule_MyModule_Model_ObjectModel_Api extends Mage_Api_Model_Resource_Abstract
{
    public function testConnection($arg)
    {
        return "Hello World! My argument is : " . $arg;
    }
}

基本的な「Helloworld」モジュールを起動して実行するために、ここからの例に従いました。誰かが正しいセットアップを取得するのを手伝ってくれるなら、私は感謝します

4

1 に答える 1

1

magento APIに接続する代わりに、このような顧客を作成できます。

define('INCLUDE_PATH', '/var/www/QA/mojostage/app/');
define('INCLUDE_FILE', 'Mage.php');
Mage::app();
$customer = Mage::getModel('customer/customer');
        $customer->setWebsiteId($wesite_id);
        $customer->loadByEmail($customer_email);
        /*
         * Check if the email exist on the system.
         * If YES,  it will not create a user account.
         */

        if (!$customer->getId()) {

            //setting data such as email, firstname, lastname, and password

            $customer->setEmail($customer_email);
            $customer->setTaxvat($value['cus_vatnumber'])
                    ->setCreatedAt($date1)
                    ->setDob($value['date_of_birth'])
                    ->setGroupId($cus_group_id)
                    ->setConfirmation($is_active)
                    ->setCreatedIn('Admin')
                    ->setStoreId($store_id)
                    ->setWebsiteId($wesite_id)
                    ->setEntityId($value['cus_id']);
            $customer->setFirstname($customer_fname);
            $customer->setLastname($customer_lname);
            $customer->setPassword($value['password']);

            $subscriber = Mage::getModel('newsletter/subscriber');
            $subscriber->setStoreId($store_id)
                    ->setCustomerId($value['cus_id'])
                    ->setSubscriberEmail($customer_email)
                    ->setSubscriberStatus($value['cus_spam'])
                    ->setSubscriberConfirmCode($subscriber->randomSequence());
        }

        //the save the data and send the new account email.
        $customer->save();
        $subscriber->save();
于 2013-03-13T09:55:57.953 に答える