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に含まれています。