# Softra Rent API - Transkrypcja: Klienci i konta

> ?r?d?o: "Oferta 37 Softra_Rent_API - zaaczni k Specyfikacja_Rent_RESTAPI_1_15.pdf"

6. Utworzenie klienta

Opis: Tworzy obiekt klienta
URL : /customer/add
Typ metody : POST
Nagłówki:
  "Authorization: Bearer [token]"
Parametry JSON Object

Nazwa  Opis pola Typ danych  Wymagalność
name pełna nazwa  klienta String(180)  TAK
address Adres zamieszkania CustomerAddress  TAK
bankAccount Nazwa banku I nr
konta bankowego
CustomerBank  NIE
nip numer nip String(13)  TAK -gdy
isCompany =
true

nipKind rodzaj nip jeden z
elementów
String  NIE  ['krajowy',
'unijny',
'pozaunijny']

nipCountry kraj w formacie ISO  String(2)  NIE
regon numer regon String(12)  NIE
pesel nr PESEL String(11)  TAK* gdy -gdy
isCompany =
false

krs numer krs String(20)  NIE
country Kraj I kod kraju CustomerCountry  NIE

phone nr telefonu
stacjonarnego
String(60)  NIE
email adres email String(50)  NIE
www adres strony www String(60)  NIE
paymentMethod metoda płatności  String(10)  TAK
[ 'GOTÓWKA',
'PRZELEW',
'KARTA PL.' ]

paymentDays ilość dni zapłaty Integer  TAK -gdy
payment
metod =
PRZELEW

notes uwagi String(255)   NIE
phoneMobile telefon komórkowy String(20)  NIE
discountGroup nazwa grupy
rabatowej
String(10)  NIE
isForeign czy klient
zagraniczny
Boolean  NIE [‘T’, ‘N’]
domyślna
wartość ‘N’

isCompany czy klient to firma Boolean  TAK [‘T’, ‘N’]
priceListGroup grup cennikowa
klienta
String(10)  NIE
firstName imię String(20)  TAK* gdy -gdy
isCompany =
false

lastName nazwisko String(30)  TAK* gdy -gdy
isCompany =
false

idCard Dowod osobisty CustomerIdDoc  TAK* gdy -gdy
isCompany =
false

correspAddress Adres
korespondencyjny
CustomerAddress  NIE
birthDate data urodzenia nie
wymagane w
formacie YYYY-MM-
DDTHH24:MI:SS np
2014-10-
10T00:00:00
String  NIE
birthCity miejsce urodzenia String(30)  NIE
creditCard Dane karty
kredytowej
CustomerCreditCard  NIE
passportNo numer paszportu String(20)  TAK* gdy -gdy
isCompany =
false

driveLicence Prawo jazdy CustomerDriveLicence  NIE

groupCode kod grupy klienta String(10)  NIE
account Login I hasło klienta CustomerAccount  TAK
bookKeeping Dane dot.
ksiegowości
CustomerBookKeeping  NIE
skipAccountCreate tworzy klienta z
flagą klient
niezarejestrowany
( nie zostanie
utworzone konto
klienta )
Boolean  NIE [‘T’ ‘N’]
domyślnie ‘N’

emailVerified Zweryfikowany
email
Boolean  TAK
extCustomerId identyfikator klienta
z systemu
zewnętrznego
Integer  NIE

language kod językowy – pl,
en, ru itp
String(2)  NIE

*W przypadku klienta będącego osobą ficzyną (isCompany = false) wymgane uzupełnienie
jednego z pól pesel, passport_no, id_card

CustomerAddress
Nazwa  Opis pola Typ danych
zipCode kod pocztowy String(10)  TAK
city miejscowość String(30)  TAK
street ulica String(60)  TAK
homeNo Nr domu/ mieszkania String(20)  TAK

CustomerBank
Nazwa  Opis pola Typ danych
bankName nazwa banku String(60)  NIE
bankAccountNo numer konta bankowego String(60)  NIE

CustomerCountry
Nazwa  Opis pola Typ danych
countryName nazwa kraju Strnig(40)  NIE
countryCode kod kraju String(2)  NIE

CustomerIdDoc
Nazwa  Opis pola Typ danych
idCardNo nr dowodu osobistego String(20)  TAK* gdy -gdy
isCompany =
false

idCardReleasedBy jednostka wydająca d.o. String(50)  NIE

CustomerCreditCard
Nazwa  Opis pola Typ danych
cardIssuer nazwa karty kredytowej (VISA,
MASTERCARD)
String(20)  NIE
cardNo   numer karty kredytowej (numer
wraz z separatorami)
String(20)  NIE
cardValidTo miesiąc I rok ważdności MM/RR String(5)  NIE

CustomerDriveLicence
Nazwa  Opis pola Typ danych
licenceNo numer prawa jazdy String(20)  NIE

licenceReleasedBy organ wydający prawo jazdy String(50)  NIE
licenceCategory kategoria prawa jazdy String(10)  NIE

CustomerAccount
Nazwa  Opis pola Typ danych
login login do konta String(100)  TAK
password Hasło do konta String(100)  TAK

CustomerBookKeeping
Nazwa  Opis pola Typ danych
name nazwa firmy prowadzącej
księgowość
String(120)  NIE
zipCode kod pocztowy firmy prowadzącej
księgowość
String(10)  NIE
city miejscowość firmy prowadzącej
księgowość
String(30)  NIE
street ulica  firmy prowadzącej
księgowość
String(60)  NIE

Odpowiedź  :   Obiekt typu NewCustomerResponse

Nazwa  Opis pola Typ danych
customerId identyfikator klienta String

7. Pobranie danych klienta
Opis: Pobiera dane klienta dla wskazanego identyfikatora klienta
URL : /customer/item/{id}
Typ metody : GET
Nagłówki:
  "Authorization: Bearer [token]"
Parametry:

Nazwa  Opis pola Typ danych
id identyfikator klienta z
systemu FLOTA
String

Odpowiedź  :   Obiekt typu Customer

Nazwa  Opis pola Typ danych
id Id w systemie Flota String
name pełna nazwa  klienta String(180)
address Adres zamieszkania CustomerAddress
bankAccount Nazwa banku I nr konta
bankowego
CustomerBank
nip numer nip String(13)
nipKind rodzaj nip jeden z
elementów
String
nipCountry kraj w formacie ISO  String(2)
regon numer regon String(12)
pesel nr PESEL String(11)
krs numer krs String(20)
country Kraj I kod kraju CustomerCountry

phone nr telefonu
stacjonarnego
String(60)
email adres email String(50)
www adres strony www String(60)
paymentMethod metoda płatności  String(10)
paymentDays ilość dni zapłaty Integer
notes uwagi String(255)
phoneMobile telefon komórkowy String(20)
discountGroup nazwa grupy rabatowej String(10)
isForeign czy klient zagraniczny Boolean
isCompany czy klient to firma Boolean
priceListGroup grup cennikowa klienta String(10)
firstName imię String(20)
lastName nazwisko String(30)
idCard Dowod osobisty CustomerIdDoc
correspAddress Adres korespondencyjny CustomerAddress
birthDate data urodzenia nie
wymagane w formacie
YYYY-MM-
DDTHH24:MI:SS np
2014-10-10T00:00:00
String
birthCity miejsce urodzenia String(30)
creditCard Dane karty kredytowej CustomerCreditCard
passportNo numer paszportu String(20)

driveLicence Prawo jazdy CustomerDriveLicence

groupCode kod grupy klienta String(10)
account Login I hasło klienta CustomerAccount
bookKeeping Dane dot. ksiegowości CustomerBookKeeping
skipAccountCreate tworzy klienta z flagą
klient  niezarejestrowany
( nie zostanie utworzone
konto klienta )
Boolean
emailVerified Zweryfikowany email Boolean
extCustomerId identyfikator klienta z
systemu zewnętrznego
Integer
language kod językowy – pl, en, ru
itp
String(2)

8. Aktualizacja danych klienta
Opis: Aktualizuje dane istniejącego klienta
URL : /customer/update
Typ metody : POST
Nagłówki:
  "Authorization: Bearer [token]"
Parametry JSON Object

Obiekt typu Customer

Zalecana strategia: pobieramy obiekt istniejącego klienta metodą GetCustomer ,
aktualizujemy jego właściwości i przekazujemy do metody UpdateCustomer

16. Sprawdzenie poświadczeń klienta

Opis: Metoda sprawdza czy dane do logowanie są prawidłowe
URL : /customer/account/check
Typ metody : POST
Nagłówki:
  "Authorization: Bearer [token]"
Parametry JSON Object

Nazwa  Opis pola Typ danych  Wymagalność
login login do konta klienta String  TAK
password hasło do konta klienta String  TAK

Odpowiedź  :   Obiekt typu AcountCheckResult

Nazwa pola Opis pola Typ danych  Uwagi
success Sukces/Błąd Boolean
customerId Id klienta String
emailVerified Email zweryfikowany Boolean

17. Tworzenie tokena do zmiany hasła konta klienta
Opis: Metoda tworzy token niezbędny do zmiany hasła
URL : /customer/account/password/token
Typ metody : POST
Nagłówki:
    "Authorization: Bearer [token]"

Parametry JSON Object

Nazwa  Opis pola Typ danych  Wymagalność
login login do konta klienta String  TAK

Odpowiedź  :   Obiekt typu RestPwdToken

Obiekt RestPwdToken

Nazwa pola Opis pola Typ danych  Uwagi
success Sukces/Błąd Boolean
rejectReason Przyczyna niepowodzenia String
token Token String  Ważny 30
minut

18. Zmiana hasła konta klienta

Opis: Metoda zmienia hasło konta klienta przy pomocy wcześniej utworzonego tokenu
URL : /customer/account/password/change
Typ metody : POST
Nagłówki:
    "Authorization: Bearer [token]"

Parametry JSON Object
Nazwa pola Opis pola Typ danych  Wymagalność
token tokenValue otrzymany z
metody
/customer/account/password/token
String  TAK
newPassword nowe hasło String  TAK

Odpowiedź  :

Nazwa pola Opis pola Typ danych  Uwagi
success Sukces/Błąd Boolean
rejectReason Przyczyna niepowodzenia String

21. Pobieranie definicji oświadczeń/zgód marketingowych

Opis: Metoda zwraca listę definicji zgód marketingowych/oświadczeń
URL : /agreement/def/list
Typ metody : GET
Nagłówki:
  "Authorization: Bearer [token]"

Odpowiedź  :   Obiekt typu List<AgrementDefItem>

Obiekt AgrementDefItem

Nazwa pola Opis pola Typ danych  Uwagi
id id oświadczenia String
isRequired czy wymagana  Boolean
description treść zgody String

22. Sprawdzenie czy istnieje konto dla podanego loginu

Opis: Sprawdza czy istnieje konto klienta dla podanego loginu
 URL : /customer/account/check/exists
Typ metody : POST
Nagłówki:
  "Authorization: Bearer [token]"
Parametry JSON Object

Przyjmowane parametry:

Nazwa  Opis pola Typ
danych
 Wymagalność
login login do konta klienta String  TAK

Odpowiedź :

Nazwa pola Opis pola Typ danych  Uwagi
success Sukces/Błąd Boolean
rejectReason Przyczyna niepowodzenia String

27. Wysłanie tokenu potwierdzający email dla podanego loginu
klienta

Opis: Wysyła token potwierdzający email – dla podanego loginu klienta
 URL : /customer/account/email/sendConfirmToken
Typ metody : POST
Nagłówki:
  "Authorization: Bearer [token]"

Parametry JSON Object

Przyjmowane parametry:

Nazwa  Opis pola Typ danych  Wymagalność
customerId id klienta String  TAK

Odpowiedź  :

Nazwa pola Opis pola Typ danych  Uwagi
success Sukces/Błąd Boolean
rejectReason Przyczyna niepowodzenia String

28. Potwierdzenie adresu email klienta

Opis: Ustawia flagę potwierdząjącą adres email klienta
 URL : /customer/account/email/confirm
Typ metody : POST
Nagłówki:
  "Authorization: Bearer [token]"

Parametry JSON Object

Przyjmowane parametry:

Nazwa  Opis pola Typ danych  Wymagalność
token token klienta String  TAK

Odpowiedź  :

Nazwa pola Opis pola Typ danych  Uwagi
success Sukces/Błąd Boolean
rejectReason Przyczyna niepowodzenia String
