承諾
この段階において、弊社は、貴方様がBonderのパートナーであり、弊社のサポートチームにより、ユーザーネーム、パスワードならびにAPIの顧客名が貴方様に提供されたことを仮定します。
curl -k -X POST \
-H \
-H \
-d '{
"username" : "USERNAME",
"password" : "PASSWORD",
"client" : "API_CLIENT_NAME",
"rpt" : "10000"
}' \
"https:// {{API_URL}} /auth" \
username
string
APIのユーザーネーム
password
string
APIのパスワード
rpt
integer
tokenあたりの要求の数 (RPT - Requests Per Token) rpt<1000, 100000>
成功
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {
"token" : "access_token",
"expire" : "1610938413"
}
}
expire
integer
tokenの終了日のタイムスタンプ expire=time()+3600
expireおよびrptの可変数は、競争関係にあります。従って、最初に目標数値に達した側が、tokenを無効にします。
失敗
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
無効のパスワード、無効の電子メールアドレスあるいはアカウントが削除されました。あるいは、実際には存在しません
SERVER_OFFLINE_ERROR
サーバーは、継続中のメンテナンス作業のためにオフラインです。
利用可能なソフトウェアの更新
AUTH_SERVICE_OFFLINE_ERROR
確認サービスは、全ユーザーに対して一時的に利用不可能です。
利用可能なソフトウェアの更新
API_SERVICE_OFFLINE_ERROR
APIサービスは、一時的に利用不可能です。
利用可能なソフトウェアの更新
ACCOUNT_INACTIVE_ERROR
APIアカウントは、一時停止されています。あるいは、その削除が予定されています
データ構造
他のコマンドに移動する以前に、弊社は、Bonderによって利用されているデータ構造について貴方様に説明します。
データの種類
翻訳可能な可変数
各言語版で個別に保存されなければならないものとします
翻訳不可能な可変数
個別表の中で保存され、各言語版で名刺に対して追加されるものとします
事例:
emailあるいはmobileなど、翻訳不可能な数値を変更する場合、全ての名刺の言語版が更新されるものとします。
名刺のモード
貴方様の顧客が自然人ではなく、企業である可能性があるという事実のために事例:愉快な歯科サービス、弊社は、最高レベルの可変数を作成しました。– displayName。
!empty(displayName)の場合、当該名刺はビジネスモードで運用されます。これに加えて、当該名刺が作成される際、name lastname positionの可変数は省略されるものとします(しかしながら、サーバーは、その数値を依然として維持します)。
業務用
if (!empty(displayName)) {
businessMode = TRUE
}
パーソナル用
if (empty(displayName)) {
businessMode = FALSE
}
"en" : {
"displayName" : "Non-scary-dental-services",
"name" : "John",
"lastname" : Kowalski",
"position" : "CEO"
},
"pl" : {
"displayName" : "",
"name" : "Jan",
"lastname" : "Kowalski",
"position" : "Prezes"
},
"ru" : {
"displayName" : "",
"name" : "",
"lastname" : "Ковалский",
"position" : "Директор"
}
可変数
各可変数は、サーバーに対して送信される以前において、仮有効化されなければならないものとします。送信済みの可変数の数値が、割り当てられる正規表現に一致しない場合、サーバーはnullの状態で数値を割り当てるものとします。これにもかかわらず、サーバーは、データ保存について、success=trueの肯定的な対応を送信します。
name
string
名前
-
パーソナルモードによる名刺の作成に必要とします
-
z保存され、ビジネスモードで無視されました
-
/^[a-zA-Z0-9]{2,25}$/
lastname
string
名字
-
保存され、ビジネスモードで無視されました
-
保存され、ビジネスモードで無視されました
-
/^[a-zA-Z0-9]{32,128}$/
displayName
string
表示名
-
ビジネスモードによる名刺の作成に必要とします
-
/^[a-zA-Z0-9]{32,128}$/
position
string
役職
-
保存され、ビジネスモードで無視されました
-
/^[a-zA-Z0-9]{32,128}$/
keywords
string
一定の個人あるいは企業を最適に表示するキーワード
-
セパレーターとしてのコンマ
-
/^[a-zA-Z0-9]{1,150}$/
thumbnail
string
モバイルデバイス上で表示されるユーザーの写真またはロゴ
-
base64でエンコード化されたイメージ
-
固定サイズ:300px x 300px
-
最大ファイルサイズ:50kB
phoneA
string
電話番号
-
先行ゼロおよび数字ではない文字は、削除されます
-
顧客は、国番号を提供しなければならないものとします
-
弊社は、最初に「+」を追加します
-
/^[a-zA-Z0-9]{32,128}$/
mobileA
string
携帯電話番号
-
先行ゼロおよび数字ではない文字は、削除されます
-
顧客は、国番号を提供しなければならないものとします
-
弊社は、最初に「+」を追加します
-
/^[a-zA-Z0-9]{32,128}$/
faxA
string
ファクス番号
-
先行ゼロおよび数字ではない文字は、削除されます
-
顧客は、国番号を提供しなければならないものとします
-
弊社は、最初に「+」を追加します
-
/^[a-zA-Z0-9]{32,128}$/
パラメーター
langStatus
integer
0 = off, 1 = on
データを削除することなく、言語版を利用可能な状態にします/利用不可能な状態にします
usePhoto
integer
0 = off, 1 = on
データを削除することなく、写真を利用可能な状態にします/利用不可能な状態にします
cardStatus
integer
0 = off, 1 = on
データを削除することなく、名刺を利用可能な状態にします/利用不可能な状態にします
言語サポート
Bonderにより、そのユーザーは、60以上の言語版で名刺を作成することが可能です。これに加えて、この主要な機能は、APIのユーザー等に対して利用可能とされます。
便宜上の目的として、弊社は、Bonderによってサポートされた翻訳版の言語コードを伴い、レポジトリを準備しました。貴方様は、アプリケーションの作成の際、レポジトリを利用することが可能です。
弊社は、言語版の管理を目的として、lang可変数を利用します。貴方様は、言語版を追加、編集ならびに削除するために、この可変数を利用します。
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories \
成功
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : [local, lang]
}
}
lang
string
言語コードは、ISO 639-1:2002に準拠しています
local
string
現地の言語の名称リストについての事例: en => English, ru => Русский
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : ["local", "en", "ru", "pl", "zh"]
}
}
必要なリソースをダウンロードするために、langListから数値を利用します。対応は、常にキー:数値の組み合わせの形態に従うものとします。
現地の言語の名称のリストをダウンロードします
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories/local" \
成功
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"pl" : "Polski",
"en" : "English",
"ru" : "Русский",
...,
"キー" : "数値"
}
}
翻訳された言語の名称をダウンロードします
"https:// {{API_URL}} /repositories/ru" \
"https:// {{API_URL}} /repositories/en" \
弊社が、弊社のリポジトリの中で貴方様が探しているリソースを有さない場合、その旨についてサポートチームに対して通告してください。弊社は、できる限り迅速にその欠陥を補います。
貴方様が弊社の対応を待機できない場合、弊社は、利用可能な言語コードのダウンロード、更に貴方様自身による翻訳の作成を提案します。
失敗
HTTP/1.1 200OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
無効のパスワードまたは電子メールアドレスです。または、無効のtokenです
その他
承諾の条項で、エラーコードを参照してください
新しいプロフィールの作成
curl -k -X POST \
-H \
-H \
-H \
"https:// {{API_URL}} /users" \
成功
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"cardId" : string,
"cardQrc" : string,
"cardAddr" : string (url)
}
}
cardId
string
作成済みのプロフィールについての名刺の識別因子
-
大文字と小文字との区別
-
/^[a-zA-Z0-9]{32,128}$/
cardAddr
string
作成済みの名刺に関するアドレス
cardQrc
string
base64でエンコード化された名刺のアドレスに関するQRコード
cardId cardQrc cardAddrの可変数は、貴方様のサーバー上でローカル保存されなければならないとともに、一定のプロフィールに対して割り当てられなければならないものとします。
cardIdの可変数は、APIを伴う正確な連絡のために必要であるものとします。
失敗
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
無効のパスワードまたは電子メールアドレスです。または、無効のtokenです
PROFILE_LIMIT_REACHED_ERROR
プロフィールの制限に達しました
-
勧告:サポートチームに連絡し、アカウント設定を変更してください
その他
承諾の条項で、エラーコードを参照してください
データの保存
-
弊社は、修正済みの要請を利用できないものとします。更新が必要であるデータに限定して送信してください。
-
新しいプロフィールを作成するために、PUTコマンドを利用してください。
-
translatableの欄の中で、langキーを利用して、言語を追加してください。
-
顧客が言語版の特定を希望しない場合、世界共通を意味するlang=unに設定してください。
-
1回の要請(更新、追加)の範囲内で、最高で5つの言語版まで修正します。5つ以上の言語版は、無視されるものとします。
curl -k -X
PUT \
-H \
-H \
-H \
-H \
-d '
{
"settings" : {
"cardStatus" : "0",
"usePhoto" : "1"
},
"translatable" : {
"pl" : {
"name" : "John",
"lastname" : "Connor",
"position" : "Dyrektor Zarządzający"
},
"en" : {
"name" : "John",
"lastname" : "Connor",
"position" : "Managing Director",
"displayName" : "The Great John Connor",
"keywords" : "steel, steel pipe, tubular products"
},
"es" : {
"langStatus" : "1",
"name" : "John",
"position" : "Director Ejecutivo"
},
"pt" : {
"langStatus" : "1",
"name" : "John",
"lastname" : "Connor",
},
"ru" : {
"langStatus" : "1",
"name" : "",
"lastname" : "Коннор",
},
"zh" : {
"position" : "首席执行官"
}
},
"non-translatable" : {
"thumbnail" : "base64_encoded_image",
"mobileA" : "123456789",
"emailB" : "[email protected]"
}
}
' \
"https:// {{API_URL}} /users/{{card_id}} \
成功
HTTP/1.1 200 OK
{
"success": true,
"errors" : [エラーコード],
"result" : {}
}
success=trueの返却にもかかわらず、当該サーバーは、貴方様が要請に対してプロフィール写真を追加する場合、エラーとして報告する場合があります。
THUMBNAIL_REJECTED_ERROR
データは保存されましたが、送信済みのイメージがサーバーによって拒否されました
失敗
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
無効のパスワードまたは電子メールアドレスです。または、無効のtokenです
CARD_ID_NOT_FOUND_ERROR
残念ながら、カード番号、すなわち、
cardIdが実在しません。あるいは、貴方様はこのリソースを修正する承諾を有していません
その他
承諾の条項で、エラーコードを参照してください
設定の修正
status
string
<enable, disable>
名刺のステータスを変更します
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/cardStatus/{{status}}
写真のステータスを変更します
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/usePhoto/{{status}}
言語のステータスを変更します
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/langStatus/{{lang}}/{{status}}
成功
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
失敗
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
全て
データ保存の条項で、エラーコードを参照してください
データをダウンロードします
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
成功
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"translatable" : {
"lang" : {
"langStatus" : "1",
"キー" : "数値"
},
"lang" : {
"langStatus" : "0",
"キー" : "数値"
}
},
"non-translatable" : {
"thumbnail" : "base64_encoded_image",
"キー" : "数値"
},
"settings" : {
"cardStatus" : "1",
"usePhoto" : "1",
"cardQrc" : "base64_encoded_image",
"cardAddr" : "URL",
"usePhoto" : "1"
}
}
失敗
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
無効のパスワードまたは電子メールアドレスです。または、無効のtokenです
CARD_ID_NOT_FOUND_ERROR
残念ながら、カード番号、すなわち、
cardIdが実在しません。あるいは、貴方様はこのリソースを修正する承諾を有していません
その他
承諾の条項で、エラーコードを参照してください
データを削除します
言語を削除します
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}/{{lang}}" \
プロフィールを削除します
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
成功
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
失敗
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [エラーコード],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
無効のパスワードまたは電子メールアドレスです。または、無効のtokenです
CARD_ID_NOT_FOUND_ERROR
残念ながら、カード番号、すなわち、
cardIdが実在しません。あるいは、貴方様はこのリソースを修正する承諾を有していません
その他
承諾の条項で、エラーコードを参照してください