Autorisation
À cette étape, nous assumons que vous êtes partenaire de Bonder et notre Département de Support vous a fourni le nom d'Utilisateur, Mot de Passe et le nom de client API.
-
Commande auth
-
Demande POST
curl -k -X POST \
-H \
-H \
-d '{
"username" : "USERNAME",
"password" : "PASSWORD",
"client" : "API_CLIENT_NAME",
"rpt" : "10000"
}' \
"https:// {{API_URL}} /auth" \
Paramètres d'autorisation
Paramètre
Type
Description
username
string
nom d'utilisateur API
password
string
mot de passe API
client
string
nom de client API
rpt
integer
lnombre d'opérations par token (RPT - Requests Per Token) rpt<1000, 100000>
Succès
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {
"token" : "access_token",
"expire" : "1614721377"
}
}
Paramètre
Type
Description
expire
integer
horodatage contenant une date d'expiration de token expire=time()+3600
Les variables expire et rpt font la course. La première qui atteint la valeur cible désactive le token.
Échec
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Mot de Passe invalide, e-mail invalide ou le Compte a été supprimé ou n'existe pas
SERVER_OFFLINE_ERROR
Serveur hors connexion en raison des travaux de maintenance en cours.
Actualisation de logiciel possible
-
Suggestion: essayez de nouveau dans 45-60 min.
AUTH_SERVICE_OFFLINE_ERROR
Service d'autorisation momentanément indisponible pour tous les Utilisateurs.
Actualisation de logiciel possible
-
Suggestion: essayez de nouveau dans 45-60 min.
API_SERVICE_OFFLINE_ERROR
Service API momentanément indisponible.
Actualisation de logiciel possible
-
Suggestion: essayez de nouveau dans 45-60 min.
ACCOUNT_INACTIVE_ERROR
Compte API suspendu ou destiné à être supprimé
-
Suggestion: contact avec le Département de Support
INTERNAL_SERVER_ERROR
Erreur interne du serveur
-
Suggestion: essayez de nouveau
DATABASE_ERROR
Erreur de connexion avec la base de données
-
Suggestion: essayez de nouveau
Structure des données
Avant de s'occuper des autres commandes nous vous expliquerons la structure des données utilisée par Bonder.
Types de données
traduisible
doivent êtres sauvegardées séparemment dans chaque langue
non-traduisible
sont stockées dans un tableau séparé et ajoutées à la Carte de Visite dans chaque langue
Par exemple:
Si vous changez la valeur de type permanent comme email ou mobile, toutes les versions linguistiques de la Carte de Visite seront actualisées.
Modes de Cartes de Visite
Considérant que votre client peut ne pas être une personne mais une entreprise, p. ex. Totalement-non-terribles-services-dentaires, nous avons créé la variable de plus haute niveau - displayName.
Si !empty(displayName), la Carte de Visite marchera au mode business et les variables name lastname position seront omises lors de la création de la Carte de Visite (le serveur stockera les valeurs tout de même).
Modes de Cartes de Visite
business
if (!empty(displayName)) {
businessMode = TRUE
}
personnel
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" : "Директор"
}
Variables
Chaque variable doit être préliminairement validée avant l'envoi au serveur. Si la valeur de la variable envoyée n'est pas conforme à l'expression régulièrequi lui a été assignée, le serveur lui assignera null et lui retournera malgré tout une réponse positive success=true sur la sauvegarde des données.s
Nom
Type
Traduisible
Description
name
string
prénom
-
exigée pour générer une Carte de Visite au mode personnel
-
sauvegardée et ignorée au mode business
-
/^[a-zA-Z0-9]{2,25}$/
lastname
string
nom
-
sauvegardée et ignorée au mode business
-
sauvegardée et ignorée au mode business
-
/^[a-zA-Z0-9]{32,128}$/
displayName
string
nom d'affichage
-
exigée pour générer une Carte de Visite au mode business
-
/^[a-zA-Z0-9]{32,128}$/
position
string
profession
-
sauvegardée et ignorée au mode business
-
/^[a-zA-Z0-9]{32,128}$/
keywords
string
mots-clés qui décrivent le mieux la personne ou l'entreprise
-
virgule comme un séparateur
-
/^[a-zA-Z0-9]{1,150}$/
thumbnail
string
la photo de l'utilisateur ou le logo affiché sur l'appareil mobile
-
photo sauvegardée dans le base64
-
taille fixe 300px x 300 px
-
taille maximale de fichier 50kB
phoneA
string
numéro de téléphone
-
zéro initial et des signes non numériques seront coupés
-
le client doit donner son numéro indicatif du pays
-
nous ajouterons nous-mêmes le «+» au début
-
/^[a-zA-Z0-9]{32,128}$/
phoneB
string
comme ci-dessus
mobileA
string
numéro de portable
-
zéro initial et des signes non numériques seront coupés
-
le client doit donner son numéro indicatif du pays
-
nous ajouterons nous-mêmes le «+» au début
-
/^[a-zA-Z0-9]{32,128}$/
mobileB
string
comme ci-dessus
skypeB
string
comme ci-dessus
faxA
string
numéro de fax
-
zéro initial et des signes non numériques seront coupés
-
le client doit donner son numéro indicatif du pays
-
nous ajouterons nous-mêmes le «+» au début
-
/^[a-zA-Z0-9]{32,128}$/
faxB
string
comme ci-dessus
emailB
string
comme ci-dessus
webB
string
comme ci-dessus
webC
string
comme ci-dessus
addrState
string
adresse – état / province
paramètres
Variable
Type
Description
langStatus
integer
0 = off, 1 = on
Activez / désactivez la version linguistique sans devoir supprimer les données
usePhoto
integer
0 = off, 1 = on
Activez / désactivez la photo sas devoir la supprimer
cardStatus
integer
0 = off, 1 = on
Activez / désactivez la Carte de Visite sans devoir la supprimer
Support linguistique
Bonder permet à ses Utilisateurs de créer les Cartes de Visite dans plus de 60 langues et cette fonctionnalité clé est accessible aussi pour les Utilisateurs API.
Pour votre confort nous avons préparé des référentiels contenant des codes des langues supportées par Bonder que vous pouvez apprendre lors de création de votre propre application.
Pour gérer les versions linguistiques nous utilisons la variable lang. Vous l'utiliserez pour ajouter, éditer et supprimer des versions linguistiques.
-
Commande repositories
-
Demande GET
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories \
Succès
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : [local, lang]
}
}
lang
string
code de langue conforme à ISO 639-1:2002
local
string
liste des noms de langues locaux, p. ex. : en => English, ru => Русский
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : ["local", "en", "ru", "pl", "zh"]
}
}
Utilisez la valeur de langList pour télécharger les ressources dont vous avez besoin. La réponse viendra toujours sous la forme de paire clé : valeur.
Téléchargez la liste des noms de langues locaux
-
Commande repositories
-
Demande GET
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories/local" \
Succès
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"pl" : "Polski",
"en" : "English",
"ru" : "Русский",
...,
"clé" : "valeur"
}
}
Téléchargez des noms traduits de langues
-
Commande repositories
-
Demande GET
"https:// {{API_URL}} /repositories/ru" \
"https:// {{API_URL}} /repositories/en" \
Si nous ne possédons pas la ressource recherchée dans le référentiel, informez-en le Département de Support. Nous compléterons les manques aussi vite que possible.
Si vous ne pouvez pas attendre notre réponse, nous vous suggérons de télécharger des codes de langues accessibles et de préparer vos propres traductions.
Échec
HTTP/1.1 200OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Mot de Passe ou e-mail invalide ou token invalide
-
Suggestion: répétez l'autorisation
RESOURCE_NOT_FOUND_ERROR
Le ressource que vous cherchez n'existe pas
-
Suggestion: vérifiez la requête envoyée
autres
voir CODE-D'ERREUR dans la section Autorisation
Création d'un nouveau Profil
-
Commande users
-
Demande post
curl -k -X POST \
-H \
-H \
-H \
"https:// {{API_URL}} /users" \
Succès
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"cardId" : string,
"cardQrc" : string,
"cardAddr" : string (url)
}
}
Variable
Type
Description
cardId
string
numéro de la Carte de Visite du Profil créé
-
considère la taille des caractères
-
/^[a-zA-Z0-9]{32,128}$/
cardAddr
string
adresse de la Carte de Visite créée
cardQrc
string
code QR d'adresse de la Carte de Visite, codé dans le base64
Les variables cardId cardQrc cardAddr doivent être stockées localement sur votre serveur et assignées au Profil.
La variable cardId est indispensable pour une communication correcte avec API.
Échec
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Mot de Passe ou e-mail invalide ou token invalide
-
Suggestion: répétez l'autorisation
PROFILE_LIMIT_REACHED_ERROR
Limite des Profils épuisée
-
Suggestion: contact avec le Département de Support pour modifier les Paramètres du Compte
autres
voir CODE-D'ERREUR dans la section Autorisation
Sauvegarde de données
-
Nous n'utilisons pas de schémas fixes de requêtes. Envoyez uniquement les données qui nécéssitent une actualisation.
-
Utilisez la commande PUT pour créer un nouveau Profil.
-
Ajoutez une langue en utilisant des clés lang dans la section :SPAN:translatable.
-
Si le client ne veut pas définir de version linguistique, mettez lang=un ce qui veut dire universel.
-
Modifiez jusqu'à cinq langues dans une requete (actualisation, ajout). Les versions linguistiques supplémentaires (au-dessus de 5) seront négligées.
-
Commande users
-
Demande put
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}} \
Succès
HTTP/1.1 200 OK
{
"success": true,
"errors" : [code-d'erreur],
"result" : {}
}
Malgré le retour de success=true le serveur peut reporter une erreur quand vous ajoutez une photo de profil à votre requete.
THUMBNAIL_REJECTED_ERROR
Les données ont été sauvegardées mais l'image chargée a été rejetée par le serveur
-
Suggestion: vérifiez votre générateur d'images
Échec
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Mot de Passe ou e-mail invalide ou token invalide
-
Suggestion: répétez l'autorisation
CARD_ID_NOT_FOUND_ERROR
La Carte de Visite
cardId n'existe pas ou vous n'êtes pas autorisé à modifier cette ressource.
-
Suggestion: vérifiez la requête envoyée
autres
voir CODE-D'ERREUR dans la section Autorisation
Modification des paramètres
Paramètre
Type
Description
status
string
<enable, disable>
Modification du statut de la Carte de Visite
-
Commande users
-
Demande put
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/cardStatus/{{status}}
Modification du statut de la photo
-
Commande users
-
Demande put
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/usePhoto/{{status}}
Modification du statut de la langue
-
Commande users
-
Demande put
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/langStatus/{{lang}}/{{status}}
Succès
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
Échec
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
toutes
voir CODE-D'ERREUR dans la section Sauvegarde des données:/SPAN
Téléchargement des données
-
Commande users
-
Demande get
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
Succès
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"translatable" : {
"lang" : {
"langStatus" : "1",
"clé" : "valeur"
},
"lang" : {
"langStatus" : "0",
"clé" : "valeur"
}
},
"non-translatable" : {
"thumbnail" : "base64_encoded_image",
"clé" : "valeur"
},
"settings" : {
"cardStatus" : "1",
"usePhoto" : "1",
"cardQrc" : "base64_encoded_image",
"cardAddr" : "URL",
"usePhoto" : "1"
}
}
Échec
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Mot de Passe ou e-mail invalide ou token invalide
-
Suggestion: répétez l'autorisation
CARD_ID_NOT_FOUND_ERROR
La Carte de Visite
cardId n'existe pas ou vous n'êtes pas autorisé à modifier cette ressource.
-
Suggestion: vérifiez la requête envoyée
autres
voir CODE-D'ERREUR dans la section Autorisation
Suppression de données
Suppression de langue
-
Commande users
-
Demande delete
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}/{{lang}}" \
Suppression de Profil
-
Commande users
-
Demande delete
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
Succès
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
Échec
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [code-d'erreur],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Mot de Passe ou e-mail invalide ou token invalide
-
Suggestion: répétez l'autorisation
CARD_ID_NOT_FOUND_ERROR
La Carte de Visite
cardId n'existe pas ou vous n'êtes pas autorisé à modifier cette ressource.
-
Suggestion: vérifiez la requête envoyée
autres
voir CODE-D'ERREUR dans la section Autorisation