「ID」以外を基にしたユーザーデータの作成+更新

もし、フィードバック内でユーザー情報の更新/作成に「id」以外のフィールドを使用する必要がある場合は、さらに2つのパラメータをスニペットに追加できます:

キー:settings.user.find_by
必須かどうか:任意
説明:フィードバック内でユーザー情報を更新/作成する際に使用するユーザーフィールドを指定。有効な値は"email"および"id"。デフォルトは"id"。
:"email"もしくは"id"

注:"email"を使用する場合、ユーザーIDはアカウント内で一意でなければなりません。例えば、「Test One」というアカウントに#111のユーザーが存在し、かつ「Test Two」に#111のユーザーが存在することはできます。ただし、「Test One」に同じ#111を持つ2人のユーザーが存在することはできません。

キー:settings.account.find_by
必須かどうか:任意
説明:フィードバック内で、アカウントを検索/作成する際に使用するアカウントフィールドを指定。有効な値は"name"および"id"です。デフォルトは"id"。
:"email"もしくは"id"

以下はその例です。

  <script>
  var receptiveAppSettings = {
  "return_url":"http://example.com/user/123",
  "settings": {
  "user": {
  "find_by": "email"
  },
  "account": {
  "find_by": "name"
  }
  },
  "account":{
  "id":"321",
  "name":"Company Ltd",
  "monthly_value":"99.99",
  "is_paying":"true"},
  "vendor":{
  "id":"01234567-89ab-...."},
  "user":{
  "id":"123",
  "email":"joe@example.com",
  "full_name":"Joe Bloggs",
  "allowed_products":[{"name": 'MyProduct', "id":'my_product_external_id'}]
  }
  };
  <script>
GitHubの❤でホストされているrawreceptiveAppSettingsExtendedを表示する

これを設定すると、フィードバック内で、指定したフィールドでユーザーやアカウントが検索されます。"id"以外を使用する場合は、以下の点にご注意ください。

  • スニペットで指定されたIDは、フィードバック内の現在のIDを上書きする
  • 同じフィールドデータを持つ複数のレコードが存在する場合、コード400で処理が失敗する