もし、フィードバック内でユーザー情報の更新/作成に「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> |
これを設定すると、フィードバック内で、指定したフィールドでユーザーやアカウントが検索されます。"id"以外を使用する場合は、以下の点にご注意ください。
- スニペットで指定されたIDは、フィードバック内の現在のIDを上書きする
- 同じフィールドデータを持つ複数のレコードが存在する場合、コード400で処理が失敗する