Yappliアプリ内でログイン済みの顧客の状態を、クライアント側の外部サイト(Webビュー等)へ引き継ぐための仕組みです。たとえば、アプリ内から会員限定のECサイトなど外部のWebページへ遷移する際に、「アプリで既にログイン済みの会員である」という状態をそのままWebサイト側に伝えたい、といったケースで利用します。詳細なAPI仕様は 引き継ぎトークンチェック を参照してください。
全体の流れ
sequenceDiagram
actor User as ユーザー
participant App as Yappliアプリ
participant Site as クライアントサイト(外部Webビュー等)
participant CRM as YappliCRM(本API)
User->>App: アプリ内コンテンツのリンク/Webビューをタップ
Note over App: 「遷移先へのパラメータ引き継ぎ」URLが発火<br/>token・id がパラメータに付与される
App->>Site: POST(application/x-www-form-urlencoded)<br/>token・idをフォームパラメータとして送信
Site->>CRM: GET /api/ext/check/{token}?id={id}<br/>Authorization: Bearer {access_token}
CRM-->>Site: 成功時 200 { "status": true }<br/>失敗時 400 { "status": false, "errors": ... }
Site->>Site: status に応じてログイン画面の表示要否を判断
Site-->>User: ログイン状態を引き継いだ画面を表示
- アプリ内コンテンツのリンク、またはWebビューに「遷移先へのパラメータ引き継ぎ」機能を使ったURLを設定します。設定については当社担当者が実施します。
- このURLが発火すると、
tokenとidがパラメータに付与されます。クライアントサイトへは POST で送信され、フォームリクエスト(Content-Type:application/x-www-form-urlencoded)としてパラメータが渡されます。 - 遷移先(クライアントサイト)は、受け取った
idとtokenを使って、本APIの引き継ぎトークンチェック(GET {{APP_URL}}/api/ext/check/{token}?id={id}。アクセストークンをAuthorization: Bearer {access_token}ヘッダーで指定)を呼び出します。 - YappliCRMは、ログイン状態を真偽値(
status)で返却します。 - クライアントサイト側は、この
statusを使ってその後の処理(ログイン画面の表示要否など)を判断します。
token / id 以外の情報も渡せます
「遷移先へのパラメータ引き継ぎ」では、token と id に加えて、unique_id や login_id など、YappliCRMが保持している会員の属性情報も、遷移先URLの追加パラメータとして一緒に渡すことができます。渡したい属性は、URL設定時にパラメータとして指定します。
また、会員の属性情報に限らず、channel=mobile_app のような固定値をパラメータとして渡すことも可能です。遷移先のクライアントサイト側で、どの導線(アプリからのリンク等)からの遷移かを判別したい、といった用途にも利用できます。
ただし、external_ids(外部連携ID)はこの方法では渡せません。外部連携IDが必要な場合は、引き継ぎ後にクライアントサイト側からOpenAPI(顧客詳細取得API等)を呼び出して取得してください。
引き継ぎトークンは、遷移先へ遷移するタイミングで毎回新しいトークンを発行します(ログイン済み会員のアプリ内セッションが前提です)。トークンは64文字のランダムな文字列です。
チェックAPIで一度検証すると無効になるワンタイム方式のため、再利用はできません。検証に成功するとトークンは削除され、同じトークンで再度チェックAPIを呼び出すと Invalid Token エラーになります。期限切れのトークンも、検出された時点で削除されます。
失効したトークンでチェックAPIを呼び出した場合は、HTTP 200 ではなく HTTP 400 で、errors フィールド付きのエラーレスポンスが返却されます。詳細は 引き継ぎトークンチェック を参照してください。
トークンの有効期限は、発行から 24時間 です。
遷移先URLにGETパラメータが含まれる場合の注意
引き継ぎ先のURLに、あらかじめGETパラメータ(クエリパラメータ)が付与されている場合、そのGETパラメータも token ・ id 等と合わせて POSTパラメータとして送信されます。遷移先のクライアントサイト側では、この点を踏まえてパラメータの受け取り方を実装してください。
Basic認証が設定されているサイトへ引き継ぐ場合の注意
クライアント側サイトにBasic認証が設定されている場合、「遷移先へのパラメータ引き継ぎ」を使ったURLでは IDとパスワードの部分が消えてしまいます。
例:https://id@password@www.example.com?a={unique_id}&b={login_id} のような形式で設定しても、id と password の部分が欠落します。
このため、引き継ぎ先のクライアントサイトには 基本的にBasic認証を設定しないことを推奨します。アクセス制御が必要な場合は、Basic認証ではなく、接続元IP制限など別の手段をご検討ください。