GMU POS
Giriş
GMU Pos Android Sdk ve GMU-GMU Pos Backoffice kullanımları için yapılması gereken adımlar aşağıda anlatılmıştır. Herhangi bir sorunuz olması durumunda Protein ekibi ile iletişime geçebilirsiniz.
Yararlı Linkler
Onboarding Adımları
Protein ekibine ait Auth Server sistemi kullanılacaksa, Protein ekibi tarafından iletilecek olan veriler ile geçerli bir JWT Token alınır. Fakat kendi Auth sistemini kullananlar için, kendi ortamlarında kullanmak üzere geçerli bir JWT Token üretmeleri gerekir.
Alınan JWT Token ile birlikte Enterprise oluşturma adımı takip edilir.
->
POST-/administrative/enterprise
endpointi ile Enterprise oluşturma adımı gerçekleştirilir.- İstek atılırken eklenen request body içerisinde, manager kısmında yer alan parametreler ile, oluşturulan bu enterprise verisine ait bir kullanıcı oluşturularak Backoffice ortamına giriş sağlanır.
- Response olarak ise işlemin başarılı olmasının ardından bir Enterprise Id verisi dönmektedir.
Enterprise oluşturma adımının ardından, sistemi aktif hale getirebilmek için Branch oluşturma adımı takip edilir.
->
POST-/administrative/enterprise/{enterpriseId}/branch
endpointi ile branch oluşturma adımı gerçekleştirilir.- İstek atılırken query parameter olarak Branch'in oluşturulacağı Enterprise Id verilir.
- Response kısmında ise işlemin başarılı olmasının ardından Branch Id verisi dönmektedir.
Branch verisi de oluşturulduktan sonra Device oluşturma adımı takip edilir.
->
POST-/administrative/enterprise/{enterpriseId}/branch/{branchId}/device
endpointi ile Device oluşturma adımı gerçekleştirilir.- İstek atılırken query parameter olarak Device'ın oluşturulacağı Enterprise Id ve Branch Id verilir. Request body içerisinde yer alan device serialNumber parametresi, Android Sdk login methodunda username olarak ve setGmuParameters methodunda deviceId olarak kullanılacaktır.
- Response kısmında ise işlemin başarılı olmasının ardından Gmu Device Id verisi dönmektedir.
Oluşturulan Device'ın sistem içerisinde tanımlanan şifre vs gibi bilgileri alınır.
->
GET-/administrative/enterprise/{enterpriseId}/branch/{branchId}/device/info
endpointi ile Device bilgileri alınır.- İstek atılırken query parameter olarak Device'ın oluşturuldupu Enterprise Id ve Branch Id ile Device'a ait Serial Number ve Gmu Device Id parametreleri verilir.
- Response kısmında securityInfo parametresi ilgili cihaz için şifre verisini vermektedir. Bu veri Android Sdk login methodunda password olarak kullanılacaktır.
Android Sdk'yı kullanmaya başlamadan önceki son adım olarak, GMU backende App Version tanımlama işlemi yapılmalıdır.
->
POST /boapi/v2/Auth/Authorize
endpointinden Protein ekibi tarafından iletilecek admin kullanıcı bilgileri ile JWT token alınır.->
POST /boapi/v2/AppVersionInfo
endpointine çağrı yapılır. Request body parametre açıklamaları:appVersion = 1.0.0, appType = 2 verilmelidir. Bu değerler sabittir farklı değerler girilmemelidir.
appUniqueId ve appPublicKey parametrelerine, Android Sdk'yı kullanacağınız uygulamanın applicationId'si verilmelidir.
htmlContent parametresi ilgili sürümün html formatında notlarını içerir.
Örnek request:
{
"appVersion": "1.0.0",
"appPublicKey": "com.protein.poc.app",
"appUniqueId": "com.protein.poc.app",
"releaseDate": "2022-11-22T06:11:23.362Z",
"approvedBy": "Fatih Çelik",
"appType": 2,
"htmlContent": "<html><body>Notlar</body></html>"
}
Yukarıdaki adımlar ile, Android Sdk methodlarından
login
vesetGmuParameters
içinde verilmesi gereken önemli parametreler elde edildi.login
->username
4.adımda,password
5.adımda oluşturuldu.setGmuParameters
->deviceId
4.adımda,applicationId
6.adımda oluşturuldu.
Detaylı Sdk method açıklamaları için GMU Pos Module Sample Dökümantasyonunu inceleyebilirsiniz.
Onboarding Servislerinde Kullanılan Parametreler ve Açıklamaları
Onboarding akışını yürütürken ihtiyaç duyulan ilgili servisler içindeki parametreler ve açıklamaları aşağıda belirtilmiştir.
Servis | Değişken | Tür | Açıklama | Min | Max | Zorunluluk |
---|---|---|---|---|---|---|
Enterprise | name | string | İşletme adı | 2 | 200 | Zorunlu |
phoneNumber | string | İşletme telefon numarası | 10 | 13 | Opsiyonel | |
address | string | İşletme adresi | 2 | 250 | Opsiyonel | |
firstName | string | Yönetici adı | 2 | 50 | Zorunlu | |
lastName | string | Yönetici soyadı | 2 | 50 | Zorunlu | |
phoneNumber | string | Yönetici telefon numarası | 10 | 13 | Opsiyonel | |
password | string | Yönetici şifresi | - | - | Zorunlu | |
integrationId | string | Eğer işletme bir entegrasyon vasıtası ile açılmışsa işletmeyi açan entegrasyondaki Id'si | 0 | 10 | Opsiyonel | |
Branch | name | string | Şube adı | 2 | 200 | Zorunlu |
merchantNumber | string | İşletme numarası | 1 | 50 | Zorunlu | |
merchantCategoryCode | string | İşletme kategori kodu | - | - | Opsiyonel | |
emailServiceProductId | integer | E-Posta gönderim servisi plugin Id | - | - | Opsiyonel | |
taxOffice | string | Vergi dairesi | 2 | 100 | Zorunlu | |
taxNo | string | VKN veya TCKN bilgisi | 10 | 11 | Zorunlu | |
tradeRegisterNo | string | Ticaret sicil numarası | 0 | 12 | Opsiyonel (Ticaret Sicil Numarası veya MERSIS alanlarından birinin doldurulması zorunludur | |
mersisNo | string | MERSIS numarası | 0 | 16 | Opsiyonel (Ticaret Sicil Numarası veya MERSIS alanlarından birinin doldurulması zorunludur | |
website | string | Websitesi | 2 | 150 | Opsiyonel | |
string | E-posta adresi | 1 | 320 | Opsiyonel | ||
phoneNumber | string | Telefon numarası | 10 | 13 | Opsiyonel | |
fax | string | Fax numarası | 10 | 13 | Opsiyonel | |
country | string | Ülke | 3 | 30 | Zorunlu | |
city | string | Şehir | 3 | 30 | Zorunlu | |
district | string | İlçe | 2 | 50 | Opsiyonel | |
streetName | string | Sokak | 2 | 250 | Opsiyonel | |
buildingNumber | string | Bina numarası | 2 | 50 | Opsiyonel | |
buildingName | string | Apartman | 2 | 50 | Opsiyonel | |
flatNumber | string | Daire numarası | 1 | 5 | Opsiyonel | |
postalCode | string | Posta Kodu | 0 | 5 | Opsiyonel | |
type | string | Belge tipi (EInvoice, EArchive, Esmm, NonFinancialSlip) | - | - | Opsiyonel | |
gbAlias | string | Gönderici birim etiketi | 0 | 128 | Opsiyonel | |
id | integer | Entegratör Id | - | - | Opsiyonel | |
username | string | Entegratör kullanıcı adı | - | - | Opsiyonel | |
password | string | Entegratör şifresi | - | - | Opsiyonel | |
id | integer | Entegratör Id | - | - | Opsiyonel | |
additionalProp | string | Entegratör ek bilgi (KASA, SUBE vb.) | - | - | Opsiyonel | |
xsltFileBase64 | string | E-belgeler için dükkana özel fatura xslt şablonu. Verilmezse varsayılan şablon kullanılır | - | - | Opsiyonel | |
xsltLogoFileBase64 | string | E-belgeler için varsa dükkana özel fatura logosu | - | - | Opsiyonel | |
xsltFooterFileBase64 | string | E-belgeler için varsa dükkana özel fatura altında yer alacak html şablon | - | - | Opsiyonel | |
xsltSignatureFileBase64 | string | E-Belgeler için varsa firmaya özel ıslak imza (resim olarak) | - | - | Opsiyonel | |
integrationID | string | Eğer şube bir entegrasyon vasıtası ile açılmışsa şubeyi açan entegrasyondaki Id'si | 0 | 16 | Opsiyonel | |
orderCancellationTime | integer | Açık Çek Parametresi. CancelChecksDailyJob aktif ise ve şube için bu değer girilmiş ise girili değer günü kadar açık kalmış çekler job tarafından "Canceled" olarak kapatılır | - | - | Opsiyonel | |
shouldContinueLastOpenOrder | boolean | Açık işlem izni (default: false) | - | - | Zorunlu | |
cashButtonName | string | Nakit butonu ismi | - | - | Opsiyonel | |
creditCardButtonName | string | Kredi kartı butonu ismi butonu ismi | - | - | Opsiyonel | |
simpraQuickSetup | string | Şubenin bağlı olduğu bayinin SimpraQuick projesi entegrasyonu var ise SimpraQuick projesinin beklediği alanları | - | - | - | |
terminalId | string | Terminal Id | - | - | Şubenin bağlı olduğu bayinin SimpraQuick projesi entegrasyonu var ise zorunludur | |
paymentProviderId | string | Ödeme sağlayıcı Id | - | - | Şubenin bağlı olduğu bayinin SimpraQuick projesi entegrasyonu var ise zorunludur | |
paymentProviderApplicationId | string | Ödeme sağlayıcı application id | - | - | Şubenin bağlı olduğu bayinin SimpraQuick projesi entegrasyonu var ise zorunludur | |
additionalProp | string | Ödeme sağlayıcı ek bilgi | - | - | Opsiyonel | |
accommodationTaxEnabled | boolean | Konaklama vergisi | - | - | Opsiyonel | |
commercialInvoiceEnabled | boolean | Ticari e-fatura | - | - | Opsiyonel | |
Device | serialNumber | string | Cihaz seri numarası | 1 | 64 | Zorunlu |
terminalNumber | string | Terminal numarası | - | - | Opsiyonel | |
description | string | Cihaz ismi | - | - | Opsiyonel |