Yetkilendirme
Bu aşamada, Bonder’in ortağı olduğunuzu ve Kullanıcı adı, Parola ve API İstemcisi adının Destekleme Bölümümüz tarafından tarafınıza iletildiğini varsaymaktayız.
curl -k -X POST \
-H \
-H \
-d '{
"username" : "USERNAME",
"password" : "PASSWORD",
"client" : "API_CLIENT_NAME",
"rpt" : "10000"
}' \
"https:// {{API_URL}} /auth" \
Yetkilendirme parametreleri
username
string
API kullanıcısının adı
password
string
API parolası
client
string
API istemcisi adı
rpt
integer
token (RPT - Requests Per Token) başına düşen işlem sayısı rpt<1000, 100000>
Başarı
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {
"token" : "access_token",
"expire" : "1610936542"
}
}
expire
integer
tokena’nin sona erme tarihini içeren zaman tanımlayıcı expire=time()+3600
expire ve rpt indirilmektedir. Nihai değere ulaşacak ilk değişken token’i etkisizleştirecek.
Başarısızlık
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Hatalı Parola, hatalı e-posta veya Hesap silindi veya mevcut değil
SERVER_OFFLINE_ERROR
Devam etmekte bakım nedeniyle sunucu devre dışı.
Yazılımın güncellenmesi mümkün
-
Tavsiye: 45-60 dk. sonra bir daha deneyin
AUTH_SERVICE_OFFLINE_ERROR
Tüm Kullanıcılar Yetkilendirme hizmetinden geçici olarak yararlanamamaktadır.
Yazılımın güncellenmesi mümkün
-
Tavsiye: 45-60 dk. sonra bir daha deneyin
API_SERVICE_OFFLINE_ERROR
API hizmetine geçici olarak erişilemez.
Yazılımın güncellenmesi mümkün
-
Tavsiye: 45-60 dk. sonra bir daha deneyin
ACCOUNT_INACTIVE_ERROR
API Hesabı asılmış veya silinecek
-
Tavsiyeler: Destekleme Bölümü ile irtibata geçin
INTERNAL_SERVER_ERROR
İç sunucu hatası
-
Tavsiye: denemeyi yenileyin
DATABASE_ERROR
Veri tabanına bağlantı hatası
-
Tavsiye: denemeyi yenileyin
Veri yapısı
Diğer komutları açıklamaya geçmeden önce Bonder tarafından kullanılan verilerin yapısını size anlatacağız.
Veri tipleri
çok dilli
her dilde ayrı olarak kaydedilmeli
çevrilmez
ayrı tabloda bulundurularak, Kartvizite her dilde eklenir
Örneğin:
Çevrilmez tipi email veya mobile değerleri değiştirilirse, Kartvizitin tüm dil versiyonları güncellenecek.
Kartvizit modları
Müşterinizin kişi değil, şirket olabildiği (örn. Tamamen-korkutmayan-dişçilik-hizmetleri) için displayName.en üst düzey değişkenini oluşturduk.
Eğer !empty(displayName), Kartvizit İş modunda etkin olacak, name lastname position değişkenleri Kartvizitin oluşturulması sırasında göz önüne alınmayacak (buna rağmen sunucuda ilgili değerler korunacak).
iş
if (!empty(displayName)) {
businessMode = TRUE
}
şahsi
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" : "Директор"
}
Değişkenler
Sunucuya iletilmeden önce her değişken ön olarak doğrulanmalıdır. İletilen değişken değerinin, kendisine bağlı düzenli ifadeye uygun olmaması halinde, sunucu, buna null bağlayacak ve buna rağmen verilerin kaydedilmesi konusundaki success=true cevabını oluşturacak.
Ad
Tip
Çok dilli
Açıklama
name
string
ad
-
Kartvizitin şahsi modda oluşturulması için gereken değişken
-
iş modunda kaydedilip de yoksayılan değişken
-
/^[a-zA-Z0-9]{2,25}$/
lastname
string
soyadı
-
iş modunda kaydedilip de yoksayılan değişken
-
iş modunda kaydedilip de yoksayılan değişken
-
/^[a-zA-Z0-9]{32,128}$/
displayName
string
görüntülenen ad
-
Kartvizitin iş modunda oluşturulması için gereken değişken
-
/^[a-zA-Z0-9]{32,128}$/
position
string
görev
-
iş modunda kaydedilip de yoksayılan değişken
-
/^[a-zA-Z0-9]{32,128}$/
keywords
string
kişi veya firmayı en iyi şekilde tanımlayan anahtar kelimeler
-
separator işini gören virgül
-
/^[a-zA-Z0-9]{1,150}$/
thumbnail
string
kullanıcının resmi veya mobil cihazda görüntülenen logo
-
base64‘de kaydedilen görüntü
-
sabit boyut 300px x 300px
-
azami dosya büyüklüğü 50kB
phoneA
string
telefon numarası
-
ön sıfırlar ile numerik olmayan imler kesilecek
-
müşteri ülke alan kodunu belirtmelidir
-
“+” işareti önüne tarafımızdan eklenecek
-
/^[a-zA-Z0-9]{32,128}$/
phoneB
string
yukarıdaki gibi
mobileA
string
cep numarası
-
ön sıfırlar ile numerik olmayan imler kesilecek
-
müşteri ülke alan kodunu belirtmelidir
-
“+” işareti önüne tarafımızdan eklenecek
-
/^[a-zA-Z0-9]{32,128}$/
mobileB
string
yukarıdaki gibi
skypeB
string
yukarıdaki gibi
faxA
string
faks numarası
-
ön sıfırlar ile numerik olmayan imler kesilecek
-
müşteri ülke alan kodunu belirtmelidir
-
“+” işareti önüne tarafımızdan eklenecek
-
/^[a-zA-Z0-9]{32,128}$/
faxB
string
yukarıdaki gibi
emailB
string
yukarıdaki gibi
webB
string
yukarıdaki gibi
webC
string
yukarıdaki gibi
parametreler
langStatus
integer
0 = off, 1 = on
Veriler silmeden dil versiyonunu etkinleştirin / etkisizleştirin
usePhoto
integer
0 = off, 1 = on
Resim silmeden resmi etkinleştirin / etkisizleştirin
cardStatus
integer
0 = off, 1 = on
Kartviziti silmeden Kartviziti etkinleştirin / etkisizleştirin
Dil desteği
Bonder Kartvizitlerin 60’ın üzerindeki dil versiyonunda Kullanıcıları tarafından oluşturulmasını sağlar; API kullanıcıları da bu imkandan da yararlanabilirler.
Bonder tarafından desteklenen, çevrilen dil kodlarını içeren ve kendi yazılımınızı hazırlarken kullanabileceğiniz veri havuzlarını sizin için hazırladık.
Dil versiyonlarını yönetmek için lang değişkenini kullanmaktayız. Dil versiyonlarının eklenmesi, düzenlenmesi ve silinmesi için bu değişkeni kullanacaksınız.
-
Komut repositories
-
Talep GET
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories \
Başarı
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : [local, lang]
}
}
lang
string
ISO 639-1:2002’e uygun dil kodu
local
string
diller listesi, örn.: en => English, ru => Русский
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"langList" : ["local", "en", "ru", "pl", "zh"]
}
}
Muhtaç olduğunuz kaynakları indirmek için langList’den değerleri uygulayın. Cevap her zaman anahtar : değer biçiminde gelecek.
Yerli dil adları listesini indirin
-
Komut repositories
-
Talep GET
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /repositories/local" \
Başarı
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"pl" : "Polski",
"en" : "English",
"ru" : "Русский",
...,
"anahtar" : "değer"
}
}
Çevrilen dil adlarını indirin
-
Komut repositories
-
Talep GET
"https:// {{API_URL}} /repositories/ru" \
"https:// {{API_URL}} /repositories/en" \
Veri havuzumuzda istediğiniz kaynaklar mevcut değilse, durumu Destekleme Bölümü’ne bildirin. Mümkün olduğu kadar kısa zamanda eksiklikleri tamamlayacağız.
Cevabımızı bekleyemezseniz, erişilebilir dil kodlarını indirip, tercüme işini yapmanızı tavsiye ederiz.
Başarısızlık
HTTP/1.1 200OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Hatalı Parola veya e-posta veya geçersiz token
-
Tavsiye: yetkilendirmeyi tekrarlayın
RESOURCE_NOT_FOUND_ERROR
Aradığınızı kaynak mevcut değil
-
Tavsiye: iletilen soruyu kontrol edin
diğer hatalar
Yetkilendirme bölümünde HATA-KODU’na bakınız
Yeni Profilin üretilmesi
curl -k -X POST \
-H \
-H \
-H \
"https:// {{API_URL}} /users" \
Başarı
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"cardId" : string,
"cardQrc" : string,
"cardAddr" : string (url)
}
}
cardId
string
oluşturulan Profil ile ilgili Kartvizit numarası
-
harf büyüklüğü göz önüne alınır
-
/^[a-zA-Z0-9]{32,128}$/
cardAddr
string
oluşturulmuş Kartvizitin adresi
cardQrc
string
Kartvizit adresinin base64’de kaydedilen QR kodunun adresi
cardId cardQrc cardAddr değişkenleri sunucunuzda muhafaza edilerek Profile bağlanmış olması gerekir.
cardId değişkeni, API ile doğru iletişim için gereklidir.
Başarısızlık
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Hatalı Parola veya e-posta veya geçersiz token
-
Tavsiye: yetkilendirmeyi tekrarlayın
PROFILE_LIMIT_REACHED_ERROR
Profil limiti tükendi
-
Tavsiye: Hesap Ayarlarının değiştirilmesi için Destekleme Bölümü ile temas edin
diğer hatalar
Yetkilendirme bölümünde HATA-KODU’na bakınız
Veriler kaydetme
-
Katı soru şablonlarını kullanmayız. Ancak güncellenmesi gereken bilgileri iletin.
-
Yeni Profilin üretilmesi için PUT komutunu kullanın.
-
lang anahtarlarını translatable bölümünde kullanarak dil ekleyin.
-
Müşteri dil versiyonunu tanımlamak istemezse, üniversal anlamına gelen lang=un ayarlayın.
-
Bir soruda beş dil versiyonuna kadar modifikasyon yapın (güncelleme, ekleme). 5’den fazla dil versiyonları yoksayılacak.
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}} \
Başarı
HTTP/1.1 200 OK
{
"success": true,
"errors" : [hata-kodu],
"result" : {}
}
success=true mesajına rağmen, soruya profil resmini eklediğinizde hata mesajı sunucudan gelebilir.
THUMBNAIL_REJECTED_ERROR
Bilgiler kaydedildi. Fakat iletilen resim sunucu tarafından reddedildi
-
Tavsiye: resimler üreticinizi kontrol edin
Başarısızlık
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Hatalı Parola veya e-posta veya geçersiz token
-
Tavsiye: yetkilendirmeyi tekrarlayın
CARD_ID_NOT_FOUND_ERROR
cardId Kartviziti mevcut değil veya bunu değiştirmeye etmeye yetkili değilsiniz
-
Tavsiye: iletilen soruyu kontrol edin
diğer hatalar
Yetkilendirme bölümünde HATA-KODU’na bakınız
Ayarların modifikasyonu
status
string
<enable, disable>
Kartvizit durumunu değiştirme
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/cardStatus/{{status}}
Resim durumunu değiştirme
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/usePhoto/{{status}}
Dil durumunu değiştirme
curl -k -X PUT \
-H \
-H \
-H \
-H \
https:// {{API_URL}} /users/{{card_id}}/langStatus/{{lang}}/{{status}}
Başarı
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
Başarısızlık
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
tüm hatalar
Veriler Kaydetme bölümünde HATA-KODU’na bakınız
Veriler indirme
curl -k -X GET \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
Başarı
HTTP/1.1 200 OK
{
"success": true,
"errors" : [],
"result" : {
"translatable" : {
"lang" : {
"langStatus" : "1",
"anahtar" : "değer"
},
"lang" : {
"langStatus" : "0",
"anahtar" : "değer"
}
},
"non-translatable" : {
"thumbnail" : "base64_encoded_image",
"anahtar" : "değer"
},
"settings" : {
"cardStatus" : "1",
"usePhoto" : "1",
"cardQrc" : "base64_encoded_image",
"cardAddr" : "URL",
"usePhoto" : "1"
}
}
Başarısızlık
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Hatalı Parola veya e-posta veya geçersiz token
-
Tavsiye: yetkilendirmeyi tekrarlayın
CARD_ID_NOT_FOUND_ERROR
cardId Kartviziti mevcut değil veya bunu değiştirmeye etmeye yetkili değilsiniz
-
Tavsiye: iletilen soruyu kontrol edin
diğer hatalar
Yetkilendirme bölümünde HATA-KODU’na bakınız
Veriler silme
Dil silme
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}/{{lang}}" \
Profil silme
curl -k -X DELETE \
-H \
-H \
-H \
-H \
"https:// {{API_URL}} /users/{{card_id}}" \
Başarı
HTTP/1.1 200 OK
{
"success" : true,
"errors" : [],
"result" : {}
}
Başarısızlık
HTTP/1.1 200 OK
{
"success" : false,
"errors" : [hata-kodu],
"result" : {}
}
INVALID_CREDENTIALS_ERROR
Hatalı Parola veya e-posta veya geçersiz token
-
Tavsiye: yetkilendirmeyi tekrarlayın
CARD_ID_NOT_FOUND_ERROR
cardId Kartviziti mevcut değil veya bunu değiştirmeye etmeye yetkili değilsiniz
-
Tavsiye: iletilen soruyu kontrol edin
diğer hatalar
Yetkilendirme bölümünde HATA-KODU’na bakınız