API sklep – dokumentacja dla programistów

Prowadząc sklep na oprogramowaniu Selly Shop możesz zbudować dowolną komunikację, dzięki API sklepu połączysz się innym systemem zewnętrznym. Stworzony system API pozwoli bezpiecznie odczytywać, dodawać i edytować odpowiednie rekordy bazy danych sklepu za pomocą mechanizmu JSON.

W celu uruchomienia API sklepu prosimy o kontakt przez system pomocy lub na email podając adres url, dla którego będzie uruchamiane API.

API dla abonamentu Selly Plus i Premium

Opłata instalacyjna

100zł netto jednorazowo

Miesięczny limit wywołań API:  1 mln zapytań

Opcjonalna dopłata do usług API: 100zł netto za każdy rozpoczęty kolejny 1 mln wywołań API w danym miesiącu.

Dokumentacja API:

W celu uruchomienia API potrzebne będą dane API_ID oraz APP_KEY które otrzymamy od obsługi platformy.

Pobieranie TOKEN

Połączenie z serwisem w celu pobrania COIN

http://api.selly.pl/?api=API_ID

W odpowiedzi możemy dostać:

{ "coin":24893 } lub {'error' => PRZYCZYNA BŁĘDU }

Mając wygenerowany COIN szyfrujemy go używając poniższej składni

Digest::SHA2.hexdigest('COIN' + 'APP_KEY')

Otrzymany w ten sposób KEY używamy do wygenerowania TOKEN

http://api.selly.pl/?key=KEY

W odpowiedzi możemy dostać:

{'success':{'token':'TOKEN','expire_at':'DATA'}} lub { 'error' => PRZYCZYNA BŁĘDU}

 

Pobieranie danych (pełne wykazy)

W celu pobierania kompletnych danych z tabel wykorzystujemy funkcję apig

http://api.selly.pl/apig?token=TOKEN&table=TABLE_NAME

Powyższym wywołaniem otrzymamy wszystkie elementy z wybranej tabelli. Natomiast chcąc otrzymać dane wybranego elementu, wystarczy do zapytania dołączyć jego identyfikator EID tak jak to zostało przedstawione poniżej

http://api.selly.pl/apig?token=TOKEN&table=TABLE_NAME&id=EID

 

Pobieranie danych (metoda z wyszukiwaniem)

W celu pobierania zawężonych wyników ze wskazanej tabeli wykorzystujemy funkcję apig z warunkami

http://api.selly.pl/apig?token=TOKEN&table=TABLE_NAME&field=COLL_NAME&value=STRING

Powyższym wywołaniem otrzymamy wszystkie elementy z wybranej tabeli spełniających warunek równości (np. wyszukiwanie określonej frazy lub liczby). Natomiast chcąc otrzymać dane wybranego zakresu liczbowego, wystarczy użyć jeden ze znaków: < lub > lub <= lub >=

http://api.selly.pl/apig?token=TOKEN&table=TABLE_NAME&field=COLL_NAME&value=>STRING

 

Dodawanie danych

W celu dodania elementu do tabeli wykorzystamy funkcję apis

http://api.selly.pl/apis?type=INSERT&table=TABLE_NAME&COLL_NAME=COLL_NAME_VALUE&token=TOKEN

Gdzie kolejno: COLL_NAME to nazwa kolumny, a COLL_NAME_VALUE to jej wartość.

 

Edycja danych

W celu edycji danych elementu postepujemy tak samo jak w przypadku dodawania danych, z tym wyjątkiem, że do zapytania należy dołączyć identyfikator elementu EID

http://api.selly.pl/apis?type=UPDATE&table=TABLE_NAME&COLL_NAME=COLL_NAME_VALUE&token=TOKEN&COLL_NAME_KEY=ID

Gdzie kolejno: COLL_NAME to nazwa kolumny, COLL_NAME_VALUE to jej wartość, COLL_NAME_KEY to pole klucz (unikalne)

UWAGA! Tylko wybrane tabele oraz ich kolumny mogą być wykorzystywane do powyższych zapytań.
Lista aktualnych dostępnych tabel oraz ich kolum widoczna na samym dole dokumentu.

 

Odszyfrowywanie danych

Odebrane dane RESP z zapytań korzystających z funkcji apig wyświetlane są w zakodowanej formie np:

eyJwcm9kdWt0X2lkIjo5LCJrYXRlZ29yaWFfaWQiOjAsInByb2R1Y2VudF9pZCI6MCwibmF6d2EiOiJ0d29qYTU2IiwiY2hhcmFrdGVyeXN0eWthIjoiIiwiY2VuYSI6IjIyLjAiLCJ3eXN3aWV0bGVuaWUiOjEsImtleXdvcmRzIjoidHdvamFuYXp3YSIsInByb2R1Y3RzX21vZGVsIjpudWxsLCJlbW9fcGFjemthIjpudWxsLCJ6ZXN0YXciOmZhbHNlfQ==.11574d0d9dcfd254e0c7ccb11da359a431687cede6a28a6867efaac427987f8d

Aby sprawdzić sumę kontrolną (znaki ustawione po kropce ‚.’) pobieranych danych należy wykonać czynności:

Digest::SHA2.hexdigest(Base64.encode64(Base64.decode64('RESP')) + 'APP_KEY')

Jeżeli suma kontrolna zgadza się z otrzymanym mamy pewność, że nasze dane zostały pobrane w prawidłowy sposób, i są one zgodne.

Aby odszyfrować odebrane dane należy postąpić następująco

Base64.decode64('RESP')

 

Sprawdzanie licznika wywołań API

W celu sprawdzenia aktualnego stanu ilości wywołań metod API można użyć funkcji:

http://api.selly.pl/info/requests?token=TOKEN

 

Lista dostepnych tabel i ich kolumn:

  • allegro_aukcje
    • auction_id (COLL_NAME_KEY)
    • allegro_user_id
    • allegro_login
    • country_id
    • category_id
    • produkt_id
    • produkty_wariant_id
    • data_wpisania
    • data_waznosci
    • title
    • post_data
    • allegro_item_id
    • allegro_item_info
    • bids
    • followers
    • viewed
    • liczba_zamowien
    • zakonczona
    • auction_data
  • allegro_kategorie
    • country_id
    • category_id
    • parent_id
    • position
    • sync
    • name
  • allegro_dostawy
    • shipment_id
    • shipment_name
    • delivery_id
  • carts
    • cart_id
    • user_id
    • cart_name
    • value_products
  • carts_items
    • cart_id
    • item_id
    • product_id
    • set_products
    • variant_id
    • quantity
    • price
  • formy_dostawy
    • delivery_id
    • delivery
    • products_min_value
    • products_max_value
    • max_weight
    • description
    • cost_by
  • grupy_cech
    • grupa_cech_id (COLL_NAME_KEY)
    • nazwa
    • opis
    • display_order
  • importy_kategorie
    • importer_id (COLL_NAME_KEY)
    • importer_kategoria_id (COLL_NAME_KEY)
    • kategoria_id
    • importer_kategoria_nazwa
    • marza_procent
    • marza_kwota
    • marza_procent1
    • marza_procent2
    • marza_procent3
  • kategorie
    • kategoria_id (COLL_NAME_KEY)
    • parent_id
    • nazwa
    • kategoria_htaccess
    • produkt_waga
    • produkt_gabaryt
    • html_title
    • html_description
    • html_keywords
    • opis
  • klienci
    • klient_id (COLL_NAME_KEY)
    • user_id
    • allegro_user_id
    • allegro_login
    • ebay_user_id
    • imie
    • nazwisko
    • adres
    • kod
    • miasto
    • kraj
    • telefon
    • email
    • firma
    • nip
    • f_imie
    • f_nazwisko
    • f_firma
    • f_miasto
    • f_kod
    • f_adres
    • create_time
    • create_ip
    • active
    • newsletter
    • ceny_produktow_poziom
    • rabat_klienta
    • notatki
  • magazyny
    • magazyn_id (COLL_NAME_KEY)
    • magazyn
    • opis
    • opis_niedostepnosc
    • dozwolone_zamowienia_0
    • automatyczne_wyswietlenie
  • newsletter_odbiorcy
    • shop_id
    • email
    • date_entry
    • ip_address
  • formy_platnosci
    • payment_id (COLL_NAME_KEY)
    • payment
    • payment_long
    • description
    • description_order
    • products_min_value
    • products_max_value
  • producenci
    • producent_id (COLL_NAME_KEY)
    • nazwa
    • producent_htaccess
    • producent_logo
    • html_title
    • html_description
    • html_keywords
  • produkty
    • product_id (COLL_NAME_KEY)
    • category_id
    • producer_id
    • product_name
    • product_name_additional
    • price
    • visible
    • keywords
    • zestaw
  • produkty_atrybuty
    • produkty_atrybut_id (COLL_NAME_KEY)
    • produkty_atrybuty_grupa_id
    • pozycja
    • produkty_atrybut
  • produkty_atrybuty_grupy
    • produkty_atrybuty_grupa_id (COLL_NAME_KEY)
    • pozycja
    • produkty_atrybuty_grupa
    • sposob_wyswietlania_atrybutow
  • produkty_magazyny
    • produkt_id
    • magazyn_id
    • ilosc
  • produkty_pliki
    • plik_id (COLL_NAME_KEY)
    • produkt_id
    • plik
    • max_liczba_dni
    • max_liczba_pobran
    • liczba_pobran
  • produkty_uzupelniajace
    • produkt_bazowy
    • produkt_uzupelniajacy
  • produkty_warianty
    • produkty_wariant_id (COLL_NAME_KEY)
    • produkt_id
    • pozycja
    • ilosc
    • wariant_cena
    • wariant_cena1
    • wariant_cena2
    • wariant_cena3
    • zdjecie_nr
    • stawka_vat
    • domyslny
    • kod_produktu
    • termin_dostawy
    • wariant_cena_aukcji
  • produkty_warianty_atrybuty
    • produkty_wariant_id
    • produkty_atrybut_id
  • produkty_wlasciwosci
    • produkt_id (COLL_NAME_KEY)
    • kod_producenta
    • kod_dostawcy
    • cena_poprzednia
    • stawka_vat
    • html_title
    • html_description
    • html_keywords
    • tekst_promocyjny
    • opis
    • opis_skrocony
    • zdjecie_nr
    • zdjecia_katalog
    • promocja
    • promocja_kategorii
    • dostawa
    • produkt_htaccess
    • magazyn_id
    • liczba_egzemplarzy
    • ilosc_dokladnosc
    • ilosc_min
    • ilosc_przyrost
    • waga
    • gabaryt
    • opis_filmy
    • symbol_produktu
    • rabat_grupa_id
    • cena_poziom1
    • cena_poziom2
    • cena_poziom3
    • kod_ean
    • dostepnosc
    • aukcja_zdjecie
    • cena_aukcji
    • opis_aukcji
    • porownywarki_reklama
  • produkty_zdjecia
    • produkt_id
    • zdjecie_nr
    • zdjecie_pozycja
    • zdjecie_opis
  • sklepy_produkty
    • sklep_id
    • produkt_id
  • slownik_wartosci
    • slownik_wartosc_id (COLL_NAME_KEY)
    • slownik_id
    • wartosc
    • opis
    • display_order
    • produkt_id
    • sw_katalog
    • sw_zdjecie
  • slowniki
    • slownik_id (COLL_NAME_KEY)
    • nazwa
    • opis
  • uzytkownicy
    • user_id (COLL_NAME_KEY)
    • resource_id
    • login
    • lastlogin
    • lastbadlogin
    • badlogincount
    • status
  • wzorce_cech
    • wzorzec_cechy_id (COLL_NAME_KEY)
    • grupa_cech_id
    • nazwa
    • opis
    • jednostka
    • display_order
    • wc_zdjecie
  • zamowienia
    • zamowienie_id (COLL_NAME_KEY)
    • sklep_id
    • user_id
    • status_id
    • data_wpisania
    • numer_rok
    • platnosc_id
    • dostawa_id
    • koszt_platnosci
    • koszt_dostawy
    • kwota_rabatu
    • zaplacono
    • firma
    • nip
    • imie
    • nazwisko
    • wojewodztwo
    • kod_pocztowy
    • miasto
    • adres
    • telefon
    • email
    • fakt_firma
    • fakt_nip
    • fakt_imie
    • fakt_nazwisko
    • fakt_kod_pocztowy
    • fakt_miasto
    • fakt_adres
    • komentarz_klienta
    • paczka
    • termin_dostawy
    • uwagi
    • dokument
    • referrer_domain
    • paczkomaty_dane
    • platnosc_vat_id
    • dostawa_vat_id
    • pp_odbior
  • zamowienia_faktury
    • zamowienie_id
    • data_wpisania
    • wpisujacy_id
    • faktura_prefiks
    • faktura_numer
    • faktura_sufiks
    • sprzedawca_nazwa
    • sprzedawca_adres
    • sprzedawca_kod_pocztowy
    • sprzedawca_miejscowosc
    • sprzedawca_nip
    • sprzedawca_bank
    • sprzedawca_konto
    • nabywca_nazwa
    • nabywca_adres
    • nabywca_kod_pocztowy
    • nabywca_miejscowosc
    • nabywca_nip
    • wartosc_zamowienia
    • dane
    • forma_platnosci
    • termin_platnosci
    • osoba_upowazniona
    • status_id
    • uwagi
  • zamowienia_produkty
    • zamowienie_produkt_id (COLL_NAME_KEY)
    • zamowienie_id
    • zamowienie_zestaw_id
    • zestaw_id
    • produkt_id
    • produkty_wariant_id
    • allegro_item_id
    • allegro_transaction_id
    • allegro_purchase_date
    • cena
    • cena_brutto
    • stawka_vat
    • ilosc
    • ilosc_dokladnosc
    • jednostka_miary
    • wartosc_koszyk
    • wartosc
    • pp_wartosc
    • produkt_parametry
    • komentarz
    • allegro_transaction_status
    • ebay_item_id
    • ebay_transaction_id
  • zamowienia_statusy
    • status_id (COLL_NAME_KEY)
    • status
    • pozycja
    • szablon_listu
    • list_tytul
    • powiadomienia_email
    • parametry
    • kolor
    • sms_szablon
    • sms_aktywny
  • zamowienia_zestawy
    • zamowienie_zestaw_id (COLL_NAME_KEY)
    • zestaw_id
    • zestaw
    • cena
    • cena_brutto
    • stawka_vat
    • ilosc
    • ilosc_dokladnosc
    • jednostka_miary
    • wartosc
  • zdarzenia_zamowienia
    • zdarzenie_id (COLL_NAME_KEY)
    • zamowienie_id
    • user_id
    • data_zdarzenia
    • rodzaj_zdarzenia
    • wyslano_list
    • opis