APIプラグインではデータをGraphiQLで取得可能ですが、どんなデータでも取得できるとセキュリティ的に問題があるため、許可リストの仕組みで制限されています。

今回はよくある要望として、メルマガプラグインのフラグを取得する方法をご紹介します。

プラグインの追加項目についてはプラグイン側で許可リストに追加していない限り、取得することができません。

許可リストには、services.yamlに次のような記載をすることで登録可能です。

app/Customize/Resource/config/services.yaml  (ファイルがなければ新規作成)

services:
  mailmagazine4.api.allow_list:
    class: ArrayObject
    tags: ['eccube.api.allow_list']
    arguments:
      - #
        Eccube\Entity\Customer: ['mailmaga_flg']

GraphiQL実行してみると

次のGraphiQLを実際に実行してみます。

query {
  # 会員一覧を取得
  customers(limit: 5, page: 1) {
    edges {
      node {
      name01
      name02
      email
      point,
      mailmaga_flg
    }
  }
  nodes {
    name01
    name02
    email
    point
  }
  totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

修正前

Cannot query field “mailmaga_flg” on type “Customer”.というエラーが発生

修正前

修正後

Customer.mailmaga_flgを取得できます。

APIプラグインでメルマガフラグ取得

参考サイト

EC-CUBE4 Web API プラグイン 開発ドキュメント

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ