Tutorial
チュートリアル
はじめに
Yappli CRM Open APIでは、Yappli CRM内の顧客情報の取得をはじめ、登録・更新など、Yappli CRMの様々な機能を使うことができます。
今後もご利用いただける機能を拡張してまいります。
API利用の申し込み
Yappli CRM Open APIをご利用いただく際は、Yappli-CRMのご契約が必要です。
ご契約の際、Yappli CRM Open API利用の旨、ならびにAPIへアクセスするサーバーの"IPアドレス"を、弊社営業までご連絡ください。
その後、弊社からは以下をご連絡いたします。
・client_id (後述の"認証"で利用します)
・client_secret (後述の"認証"で利用します)
・Yappli CRMのログインアカウント
リクエスト
Yappli CRM Open API へのリクエストの文字エンコーディングはUTF-8のみに対応しています。
レスポンス
Yappli CRM Open API のレスポンスはJSONオブジェクトを返しています。 文字エンコーディングはUTF-8です。
認証
Yappli CRM API は、OAuth 2.0のクライアント・クレデンシャルズフローの仕様に準拠しています。
RFC 6749, 4.4. [Client Credentials Grant]で定義されているフローとなります。
トークンエンドポイントにトークンリクエストを投げ、応答としてアクセストークンを受け取るフローです。
このフローでは、クライアントアプリケーションの認証のみがおこなわれます。
アクセストークンの取得
弊社から送付されたclient_id、及びログイン情報を使用し、アクセストークンを取得してください。有効期間が過ぎた場合、再度アクセストークンを取得してください。
リクエスト
POST {{APP_URL}}/api/ext/token
アクセストークンの作成
# Example Request
curl -X POST "{{APP_URL}}/api/ext/token" \
-d grant_type=client_credentials \
-d client_id={client_id} \
-d client_secret={client_secret}
# Example Response
{
"access_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"token_type": "bearer",
"refresh_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"expires_in": 86400,
"scope": null
}
API の利用にはアクセストークンが必要です。 Example Requestを参考にアクセストークンの作成を行なってください。
パラメータ (* 必須)
Parameter | Type | Description | Default |
---|---|---|---|
grant_type* | String | client_credentials | - |
client_id* | String | OAuthアプリケーションのクライアントID | - |
client_secret* | String | OAuthアプリケーションのクライアントシークレット | - |
レスポンス(成功時)
Property | Type | Description |
---|---|---|
access_token | String | アクセストークン |
token_type | String | アクセストークンの種類 |
expires_in | String | アクセストークンの有効期限(秒) |
scope | String | ---- |
レスポンス(失敗時)
HTTP Status Code | error | error_description |
---|---|---|
400 | Bad Request | 要求が無効です。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
401 | Unauthorized | 認証に失敗しました。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
アクセストークンの再発行
アクセストークンの有効期間は発行から1日間です。期限が過ぎると、そのアクセストークンではAPIを利用することができなくなります。その場合は、再度アクセストークンの取得を行ってください。
顧客
顧客一覧
登録されている顧客の一覧を取得します。
HTTP リクエストヘッダ
Authorization: Bearer {ACCESS_TOKEN}
リクエスト
GET {{APP_URL}}/api/ext/users
パラメータ (* 必須)
Parameter | Type | Description | Default |
---|---|---|---|
limit | Integer | 取得件数 | 50 |
offset | Integer | 取得開始位置 | 0 |
レスポンス(成功時)
HTTP STATUS CODE: 200
Property | Type | Description |
---|---|---|
members | Array | オブジェクトの配列 |
members > member | Array[Member Object] | 顧客オブジェクトの配列 |
members > member > id | String | YappliCRMの顧客ID |
members > member > unique_id | String | お客様のシステムでユニークなID |
members > member > login_id | String | ログインID |
members > member > rank | Integer | ランク |
members > member > column01 〜 column50 | String | カスタムフィールド |
members > member > secret_quetion | String | 秘密の質問 |
members > member > point | Integer | ポイント |
members > member > logined | Integer | ログイン状態 (0:未ログイン 1:ログイン済) |
members > member > enabled | Integer | 利用可/不可 (0:利用不可 1:利用可) |
members > member > point_geted_at | String | メモ |
members > member > logined_at | String | 最終ログイン日 |
members > member > created_at | String | 登録日 |
members > member > updated_at | String | 更新日 |
レスポンス(失敗時)
HTTP Status Code | error | error_description |
---|---|---|
400 | Bad Request | 要求が無効です。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
401 | Unauthorized | 認証に失敗しました。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
顧客詳細
登録されている顧客の詳細情報を取得します。
HTTP リクエストヘッダ
Authorization: Bearer {ACCESS_TOKEN}
リクエスト
GET {{APP_URL}}/api/ext/users/{id}
パラメータ (* 必須)
Parameter | Type | Description | Default |
---|---|---|---|
Id* | String | 会員ID | - |
レスポンス(成功時)
HTTP STATUS CODE: 200
Property | Type | Description |
---|---|---|
member | Array[Member Object] | 顧客オブジェクトの配列 |
member > id | String | YappliCRMの顧客ID |
member > unique_id | String | お客様のシステムでユニークなID |
member > login_id | String | ログインID |
member > rank | Integer | ランク |
member > column01 〜 column50 | String | カスタムフィールド |
member > secret_quetion | String | 秘密の質問 |
member > point | Integer | ポイント |
member > logined | Integer | ログイン状態 (0:未ログイン 1:ログイン済) |
member > enabled | Integer | 利用可/不可 (0:利用不可 1:利用可) |
member > point_geted_at | String | メモ |
member > logined_at | String | 最終ログイン日 |
member > created_at | String | 登録日 |
member > updated_at | String | 更新日 |
レスポンス(失敗時)
HTTP Status Code | error | error_description |
---|---|---|
400 | Bad Request | 要求が無効です。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
401 | Unauthorized | 認証に失敗しました。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
顧客登録
新規顧客情報を登録します。
HTTP リクエストヘッダ
Authorization: Bearer {ACCESS_TOKEN}
リクエスト
POST {{APP_URL}}/api/ext/users
# Example Request
curl -X POST "{APP_URL}/api/ext/users" \
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-F login_id=taro@crm.yapp.li \
-F password=pass1234 \
-F rank=5 \
-F column01='ヤプリ太郎' \
-F colmun02='2000-12-31'
パラメータ (* 必須)
Parameter | Type | Description | Default |
---|---|---|---|
unique_id* | String | お客様のシステムでユニークなID | |
login_id | String | ログインID | |
password | String | パスワード | |
rank | Integer | ランク | |
column01 〜 column50 | String | カスタムフィールド | |
secret_question | String | 秘密の質問 | |
secret_answer | String | 秘密の質問の答え | |
logined | Integer | ログイン状態 (0:未ログイン 1:ログイン済) |
|
enabled | Integer | 利用可/不可 (0:利用不可 1:利用可) |
|
logined_at | String | 最終ログイン日 |
レスポンス(成功時)
HTTP STATUS CODE: 200
Property | Type | Description |
---|---|---|
member | Array[Member Object] | 顧客オブジェクトの配列 |
member > id | String | YappliCRMの顧客ID |
member > unique_id | String | お客様のシステムでユニークなID |
member > login_id | String | ログインID |
member > rank | Integer | ランク |
member > column01 〜 column50 | String | カスタムフィールド |
member > secret_quetion | String | 秘密の質問 |
member > point | Integer | ポイント |
member > logined | Integer | ログイン状態 (0:未ログイン 1:ログイン済) |
member > enabled | Integer | 利用可/不可 (0:利用不可 1:利用可) |
member > point_geted_at | String | メモ |
member > logined_at | String | 最終ログイン日 |
member > created_at | String | 登録日 |
member > updated_at | String | 更新日 |
レスポンス(失敗時)
HTTP Status Code | error | error_description |
---|---|---|
400 | Bad Request | 要求が無効です。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
401 | Unauthorized | 認証に失敗しました。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
顧客更新
登録されている顧客の情報を更新します。
HTTP リクエストヘッダ
Authorization: Bearer {ACCESS_TOKEN}
HTTP リクエスト
PUT {{APP_URL}}/api/ext/users/{id}
# Example Request
curl -X PUT "{APP_URL}/api/ext/users/{id}" \
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-F login_id=taro@crm.yapp.li \
-F password=pass1234 \
-F rank=5 \
-F column01='ヤプリ太郎' \
-F colmun02='2000-12-31'
パラメータ (* 必須)
HTTP STATUS CODE: 200
Parameter | Type | Description | Default |
---|---|---|---|
id* | String | YappliCRMの顧客ID | |
login_id | String | ログインID | |
password | String | パスワード | |
rank | Integer | ランク | |
column01 〜 column50 | String | カスタムフィールド | |
secret_question | String | 秘密の質問 | |
secret_answer | String | 秘密の質問の答え | |
logined | Integer | ログイン状態 (0:未ログイン 1:ログイン済) |
|
enabled | Integer | 利用可/不可 (0:利用不可 1:利用可) |
|
logined_at | String | 最終ログイン日 |
レスポンス(成功時)
HTTP STATUS CODE: 200
Property | Type | Description |
---|---|---|
member | Array[Member Object] | 顧客オブジェクトの配列 |
member > id | String | YappliCRMの顧客ID |
member > unique_id | String | ユニークID |
member > login_id | String | ログインID |
member > rank | Integer | ランク |
member > column01 〜 column50 | String | カスタムフィールド |
member > secret_quetion | String | 秘密の質問 |
member > point | Integer | ポイント |
member > logined | Integer | ログイン状態 (0:未ログイン 1:ログイン済) |
member > enabled | Integer | 利用可/不可 (0:利用不可 1:利用可) |
member > point_geted_at | String | メモ |
member > logined_at | String | 最終ログイン日 |
member > created_at | String | 登録日 |
member > updated_at | String | 更新日 |
レスポンス(失敗時)
HTTP Status Code | error | error_description |
---|---|---|
400 | Bad Request | 要求が無効です。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
401 | Unauthorized | 認証に失敗しました。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
サービス間のログインユーザーの引き継ぎ
Yappli-CRMと他サービス間でログインユーザーの情報を引き継ぐために発行されたトークンをチェックします。
成功すると、ログインユーザーの顧客情報を返却します。
引き継ぎトークンチェック
HTTP リクエストヘッダ
Authorization: Bearer {ACCESS_TOKEN}
HTTP リクエスト
GET {{APP_URL}}/api/ext/check/{token}?id={id}
# Example Request
curl -X GET "{APP_URL}/api/ext/check/{token}?id={id}" \
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
パラメータ (* 必須)
HTTP STATUS CODE: 200
Parameter | Type | Description | Default |
---|---|---|---|
token * | String | 引き継ぎトークン | Yappliから画面遷移時に受け取った引き継ぎトークン |
ID * | String | YappliCRMの顧客ID | 会員連携時にお客様側でも保管済みであること |
レスポンス(成功時)
HTTP STATUS CODE: 200
Property | Type | Description |
---|---|---|
status | Boolean | true or false |
レスポンス(失敗時)
HTTP Status Code | error | error_description |
---|---|---|
400 | Bad Request | 要求が無効です。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |
401 | Unauthorized | 認証に失敗しました。 ※エラーを説明するJSON文字列がレスポンスBODYに含まれています。 |