バージョン選択

フォーラム

メニュー

オンライン状況

75 人のユーザが現在オンラインです。 (69 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 75
もっと...

サイト内検索

質問 > その他 > EC-CUBEからWordPressへ会員登録するようなWebHookは作れますか

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
2645dfd
投稿日時: 2024/8/19 22:09
対応状況: −−−
半人前
登録日: 2022/5/2
居住地:
投稿: 22
EC-CUBEからWordPressへ会員登録するようなWebHookは作れますか
[EC-CUBE] EC-CUBE4.2.1
[レンタルサーバ] Xserver
[OS] 使用しているOS名、バージョン
[PHP] 7.4.33
[データベース] MySQL 10.5.13-MariaDB-log
[WEBサーバ] Apache
[導入プラグインの有無] データ移行プラグイン,GMO決済プラグイン
[カスタマイズの有無] あり

EC-CUBEで月額会員サイト(WordPress)の販売をしておりまして、
会員は手動で登録しているため、できれば自動で登録できるようにしたくWebHookにたどり着きました。このようにプラグインインストールをして設定を進めてます。

EC-CUBE:Web API プラグイン(GraphQL)
WordPress:REST API/WP Webhooksプラグイン(結局使わないかもしれないです)

●EC-CUBEのWebHook登録
URL:https://会員サイト/wp-json/myplugin/register-user
シークレットパス

●特定の商品(商品IDまたは特定の商品名)を購入したときに
発火するように記述
Plugin\Api\Service\WebHookTrigger


use Eccube\Plugin\AbstractPlugin;
use Eccube\Entity\Order;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class MyCustomPlugin extends AbstractPlugin
{
    public function onOrderComplete(Order $Order)
    {
        // 特定の商品IDを設定
        $targetProductId = 123;

        // 注文内の商品をチェック
        foreach ($Order->getOrderItems() as $OrderItem) {
            if ($OrderItem->getProduct()->getId() == $targetProductId) {
                // Webhookリクエストを送信
                $this->sendWebhookRequest($Order);
                break;
            }
        }
    }

    private function sendWebhookRequest(Order $Order)
    {
        $webhookUrl = 'https://会員サイト/wp-json/myplugin/register-user';

        $data = [
            'email' => $Order->getEmail(),
            'order_no' => $Order->getOrderNo(),
        ];

        $options = [
            'http' => [
                'header'  => "Content-Type: application/json\r\n",
                'method'  => 'POST',
                'content' => json_encode($data),
            ],
        ];
        $context  = stream_context_create($options);
        file_get_contents($webhookUrl, false, $context);
    }
}
2645dfd
投稿日時: 2024/8/19 22:13
対応状況: −−−
半人前
登録日: 2022/5/2
居住地:
投稿: 22
Re: EC-CUBEからWordPressへ会員登録するようなWebHookは作れますか
●WordPressのfunctions.phpにカスタムREST APIエンドポイントの作成
codeを記載するとサイトブロックになってしまいましたので省きます

こちらや、他にもやり方を探してますがうまく行かないです。
そもそもできないような内容なのでしょうか?またもし別の方法がありましたらアドバイスいただければ幸いです。
tattsu
投稿日時: 2024/8/20 9:11
対応状況: −−−
仙人
登録日: 2023/12/23
居住地:
投稿: 342
Re: EC-CUBEからWordPressへ会員登録するようなWebHookは作れますか
記載いただいた内容のコードのようにカスタマイズできるならEC-CUBEのAPIプラグインを使う必要性はほぼなくて、

注文完了のイベントEccubeEvents::FRONT_SHOPPING_COMPLETE_INITIALIZEあたりをフックしてWordPress側にデータ送信するカスタマイズをすればいいかと思います。


----------------
-------------------

EC-CUBEカスタマイズ・バージョンアップ・不具合修正(状況調査は無料)
ゴールドパートナー。

2645dfd
投稿日時: 2024/8/27 11:56
対応状況: 解決済
半人前
登録日: 2022/5/2
居住地:
投稿: 22
Re: EC-CUBEからWordPressへ会員登録するようなWebHookは作れますか
ご助言ありがとうございます
注文完了のイベントEccubeEvents::FRONT_SHOPPING_COMPLETE_INITIALIZEがあることを知らなかったのでそちらも試しましたがうまく行かなかったです。

ec-cubeやWordPressについて詳しく知らず進めておりましたので、この機会にしっかり勉強してみようと思います。ありがとうございます!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は94,657名です
総投稿数は111,338件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2324
5
umebius
2085
6
yuh
1881
7
h_tanaka
1796
8
red
1574
9
mcontact
1506
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.