Bony
Protokół komunikacyjny dla bonów.
Używane metody Rest, kontrakt: Comarch.B2.DataService.Contracts.dll
VoucherEntity[] GetInternalVouchers(string numer)
Metoda powinna zwracać aktualną listę bonów zgodnych ze wskazanym numerem (zwykle będzie to jeden bon).
VoucherResult UpdateVouchers(VoucherEntity[] vouchers);
Metoda powinna wykonać akcję dodania/aktywacji/deaktywacji/aktualizacji poszczególnych bonów przekazanych jako parametr.
To jaka czynność ma być zrealizowana dla konkretnych bonów będzie zależało od danych zawartych w encji VoucherEntity. Istotne dane przesyłane przez POS:
VoucherEntity |
|
Id : int | Id bonu (0 jeżeli ma być utworzony) |
TypeId : VoucherKindEnum | Typ bonu
(Unknown, InternalSold, InternalReleased, External, GiftCard) |
SortId : int | Rodzaj bonu |
CurrencyId : int | Waluta bonu |
IsActive : bool | Stan bonu
True – bon wewnętrzny (sprzedany, wydany, karta) do wykorzystania (deaktywacji) lub w przypadku karty do aktualizacji stanu Amount |
Number : string | Numer bonu |
Amount : decimal | Wartość bonu |
Spodziewana akcja w zależności od konfiguracji parametrów VoucherEntity przesłanych do usługi bonów (DataService) za pomocą metody UpdateVouchers:
Id | SortId | IsActive | Akcja |
– | External | – | Wykorzystanie bonu zewnętrznego
Zapis na bazę jako użyty i nieaktywny na wartość określoną w Amount z walutą CurrencyId oraz numerem Number |
0 | InternalReleased | – | Wygenerowanie bonu wewnętrznego wydanego
Zapis na bazę jako aktywny i nieużyty bon na wartość Amount o numerze Number, walucie CurrencyId |
>0 | InternalReleased
InternalSold GiftCard |
true | Wykorzystanie bonu lub aktualizacja wartości karty podarunkowej
|
>0 | InternalReleased | false | Aktywacja istniejącego bonu wewnętrznie wydanego |
Bool IsExternalVoucherExists(string numer, int sortId)
Metoda powinna sprawdzić czy istnieje już w bazie bon zewnętrzny o wskazanym numerze i rodzaju.