承諾

この段階において、弊社は、貴方様がBonderのパートナーであり、弊社のサポートチームにより、ユーザーネーム、パスワードならびにAPIの顧客名が貴方様に提供されたことを仮定します。
  • コマンド auth
  • 要請 POST
curl -k -X POST \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
-d '{
  "username" : "USERNAME",
  "password" : "PASSWORD",
  "client" : "API_CLIENT_NAME",
  "rpt" : "10000"
}' \
"https:// {{API_URL}} /auth" \
承諾のパラメーター
パラメーター
種類
説明
username
string
APIのユーザーネーム
password
string
APIのパスワード
client
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" : "1601384176"
  }
}
対応
パラメーター
種類
説明
token
string
貴方様のtoken
expire
integer
tokenの終了日のタイムスタンプ expire=time()+3600
expireおよびrptの可変数は、競争関係にあります。従って、最初に目標数値に達した側が、tokenを無効にします。
失敗 HTTP/1.1 200 OK
{
  "success" : false,
  "errors" : [エラーコード],
  "result" : {}
}
エラーコード
エラー
説明
INVALID_CREDENTIALS_ERROR
無効のパスワード、無効の電子メールアドレスあるいはアカウントが削除されました。あるいは、実際には存在しません
SERVER_OFFLINE_ERROR
サーバーは、継続中のメンテナンス作業のためにオフラインです。
利用可能なソフトウェアの更新
  • 勧告:45分後から60分後に再試行してください
AUTH_SERVICE_OFFLINE_ERROR
確認サービスは、全ユーザーに対して一時的に利用不可能です。
利用可能なソフトウェアの更新
  • 勧告:45分後から60分後に再試行してください
API_SERVICE_OFFLINE_ERROR
APIサービスは、一時的に利用不可能です。
利用可能なソフトウェアの更新
  • 勧告:45分後から60分後に再試行してください
ACCOUNT_INACTIVE_ERROR
APIアカウントは、一時停止されています。あるいは、その削除が予定されています
  • 勧告:サポートチームに連絡してください
INTERNAL_SERVER_ERROR
内部サーバーのエラー
  • 勧告:再試行してください
DATABASE_ERROR
データベースの接続エラー
  • 勧告:再試行してください

データ構造

他のコマンドに移動する以前に、弊社は、Bonderによって利用されているデータ構造について貴方様に説明します。

データの種類

データの種類
種類
説明
翻訳可能な可変数
各言語版で個別に保存されなければならないものとします
翻訳不可能な可変数
個別表の中で保存され、各言語版で名刺に対して追加されるものとします
事例: emailあるいはmobileなど、翻訳不可能な数値を変更する場合、全ての名刺の言語版が更新されるものとします。

名刺のモード

貴方様の顧客が自然人ではなく、企業である可能性があるという事実のために事例:愉快な歯科サービス、弊社は、最高レベルの可変数を作成しました。– displayName !empty(displayName)の場合、当該名刺はビジネスモードで運用されます。これに加えて、当該名刺が作成される際、name lastname positionの可変数は省略されるものとします(しかしながら、サーバーは、その数値を依然として維持します)。
名刺のモード
モード
条件
業務用
if (!empty(displayName)) {
businessMode = TRUE
}
パーソナル用
if (empty(displayName)) {
businessMode = FALSE
}
英語版の場合、displayNameの可変数は、割り当てられる数値を有します。従って、サーバーが当該データを維持します。しかしながら、name lastname positionは、当該名刺が作成される際に無視されるものとします。 "en" : {
  "displayName" : "Non-scary-dental-services",
  "name" : "John",
  "lastname" : Kowalski",
  "position" : "CEO"
},
ポーランド語の言語版では、Jan Kowalski(社長の役職)の名称が表示されます。 "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}$/
company
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}$/
phoneB
string
上記と同様です
mobileA
string
携帯電話番号
  • 先行ゼロおよび数字ではない文字は、削除されます
  • 顧客は、国番号を提供しなければならないものとします
  • 弊社は、最初に「+」を追加します
  • /^[a-zA-Z0-9]{32,128}$/
mobileB
string
上記と同様です
skypeA
string
スカイプのユーザーネーム
  • /^[a-zA-Z0-9]{32,128}$/
skypeB
string
上記と同様です
faxA
string
ファクス番号
  • 先行ゼロおよび数字ではない文字は、削除されます
  • 顧客は、国番号を提供しなければならないものとします
  • 弊社は、最初に「+」を追加します
  • /^[a-zA-Z0-9]{32,128}$/
faxB
string
上記と同様です
emailA
string
電子メール
emailB
string
上記と同様です
webA
string
URL
  • /^[a-zA-Z0-9]{32,128}$/
webB
string
上記と同様です
webC
string
上記と同様です
addrStreet
string
住所‐通り
  • /^[a-zA-Z0-9]{32,128}$/
addrCity
string
住所‐都市
  • /^[a-zA-Z0-9]{32,128}$/
addrState
string
住所‐県/地方
  • /^[a-zA-Z0-9]{32,128}$/
addrZip
string
住所‐郵便番号
  • /^[a-zA-Z0-9]{32,128}$/
addrCountry
string
住所‐国
  • /^[a-zA-Z0-9]{32,128}$/

パラメーター

パラメーター
可変数
種類
説明
langStatus
integer
0 = off, 1 = on
データを削除することなく、言語版を利用可能な状態にします/利用不可能な状態にします
  • default = 0
usePhoto
integer
0 = off, 1 = on
データを削除することなく、写真を利用可能な状態にします/利用不可能な状態にします
  • default = 1
cardStatus
integer
0 = off, 1 = on
データを削除することなく、名刺を利用可能な状態にします/利用不可能な状態にします
  • default = 1

言語サポート

Bonderにより、そのユーザーは、60以上の言語版で名刺を作成することが可能です。これに加えて、この主要な機能は、APIのユーザー等に対して利用可能とされます。 便宜上の目的として、弊社は、Bonderによってサポートされた翻訳版の言語コードを伴い、レポジトリを準備しました。貴方様は、アプリケーションの作成の際、レポジトリを利用することが可能です。 弊社は、言語版の管理を目的として、lang可変数を利用します。貴方様は、言語版を追加、編集ならびに削除するために、この可変数を利用します。
  • コマンド repositories
  • 要請 GET
curl -k -X GET \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"https:// {{API_URL}} /repositories \
成功 HTTP/1.1 200 OK
{
  "success": true,
  "errors" : [],
  "result" : {
    "langList" : [local, lang]
  }
}
langList
数値
種類
説明
lang
string
言語コードは、ISO 639-1:2002に準拠しています
local
string
現地の言語の名称リストについての事例: en => English, ru => Русский
対応の事例 本件のサーバーは、local、英語、ロシア語、ポーランド語、中国語などの利用可能なリソースのリストを返却します。 HTTP/1.1 200 OK
{
  "success": true,
  "errors" : [],
  "result" : {
    "langList" : ["local", "en", "ru", "pl", "zh"]
  }
}
必要なリソースをダウンロードするために、langListから数値を利用します。対応は、常にキー:数値の組み合わせの形態に従うものとします。

現地の言語の名称のリストをダウンロードします

  • コマンド repositories
  • 要請 GET
curl -k -X GET \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"https:// {{API_URL}} /repositories/local" \
成功 HTTP/1.1 200 OK
{
  "success": true,
  "errors" : [],
  "result" : {
    "pl" : "Polski",
    "en" : "English",
    "ru" : "Русский",
    ...,
    "キー" : "数値"
 }
}

翻訳された言語の名称をダウンロードします

  • コマンド repositories
  • 要請 GET
下記の事例に従って、上記の要請を変更します。 "https:// {{API_URL}} /repositories/ru" \
"https:// {{API_URL}} /repositories/en" \
弊社が、弊社のリポジトリの中で貴方様が探しているリソースを有さない場合、その旨についてサポートチームに対して通告してください。弊社は、できる限り迅速にその欠陥を補います。 貴方様が弊社の対応を待機できない場合、弊社は、利用可能な言語コードのダウンロード、更に貴方様自身による翻訳の作成を提案します。
失敗 HTTP/1.1 200OK
{
  "success" : false,
  "errors" : [エラーコード],
  "result" : {}
}
エラーコード
エラー
説明
INVALID_CREDENTIALS_ERROR
無効のパスワードまたは電子メールアドレスです。または、無効のtokenです
  • 勧告:同じ確認の繰り返しです
RESOURCE_NOT_FOUND_ERROR
貴方様が探しているリソースは存在しません
  • 勧告:要請を確認してください
その他
承諾の条項で、エラーコードを参照してください

新しいプロフィールの作成

  • コマンド users
  • 要請 post
curl -k -X POST \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Accept : application/json" \
"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つ以上の言語版は、無視されるものとします。
  • コマンド users
  • 要請 put
curl -k -X PUT \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
-d ' {
cardStatus=0の場合、本件の名刺は利用不可能な状態とされ、ダウンロードすることは不可能です。   "settings" : {
    "cardStatus" : "0",
    "usePhoto" : "1"
  },
  "translatable" : {
langStatusの利用により、言語版を利用可能な状態にする、更に利用不可能な状態にします。     "pl" : {
      "name" : "John",
      "lastname" : "Connor",
      "position" : "Dyrektor Zarządzający"
    },
新しい言語を追加する際、弊社は、初期設定により、langStatus=0に設定します。貴方様は、言語を追加する際、langStatus=1を割り当てることにより、この設定を無視することが可能です。     "en" : {
      "name" : "John",
      "lastname" : "Connor",
      "position" : "Managing Director",
      "displayName" : "The Great John Connor",
      "keywords" : "steel, steel pipe, tubular products"
    },
langStatus=1の設定にもかかわらず、(name!=null && lastname!=null) || displayName!=nullの条件が満たされるまで、一定の言語版はダウンロードの準備ができていません。     "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>

名刺のステータスを変更します

  • コマンド users
  • 要請 put
curl -k -X PUT \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
https:// {{API_URL}} /users/{{card_id}}/cardStatus/{{status}}

写真のステータスを変更します

  • コマンド users
  • 要請 put
curl -k -X PUT \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
https:// {{API_URL}} /users/{{card_id}}/usePhoto/{{status}}

言語のステータスを変更します

  • コマンド users
  • 要請 put
curl -k -X PUT \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
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" : {}
}
エラーコード
エラー
説明
全て
データ保存の条項で、エラーコードを参照してください

データをダウンロードします

  • コマンド users
  • 要請 get
curl -k -X GET \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"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が実在しません。あるいは、貴方様はこのリソースを修正する承諾を有していません
  • 勧告:要請を確認してください
その他
承諾の条項で、エラーコードを参照してください

データを削除します

言語を削除します

  • コマンド users
  • 要請 delete
curl -k -X DELETE \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"https:// {{API_URL}} /users/{{card_id}}/{{lang}}" \

プロフィールを削除します

  • コマンド users
  • 要請 delete
curl -k -X DELETE \
-H "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"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が実在しません。あるいは、貴方様はこのリソースを修正する承諾を有していません
  • 勧告:要請を確認してください
その他
承諾の条項で、エラーコードを参照してください