Autorisierung
Bei dieser Phase gehen wir davon aus, dass Sie ein Bonder-Partner sind und unser Kundenbetreuungsteam Ihnen einen Benutzernamen, ein Passwort und einen API-Kunden-Namen zur Verfügung gestellt hat.
-
Befehl auth
-
Forderung POST
curl -k -X POST \
-H \
-H \
-d '{
"username" : "USERNAME",
"password" : "PASSWORD",
"client" : "API_CLIENT_NAME",
"rpt" : "10000"
}' \
"https:// {{API_URL}} /auth" \
Parameter
Typ
Beschreibung
username
string
API Benutzername
password
string
API Passwort
client
string
API Kundenname
rpt
integer
Anzahl der Forderungen pro Token (RPT - Requests Per Token) rpt<1000, 100000>
Erfolg
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {
"token" : "access_token",
"expire" : "1618245264"
}
}
Parameter
Typ
Beschreibung
expire
integer
Zeitstempel mit dem Ablaufdatum für Token expire=time()+3600
Die Variablen expire und rpt rasen. Die erste, die den Zielwert erreicht, deaktiviert den Token.
Misserfolg
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Falsches Passwort, falsche E-Mail oder falsches Konto wurde gelöscht oder existiert nicht
SERVER_OFFLINE_ERROR
Offline-Server aufgrund laufender Wartungsarbeiten.
Softwareaktualisierung möglich
-
Vorschläge: Versuchen Sie es erneut in 45-60 Minuten
AUTH_SERVICE_OFFLINE_ERROR
Der Autorisierungsdienst ist vorübergehend nicht für alle Benutzer verfügbar.
Softwareaktualisierung möglich
-
Vorschläge: Versuchen Sie es erneut in 45-60 Minuten
API_SERVICE_OFFLINE_ERROR
API-Dienst vorübergehend nicht verfügbar.
Softwareaktualisierung möglich
-
Vorschläge: Versuchen Sie es erneut in 45-60 Minuten
ACCOUNT_INACTIVE_ERROR
API-Konto gesperrt oder zum Löschen vorgesehen
-
Vorschläge: Wenden Sie sich an das Kundenbetreuungsteam
INTERNAL_SERVER_ERROR
Interner Serverfehler
-
Vorschläge: Versuchen Sie es erneut
DATABASE_ERROR
Datenbankverbindungsfehler
-
Vorschläge: Versuchen Sie es erneut
Datenstruktur
Bevor wir zu den anderen Befehlen kommen, zeigen wir Ihnen die von Bonder verwendete Datenstruktur.
Typen von Daten
mehrsprachig
sollten in jeder Sprache separat geschrieben werden
unübersetzbar
werden in einer separaten Tabelle gespeichert und in jeder Sprache der Visitenkarte hinzugefügt
Zum Beispiel:
Wenn Sie den Wert eines unübersetzbaren Typs wie email oder mobile ändern, werden alle Sprachversionen von Visitenkarten aktualisiert.
Vistenkartenmodi
Da Ihr Kunde möglicherweise keine Person, sondern ein Unternehmen ist, z.B. Völlig-unheimliche-zahnärztliche-Leistungen, haben wir eine Variable des höhsten Niveaus von displayName erstellt.
Wenn !empty(displayName), dann funktioniert die Visitenkarte im Businessmodus und die Variablen name lastname position werden beim Generieren der Visitenkarte übersprungen (trotzdem speichert der Server die Werte).
business
if (!empty(displayName)) {
businessMode = TRUE
}
privat
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" : "Директор"
}
Variablen
Jede Variable muss vor dem Senden an den Server vorab validiert werden. Wenn der Wert der gesendeten Variablen nicht mit dem ihr zugewiesenen regulären Ausdruck übereinstimmt, weist der Server ihm einen null zu und gibt dennoch eine positive Antwort success=true beim Speichern der Daten zurück.
Name
Typ
Mehrsprachig
Beschreibung
name
string
Vorname
-
erforderlich, um Visitenkarten im privaten Modus zu generieren
-
im Businessmodus gespeichert und ignoriert
-
/^[a-zA-Z0-9]{2,25}$/
lastname
string
Nachname
-
im Businessmodus gespeichert und ignoriert
-
im Businessmodus gespeichert und ignoriert
-
/^[a-zA-Z0-9]{32,128}$/
displayName
string
Name anzeigen
-
erforderlich, um die Visitenkarte im Businessmodus zu generieren
-
/^[a-zA-Z0-9]{32,128}$/
position
string
Stelle
-
im Businessmodus gespeichert und ignoriert
-
/^[a-zA-Z0-9]{32,128}$/
keywords
string
Schlüsselwörter, die am besten die angegebene Person oder Firma beschreiben
-
Komma als ein Trennzeichen
-
/^[a-zA-Z0-9]{1,150}$/
thumbnail
string
Benutzerfoto oder Logo auf einem mobilen Gerät angezeigt
-
Bild in base64 gespeichert
-
feste Größe 300px x 300px
-
die maximale Dateigröße beträgt 50 KB
phoneA
string
Telefonnummer
-
führende Nullen und nicht numerische Zeichen werden abgeschnitten
-
der Kunde sollte die Landesvorwahl eingeben
-
wir werden am Anfang "+" hinzufügen
-
/^[a-zA-Z0-9]{32,128}$/
mobileA
string
Mobilnummer
-
führende Nullen und nicht numerische Zeichen werden abgeschnitten
-
der Kunde sollte die Landesvorwahl eingeben
-
wir werden am Anfang "+" hinzufügen
-
/^[a-zA-Z0-9]{32,128}$/
faxA
string
Faxnummer
-
führende Nullen und nicht numerische Zeichen werden abgeschnitten
-
der Kunde sollte die Landesvorwahl eingeben
-
wir werden am Anfang "+" hinzufügen
-
/^[a-zA-Z0-9]{32,128}$/
Parameter
Variable
Typ
Beschreibung
langStatus
integer
0 = off, 1 = on
Aktivieren / Deaktivieren Sie die Sprachversion, ohne die Daten zu löschen
usePhoto
integer
0 = off, 1 = on
Aktivieren / Deaktivieren Sie das Foto, ohne es zu löschen
cardStatus
integer
0 = off, 1 = on
Aktivieren / Deaktivieren Sie die Vistenkarte, ohne die zu löschen
Sprachunterstützung
Mit Bonder können Benutzer Visitenkarten in über 60 Sprachen erstellen. Diese Schlüsselfunktionalität steht auch API-Benutzern zur Verfügung.
Für Ihre Bequemlichkeit haben wir Repositories vorbereitet, die übersetzte, von Bonder unterstützte Sprachcodes enthalten, die Sie beim Erstellen Ihrer eigenen Anwendung verwenden können.
Wir verwenden die Variable lang, um Sprachversionen zu verwalten. Sie werden die verwenden, um Sprachversionen hinzuzufügen, zu bearbeiten und zu löschen.
-
Befehl repositories
-
Forderung GET
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories \
Erfolg
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : [local, lang]
}
}
lang
string
Sprachcode gemäß ISO 639-1: 2002
local
string
Liste der Namen der Landessprachen, z.B. en => Englisch, ru => Русский
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : ["local", "en", "ru", "pl", "zh"]
}
}
Verwenden Sie den Wert aus langList, um die benötigten Ressourcen herunterzuladen. Die Antwort wird immer in Form von Paaren Schlüssel : Wert kommen.
Laden Sie eine Liste der Namen der Landessprachen herunter
-
Befehl repositories
-
Forderung GET
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories/local" \
Erfolg
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"pl" : "Polski",
"en" : "English",
"ru" : "Русский",
...,
"Schlüssel" : "Wert"
}
}
Laden Sie übersetzte Sprachnamen herunter
-
Befehl repositories
-
Forderung GET
"https:// {{API_URL}} /repositories/ru" \
"https:// {{API_URL}} /repositories/en" \
Wenn die Repositories nicht über die gesuchte Ressource verfügen, informieren Sie bitte das Kundenbetreuungsteam. Wir werden die Lücken so schnell wie möglich schließen.
Wenn Sie nicht auf unsere Antwort warten können, empfehlen wir Ihnen, die verfügbaren Sprachcodes herunterzuladen und Ihre eigenen Übersetzungen zu erstellen.
Misserfolg
HTTP/1.1 200OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Falsches Passwort oder falsche E-Mail oder ungültiges Token
-
Vorschläge: Autorisierung wiederholen
RESOURCE_NOT_FOUND_ERROR
Die gesuchte Ressource existiert nicht
-
Vorschläge: Überprüfen Sie Ihre Anfrage
sonstiges
Siehe FEHLERCODE im Abschnitt Autorisierung
Neues Profil erstellen
-
Befehl users
-
Forderung post
curl -k -X POST \
-H \
-H \
-H \
"https:// {{API_URL}} /users" \
Erfolg
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"cardId" : string,
"cardQrc" : string,
"cardAddr" : string (url)
}
}
Variable
Typ
Beschreibung
cardId
string
Visitenkartennummer des erstellten Profils
-
unterscheidet zwischen Groß- und Kleinschreibung
-
/^[a-zA-Z0-9]{32,128}$/
cardAddr
string
Adresse der erstellten Visitenkarte
cardQrc
string
QR-Code für Visitenkartenadresse in base64 gespeichert
cardId cardQrc cardAddr-Variablen sollten lokal auf Ihrem Server gespeichert und dem Profil zugewiesen werden.
Die Variable cardId ist für die ordnungsgemäße Kommunikation mit der API erforderlich.
Misserfolg
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Falsches Passwort oder falsche E-Mail oder ungültiges Token
-
Vorschläge: Autorisierung wiederholen
PROFILE_LIMIT_REACHED_ERROR
Das Limit von Profilen ist erreicht
-
Vorschläge: Wenden Sie sich an das Kundenbetreuungsteam, um Ihre Kontoeinstellungen zu ändern
sonstiges
Siehe FEHLERCODE im Abschnitt Autorisierung
Daten speichern
-
Wir verwenden keine festen Anfragevorlagen. Senden Sie nur Daten, die aktualisiert werden müssen.
-
Verwenden Sie den Befehl PUT, um ein neues Profil zu erstellen.
-
Fügen Sie eine Sprache mit den Schlüsseln lang im Abschnitt translatable hinzu.
-
Wenn der Kunde die Sprachversion nicht angeben möchte, setzen Sie lang=un, was universal bedeutet.
-
Modifizieren Sie bis zu fünf Sprachen in einer Anfrage (Aktualisierung, Hinzufügung). Sprachversionen über 5 werden ignoriert.
-
Befehl users
-
Forderung 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}} \
Erfolg
HTTP/1.1 200 OK
{
"success": true,
"errors" : [Fehlercode],
"result" : {}
}
Trotz der Rückgabe von success=true meldet der Server möglicherweise einen Fehler, wenn Sie Ihrer Anfrage ein Profilbild hinzufügen.
THUMBNAIL_REJECTED_ERROR
Die Daten wurden gespeichert, aber das gesendete Bild wurde vom Server abgelehnt
-
Vorschläge: Überprüfen Sie Ihren Bildgenerator
Misserfolg
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Falsches Passwort oder falsche E-Mail oder ungültiges Token
-
Vorschläge: Autorisierung wiederholen
CARD_ID_NOT_FOUND_ERROR
Die Visitenkarte
cardId ist nicht vorhanden oder Sie haben keine Berechtigung zum Ändern dieser Ressource
-
Vorschläge: Überprüfen Sie Ihre Anfrage
sonstiges
Siehe FEHLERCODE im Abschnitt Autorisierung
Modifizierung von Einstellungen
Parameter
Typ
Beschreibung
status
string
<enable, disable>
Änderung des Status von Visitenkarten
-
Befehl users
-
Forderung put
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/cardStatus/{{status}}
Änderun des Status von Foto
-
Befehl users
-
Forderung put
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/usePhoto/{{status}}
Änderung des Status von Sprachen
-
Befehl users
-
Forderung put
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/langStatus/{{lang}}/{{status}}
Erfolg
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
Misserfolg
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
alle
Siehe FEHLERCODE im Abschnitt Speichern von Daten
Herunterladen von Daten
-
Befehl users
-
Forderung get
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
Erfolg
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"translatable" : {
"lang" : {
"langStatus" : "1",
"Schlüssel" : "Wert"
},
"lang" : {
"langStatus" : "0",
"Schlüssel" : "Wert"
}
},
"non-translatable" : {
"thumbnail" : "base64_encoded_image",
"Schlüssel" : "Wert"
},
"settings" : {
"cardStatus" : "1",
"usePhoto" : "1",
"cardQrc" : "base64_encoded_image",
"cardAddr" : "URL",
"usePhoto" : "1"
}
}
Misserfolg
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Falsches Passwort oder falsche E-Mail oder ungültiges Token
-
Vorschläge: Autorisierung wiederholen
CARD_ID_NOT_FOUND_ERROR
Die Visitenkarte
cardId ist nicht vorhanden oder Sie haben keine Berechtigung zum Ändern dieser Ressource
-
Vorschläge: Überprüfen Sie Ihre Anfrage
sonstiges
Siehe FEHLERCODE im Abschnitt Autorisierung
Löschen von Daten
Löschen von Sprachen
-
Befehl users
-
Forderung delete
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}/{{lang}}" \
Löschen von Profilen
-
Befehl users
-
Forderung delete
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
Erfolg
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
Misserfolg
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [Fehlercode],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Falsches Passwort oder falsche E-Mail oder ungültiges Token
-
Vorschläge: Autorisierung wiederholen
CARD_ID_NOT_FOUND_ERROR
Die Visitenkarte
cardId ist nicht vorhanden oder Sie haben keine Berechtigung zum Ändern dieser Ressource
-
Vorschläge: Überprüfen Sie Ihre Anfrage
sonstiges
Siehe FEHLERCODE im Abschnitt Autorisierung