Dokumentacja

Dokumentacja przedstawia krok po kroku jak w prosty i szybki sposób skomunikować
Twój sklep z Comfino.

Składanie wniosku kredytowego

  • Wszystkie kwoty przesyłane do API powinny być polem typu int oraz podane w groszach.
  • Zamówienie można stworzyć w trybie draftu jeśli kwota zamówienia nie jest jeszcze wiadoma.

Zapytanie: | Zapytanie jest walidowane pod kątem poprawności przesyłanych wartosci

curl -X POST 'http://{HOST_API}/v1/orders' \
--header 'API-KEY: {API-KEY}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "notifyUrl": "https://your-shop.tld/notify",
  "returnUrl": "https://your-shop.tld/thanks",
  "orderId": "{twój_identyfikator_zamówienia}",
  "draft": false,
  "loanParameters": {
    "amount": 123,
    "term": 123,
    "type": "INSTALLMENTS_ZERO_PERCENT"
  },
  "cart": {
      "category": "KATEGORIA Z SŁOWNIKA",
      "totalAmount": 100000,
      "deliveryCost": 1000,
      "products": [
          {
              "name": "Lenovo Ideapad 120S-14IAP",
              "quantity": 1,
              "price": 12321,
              "photoUrl": "01e5f8",
              "ean": "9002490100070",
              "externalId": "123"
              "category": "productCategory"
          },
          {
              "name": "Lenovo Ideapad 120S-14IAP",
              "quantity": 1,
              "price": 159900,
              "photoUrl": "01e5f8",
              "ean": "9002490100070",
              "externalId": "123",
              "category": "productCategory"
          }
      ]
  },
  "customer": {
    "firstName": "John",
    "lastName": "John",
    "taxId": null,
    "email": "dadas@da.pl",
    "phoneNumber": "312213213",
    "ip": "ip klienta",
    "regular": false",
    "logged": false",
    "address": {
      "street": "Rowowa",
      "buildingNumber": "1",
      "apartmentNumber": "1",
      "postalCode": "10-899",
      "city": "Karłowice",
      "countryCode": "PL"
    }
  },
  "seller": {
    "taxId": "1234567890"
  }
}'

Definicja pól:

Nazwa pola Typ Wymagane Akceptowalne wartosci
notifyUrl string tak Alfanumeryczne znaki do 255
returnUrl string tak Alfanumeryczne znaki do 255
orderId string tak Alfanumeryczne znaki do 36
loanParameters object tak Obiekt w formacie json
cart object tak Obiekt w formacie json
customer object tak Obiekt w formacie json
seller object nie Obiekt w formacie json, pusta wartosc

loanParameters:

Nazwa pola Typ Wymagane Akceptowalne wartosci
amount int tak wartosci numeryczne (kwota w groszach)
term int, null nie wartosci numeryczne, pusta wartosc
type string, null nie INSTALLMENTS_ZERO_PERCENT, CONVENIENT_INSTALLMENTS, PAY_LATER, COMPANY_INSTALLMENTS, RENEWABLE_LIMIT, null

Typy produktów:

  • INSTALLMENTS_ZERO_PERCENT - Raty 0%
  • CONVENIENT_INSTALLMENTS - Niskie raty
  • PAY_LATER - Kup teraz zapłać później
  • COMPANY_INSTALLMENTS - Kredyt dla firm
  • RENEWABLE_LIMIT - Limit odnawialny

cart:

Nazwa pola Typ Wymagane Akceptowalne wartosci
category string nie Alfanumeryczne znaki
totalAmount int tak wartosc numerczyna (kwota w groszach)
deliveryCost int nie Znaki numeryczne, pusta wartosc
products array tak obiekt json

cart.product:

Nazwa pola Typ Wymagane Akceptowalne wartosci
name string tak Alfanumeryczne znaki
quantity int tak numeryczne znaki
price int tak numeryczne znaki
photoUrl string, null nie alfanumeryczne znaki, pusta wartosc
ean string, null nie alfanumeryczne znaki, pusta wartosc
externalId string, null nie alfanumeryczne znaki, pusta wartosc
category string, null nie alfanumeryczne znaki, pusta wartosc

customer:

Nazwa pola Typ Wymagane Opis Akceptowalne wartosci
firstName string, null tak Imie Alfanumeryczne znaki od 2 do 63
lastName string, null tak Nazwisko Alfanumeryczne znaki od 2 do 63
nip string, null nie Nip Alfanumeryczne znaki
email string tak Adres e-mail Alfanumeryczne znaki
phoneNumber string tak Numer telefonu Numeryczne znaki 9 cyfr
ip string tak Adres IP klienta Numeryczne znaki z dozwolona kropka
regular bool, null nie Staly klient/ponowny zakup true, false, null
logged bool, null nie zalogowany/niezalogowany true, false, null
address object, null nie adres klienta obiekt json

customer.address:

Nazwa pola Typ Wymagane Akceptowalne wartosci
street string, null nie alfanumeryczne znaki, pusta wartosc
buildingNumber string, null nie alfanumeryczne znaki, pusta wartosc
apartmentNumber string, null nie alfanumeryczne znaki, pusta wartosc
postalCode string, null nie alfanumeryczne znaki, pusta wartosc
city string, null nie alfanumeryczne znaki, pusta wartosc
countryCode string, null nie alfanumeryczne znaki, pusta wartosc

seller

Nazwa pola Typ Wymagane Akceptowalne wartosci
taxId string, null nie 10 alfanumerycznych znaków, pusta wartosc

Odpowiedź:

{
    "status": "CREATED",
    "externalId": "{twój_identyfikator_zamówienia}",
    "applicationUrl": "{url_do_przekierowania_na_stronę_formularza}",
    "_links": {
        "legalize": {
            "href": "http://{HOST_API}/v1/orders/legalize",
            "method": "PUT"
        },
        "self": {
            "href": "http://{HOST_API}/v1/orders/{twój_identyfikator_zamówienia}",
            "method": "GET"
        },
        "cancel": {
            "href": "http:/{HOST_API}/v1/orders/{twój_identyfikator_zamówienia}/cancel",
            "method": "PUT"
        }
    }
}

Kody odpowiedzi:

  • 201 Created
  • 400 Bad Request
  • 401 Unauthorized
  • 405 Method Not Allowed
  • 500 Internal Server Error