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 "Content-Type : application/json" \
-H "Accept : application/json" \
-d '{
  "username" : "USERNAME",
  "password" : "PASSWORD",
  "client" : "API_CLIENT_NAME",
  "rpt" : "10000"
}' \
"https:// {{API_URL}} /auth" \
Autorisierungsparameter
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" : "1601425197"
  }
}
Antwort
Parameter
Typ
Beschreibung
token
string
dein Token
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" : {}
}
Fehlercode
Fehler
Beschreibung
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

Typen von Daten
Typ
Beschreibung
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).
Vistenkartenmodi
Modus
Bedingung
business
if (!empty(displayName)) {
businessMode = TRUE
}
privat
if (empty(displayName)) {
businessMode = FALSE
}
In der englischen Version ist der Variablen displayName ein Wert zugewiesen, sodass der Server die Daten speichert. name lastname position wird jedoch beim Generieren von Visitenkarten ignoriert. "en" : {
  "displayName" : "Non-scary-dental-services",
  "name" : "John",
  "lastname" : Kowalski",
  "position" : "CEO"
},
In der polnischen Version wird der Name Jan Kowalski auf dem mobilen Gerät (als Geschaftsführer) angezeigt. "pl" : {
  "displayName" : "",
  "name" : "Jan",
  "lastname" : "Kowalski",
  "position" : "Prezes"
},
Die russische Version steht trotz des Speicherns einiger Daten auf dem Server nicht zum Download zur Verfügung. "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.
Variablen
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}$/
company
string
Firmenname
  • /^[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}$/
phoneB
string
wie oben
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}$/
mobileB
string
wie oben
skypeA
string
Skype-Benutzername
  • /^[a-zA-Z0-9]{32,128}$/
skypeB
string
wie oben
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}$/
faxB
string
wie oben
emailA
string
E-Mail
emailB
string
wie oben
webA
string
URL
  • /^[a-zA-Z0-9]{32,128}$/
webB
string
wie oben
webC
string
wie oben
addrStreet
string
Adresse - Strasse
  • /^[a-zA-Z0-9]{32,128}$/
addrCity
string
Adresse - Stadt
  • /^[a-zA-Z0-9]{32,128}$/
addrState
string
Adresse - Bundesland
  • /^[a-zA-Z0-9]{32,128}$/
addrZip
string
Adresse - Postleitzahl
  • /^[a-zA-Z0-9]{32,128}$/
addrCountry
string
Adresse - Staat
  • /^[a-zA-Z0-9]{32,128}$/

Parameter

Parameter
Variable
Typ
Beschreibung
langStatus
integer
0 = off, 1 = on
Aktivieren / Deaktivieren Sie die Sprachversion, ohne die Daten zu löschen
  • default = 0
usePhoto
integer
0 = off, 1 = on
Aktivieren / Deaktivieren Sie das Foto, ohne es zu löschen
  • default = 1
cardStatus
integer
0 = off, 1 = on
Aktivieren / Deaktivieren Sie die Vistenkarte, ohne die zu löschen
  • default = 1

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 "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"https:// {{API_URL}} /repositories \
Erfolg HTTP/1.1 200 OK
{
  "success": true,
  "errors" : [],
  "result" : {
    "langList" : [local, lang]
  }
}
langList
Wert
Typ
Beschreibung
lang
string
Sprachcode gemäß ISO 639-1: 2002
local
string
Liste der Namen der Landessprachen, z.B. en => Englisch, ru => Русский
Beispielantwort Der Server gibt eine Liste der verfügbaren Ressourcen zurück: local, Englisch, Russisch, Polnisch, Chinesisch 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 "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
"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
Ändern Sie die obige Anfrage gemäß dem folgenden Beispiel: "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" : {}
}
Fehlercode
Fehler
Beschreibung
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 "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Accept : application/json" \
"https:// {{API_URL}} /users" \
Erfolg HTTP/1.1 200 OK
{
  "success": true,
  "errors" : [],
  "result" : {
    "cardId" : string,
    "cardQrc" : string,
    "cardAddr" : string (url)
  }
}
ERGEBNIS DER ANFRAGE
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" : {}
}
Fehlercode
Fehler
Beschreibung
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 "X-Auth-Key : {{access_token}}" \
-H "X-Auth-Email : {{username}}" \
-H "Content-Type : application/json" \
-H "Accept : application/json" \
-d ' {
Wenn cardStatus=0, wird die Visitenkarte deaktiviert und dann kann się nicht mehr heruntergeladen werden.   "settings" : {
    "cardStatus" : "0",
    "usePhoto" : "1"
  },
  "translatable" : {
Verwenden Sie langStatus, um Sprachen zu aktivieren oder zu deaktivieren.     "pl" : {
      "name" : "John",
      "lastname" : "Connor",
      "position" : "Dyrektor Zarządzający"
    },
Beim Hinzufügen einer neuen Sprache setzen wir standardmäßig langStatus=0. Sie können diese Einstellung umgehen, indem Sie beim Hinzufügen einer Sprache langStatus=1 zuweisen.     "en" : {
      "name" : "John",
      "lastname" : "Connor",
      "position" : "Managing Director",
      "displayName" : "The Great John Connor",
      "keywords" : "steel, steel pipe, tubular products"
    },
Trotz der Einstellung langStatus=1 kann die Sprache erst heruntergeladen werden, wenn die Bedingung (name!=null && lastname!=null) || displayName!=null erfüllt ist.     "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.
Fehlercode
Fehler
Beschreibung
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" : {}
}
Fehlercode
Fehler
Beschreibung
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
Parameter
Typ
Beschreibung
status
string
<enable, disable>

Änderung des Status von Visitenkarten

  • Befehl users
  • Forderung 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}}

Änderun des Status von Foto

  • Befehl users
  • Forderung 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}}

Änderung des Status von Sprachen

  • Befehl users
  • Forderung 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}}
Erfolg HTTP/1.1 200 OK
{
  "success" : true,
  "errors" : [],
  "result" : {}
}
Misserfolg HTTP/1.1 200 OK
{
  "success" : false,
  "errors" : [Fehlercode],
  "result" : {}
}
Fehlercode
Fehler
Beschreibung
alle
Siehe FEHLERCODE im Abschnitt Speichern von Daten

Herunterladen von Daten

  • Befehl users
  • Forderung 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}}" \
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" : {}
}
Fehlercode
Fehler
Beschreibung
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 "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}}" \

Löschen von Profilen

  • Befehl users
  • Forderung 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}}" \
Erfolg HTTP/1.1 200 OK
{
  "success" : true,
  "errors" : [],
  "result" : {}
}
Misserfolg HTTP/1.1 200 OK
{
 "success" : false,
 "errors" : [Fehlercode],
 "result" : {}
}
Fehlercode
Fehler
Beschreibung
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