NAV Navbar

Wstęp

Zalogowanie użytkownika

{"login":"admin", "pass":"secret"}

odpowiedź w przypadku sukcesu

HTTP/1.1 200 OK
Set-Cookie: sess_ci=k6vb0i7brpb5u6394cl6qde6l99g3887
Content-Type: application/json; charset=utf-8

"k6vb0i7brpb5u6394cl6qde6l99g3887"

POST /auth

Wymagane podanie parametrów:

Parametr Opis
login login konta operatora
pass ustalone hasło

W wyniku zwrócony zostanie identyfikator sesji, w nagłówku ustawione zostanie ciasteczko sess_ci=id_sesji. Kolejne żądania muszą być wysyłane z autoryzacją - w nagłówku mieć ustawione otrzymane ciasteczko.

Pobranie danych zalogowanego użytkownika

{
  "session_id": "e5f0228d53a8b62b7ff27c063d5f2504",
  "admin_id": "99",
  "admin_login": "test",
  "admin_name": "Operator Testowy",
  "admin_type": "1",
  "admin_firmid": "1",
  "firmid": "1"
}

GET /auth

Zwrócone zostaną pola:

Pole
session_id
admin_id
admin_login
admin_name
admin_type
admin_firmid
firmid

Dodatkowe parametry GET

Dla każdego zapytania GET podając parametr _fields istnieje możliwość ograniczenia listy pól jakie mają zostać zwrócone. Domyślnie zwracane są wszystkie pola.

Listy GET /

Zapytania GET bez podania identyfikatora zwracają listę rekordów.

Filtrowanie listy realizowane jest przez podanie parametru z nazwą pola i przypisaniem mu szukanej wartości, np. /?name=test

W nawiasach kwadratowych można użyć pozostałych operatorów porównujących:

Możliwe jest użycie kilku operatorów dla jednego pola, np.: ?date[gte]=2019-11-01&date[lt]=2019-12-01

Można dodatkowo podać parametry:

Pobranie danych rekordu GET /id/

Zapytania zwracają dane rekordu w postaci tablicy asocjacyjnej. Klucze - nazwy pól - opisane są osobno dla każdego kontrolera.

Jeżeli zwrócone mają być tylko wybrane pola można użyć parametru _fields z wartością listy pól rozdzielonych przecinkiem (np. /?_fields=name,status). Domyślnie zwracane są wszystkie pola, także struktury powiązane według kluczy obcych.

W przypadku gdy rekord z podanym identyfikatorem nie zostanie znaleziony zwrócona będzie pusta odpowiedź z kodem 204 - HTTP_NO_CONTENT.

TR069

Opis pól

Pole Typ Opis Edycja - POST / PUT
id int(11) unikalne, autonumerowane id rekordu
firmid int(11) id firmy === mms.firms.id
userid int(11) id klienta/ uzytkownika == users.id +
tr069_acs_id int(11) serwer ACS === tr069_acsservers.id +
tr069_model_id int(11) model urzadzenia === tr069_models.id +
tr069_profiles_id int(11) wybrany profil dla urzadzenia === tr069_profiles.id +
serial varchar(40) numer seryjny urzadzenia na opakowaniu +
mac varchar(20) adres MAC +
description varchar(255) opis / uwagi +
passwd_admin varchar(80) haslo do konfiguracji urzadzenia, NULL = pobierz z profilu +
voip_line1_name varchar(40) Linia 1 - numer VOIP +
voip_line1_secret varchar(40) Linia 1 - haslo +
voip_line2_name varchar(40) Linia 2 - numer VOIP +
voip_line2_secret varchar(40) Linia 2 - haslo +
version varchar(80) wersja oprogramowania ONT +
upgrade_soft tinyint(1) zezwolenie na upgrade softu +
creationdate int(11) data utworzenia
creatorid int(11) id administratora tworzacego rekord === admins.id
moddate int(11) data modyfikacji
modid int(11) zmodyfikowany przez === admins.id
updated tinyint(1) flaga aktualizacji danych: 1= zaktualizowane, wygeneruj nowy plik xml +
customconfig text dodatkowe pola konfigurowalne (JSON) - array(name => value) +
ProfileData array Dane profilu
ports array Lista skonfigurowanych portów
services array Skonfigurowane usługi - internet / iptv / voip / bridge
wifi array Lista skonfigurowanych sieci WiFi

+ pole edytowalne
* pole wymagane przy dodawaniu

Pobieranie listy urządzeń

GET /netdevices/tr069_devices/

{
  "total": 2,
  "list": [
    {
      "id": "1",
      "firmid": "1",
      "userid": "0",
      "tr069_acs_id": "1",
      "tr069_model_id": "2",
      "tr069_profiles_id": "1",
      "serial": "QXNN1I8000683",
      "mac": "58:D5:6E:9E:D7:84",
      "description": "aaa",
      "passwd_admin": "secret12",
      "voip_line1_name": "",
      "voip_line1_secret": "",
      "voip_line2_name": "",
      "voip_line2_secret": "",
      "version": "",
      "upgrade_soft": "1",
      "creationdate": "1571058198",
      "creatorid": "53",
      "moddate": "1571666315",
      "modid": "53",
      "updated": "0",
      "customconfig": [],
      "ProfileData": {
        "id": "1",
        "firmid": "1",
        "tr069_model_id": "2",
        "name": "Test",
        "sipproxy": "",
        "lan_network": "",
        "lan_dhcpstart": "",
        "lan_dhcpend": "",
        "passwd_admin": "",
        "ports": "4",
        "ports_wifi": "1",
        "ports_internet": "1",
        "wifi_essid_template": "",
        "wifi_security": "-",
        "wifi_password_length": "0",
        "customconfig": [],
        "ports_all": 5
      },
      "ports": {
        "1": {
          "service": "internet",
          "tr069_ports_id": "1",
          "vlan": null,
          "vlan_active": "",
          "vlan_description": "-"
        },
        "2": {
          "service": ""
        },
        "3": {
          "service": ""
        },
        "4": {
          "service": ""
        }
      },
      "services": {
        "internet": {
          "id": "1",
          "tr069_deviceid": "1",
          "service": "internet",
          "ports": [
            "1"
          ],
          "vlan": null,
          "nodeid": "0",
          "protocol": "bridge",
          "active": 1,
          "AddressIP": "",
          "pppoe_login": "",
          "pppoe_password": "",
          "vlan_network": "",
          "vlan_active": "",
          "vlan_description": "-"
        }
      },
      "wifi": [
        {
          "id": "1",
          "tr069_deviceid": "1",
          "tr069_ports_id": "0",
          "wifi_essid": "",
          "wifi_security": "-",
          "wifi_password": "",
          "vlan": "",
          "service": ""
        }
      ]
    },
    {
      "id": "2",
      "firmid": "1",
      "userid": "0",
      "tr069_acs_id": "0",
      "tr069_model_id": "0",
      "tr069_profiles_id": "0",
      "serial": "",
      "mac": "",
      "description": "",
      "passwd_admin": null,
      "voip_line1_name": "",
      "voip_line1_secret": "",
      "voip_line2_name": "",
      "voip_line2_secret": "",
      "version": "",
      "upgrade_soft": "1",
      "creationdate": "0",
      "creatorid": "0",
      "moddate": "0",
      "modid": "0",
      "updated": "0",
      "customconfig": [],
      "ProfileData": null,
      "ports": [],
      "services": [],
      "wifi": []
    }
  ]
}

Pobranie danych urządzenia o wskazanym id

GET /netdevices/tr069_devices/{id}

{
  "id": "9999",
  "firmid": "1",
  "userid": "0",
  "tr069_acs_id": "1",
  "tr069_model_id": "2",
  "tr069_profiles_id": "1",
  "serial": "QXNN1I8000683",
  "mac": "58:D5:6E:9E:D7:84",
  "description": "aaa",
  "passwd_admin": "secret12",
  "voip_line1_name": "",
  "voip_line1_secret": "",
  "voip_line2_name": "",
  "voip_line2_secret": "",
  "version": "",
  "upgrade_soft": "1",
  "creationdate": "1571058198",
  "creatorid": "53",
  "moddate": "1571666315",
  "modid": "53",
  "updated": "0",
  "customconfig": [],
  "ProfileData": {
    "id": "1",
    "firmid": "1",
    "tr069_model_id": "2",
    "name": "Test",
    "sipproxy": "",
    "lan_network": "",
    "lan_dhcpstart": "",
    "lan_dhcpend": "",
    "passwd_admin": "",
    "ports": "4",
    "ports_wifi": "1",
    "ports_internet": "1",
    "wifi_essid_template": "",
    "wifi_security": "-",
    "wifi_password_length": "0",
    "customconfig": [],
    "ports_all": 5
  },
  "ports": {
    "1": {
      "service": "internet",
      "tr069_ports_id": "1",
      "vlan": null,
      "vlan_active": "",
      "vlan_description": "-"
    },
    "2": {
      "service": ""
    },
    "3": {
      "service": ""
    },
    "4": {
      "service": ""
    }
  },
  "services": {
    "internet": {
      "id": "1",
      "tr069_deviceid": "1",
      "service": "internet",
      "ports": [
        "1"
      ],
      "vlan": null,
      "nodeid": "0",
      "protocol": "bridge",
      "active": 1,
      "AddressIP": "",
      "pppoe_login": "",
      "pppoe_password": "",
      "vlan_network": "",
      "vlan_active": "",
      "vlan_description": "-"
    }
  },
  "wifi": [
    {
      "id": "1",
      "tr069_deviceid": "1",
      "tr069_ports_id": "0",
      "wifi_essid": "",
      "wifi_security": "-",
      "wifi_password": "",
      "vlan": "",
      "service": ""
    }
  ]
}

Dodanie urządzenia

POST /netdevices/tr069_devices

Edycja urządzenia

PUT /netdevices/tr069_devices/{id}

Usunięcie urządzenia

DELETE /netdevices/tr069_devices/{id}

E-BOK - pobieranie

Logowanie

POST /ebok/auth

{"login":"kl9999", "pass":"123456"}

odpowiedź w przypadku poprawnego zalogowania

HTTP/1.1 200 OK
Set-Cookie: sess_ci=l40vrm6kvcfdn6tj4etpdsp3h3k239bu
Set-Cookie: authorization=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoibDQwdnJtNmt2Y2ZkbjZ0ajRldHBkc3AzaDNrMjM5YnUiLCJBUElfVElNRSI6MTY5NzM4NzQxN30.YaKaNahhFAo8HAVLJKbbplyKKVjW-oOn47s348K6ZtI
Content-Type: application/json; charset=utf-8

"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoibDQwdnJtNmt2Y2ZkbjZ0ajRldHBkc3AzaDNrMjM5YnUiLCJBUElfVElNRSI6MTY5NzM4NzQxN30.YaKaNahhFAo8HAVLJKbbplyKKVjW-oOn47s348K6ZtI"

Wymagane podanie parametrów:

Parametr Opis
login nazwa konta e-bok
pass hasło podstawowe konta

W wyniku zwrócony zostanie identyfikator sesji, w nagłówku ustawione zostanie ciasteczko authorization. Kolejne żądania muszą być wysyłane z autoryzacją - w nagłówku mieć ustawione otrzymane ciasteczko.

Reset hasła

POST /ebok/auth/resetpassword/

{"login": "k9999", "email": "kl9999@test.pl"}

odpowiedź w przypadku sukcesu

true

Wymagane podanie parametrów:

Parametr Opis
login nazwa konta e-bok
email email przypisany do konta

Zmiana hasła

`PUT /ebok/auth/changepassword/

{"pass":"foo", "new_pass":"bar", "confirm_pass":"bar"}

odpowiedź w przypadku sukcesu

true

Wymagane podanie parametrów:

Parametr Opis
pass obecne hasło
new_pass nowe hasło
confirm_pass nowe hasło

Wylogowanie

DELETE /ebok/auth/

Pobranie danych firmy

GET /firms/active/

Zwracane pola Opis
id
name pelna nazwa firmy (bez wlasciciela)
ownername nazwa wlasciciela firmy
firmsite pelny adres www strony firmowej
nip nip firmy, w postaci xxx-xxx-xx-xx
regon regon firmy, w postaci xxxxxxxxx
krs numer w rejestrze KRS
rpt numer w rejestrze przedsiebiorcow telekomunikacyjnych
rjst numer w rejestrze jednostek samorzadu terytorialnego
invoiceperson osoba uprawniona do wystawienia faktury
bankname nazwa banku
bankaccount firmowe konto bankowe
officetime godziny pracy biura / kasy
owneremail adres email wlasciciela firmy
services flaga wspoldzielenia uslug z partnerem, 0 - firma glowna, 1 - partner ma tylko wlasne uslugi i taryfy (bez wspoldzielenia), 2 - wspolne uslugi i taryfy z partnerem
routers flaga wspoldzielenia routerow / sieci / adresow ip, 0 - firma glowna, 1 - partner ma tylko wlasne, 2 - firma nadrzedna wspoldzieli z partnerem strukture sieci
address_full
email
email_name
phone
phone_name
url_smalllogo
url_biglogo
url_eboklogo
ebok_rights
speedtest_url

Pobranie danych zalogowanego użytkownika

GET /ebok/user/

Pobranie salda

GET /ebok/user/balance

{
    "id": "10681",
    "userno": "712",
    "usercode": "kl000712",
    "usertype": "1",
    "customertype": "2",
    "fullname": "0110e12f18ee6f6d3f87 73626141e35854811d17",
    "name": "73626141e35854811d17",
    "lastname": "0110e12f18ee6f6d3f87",
    "address1": "Łódź,4221ee54ee1d847e022d 9 m./pok. 126A,91-851 Łódź",
    "address2": "Łódź,Sukiennicza 9 m./pok. 126A,91-851 Łódź",
    "bankaccount": "24160010718230000000000712",
    "email": "",
    "email2": "",
    "email3": "",
    "email_invoices": "",
    "phone1": "",
    "phone2": "",
    "phone3": "",
    "ebok_password_changed": "1",
    "accepteddate_rodo": "2023-10-15 19:45:22",
    "accepteddate_regulations": "0"
}

Zwrócone zostaną pola:

Pole
id
userno
usercode
usertype
customertype
fullname
name
lastname
address1
address2
bankaccount
email
email2
email3
email_invoices
phone1
phone2
phone3
ebok_password_changed
accepteddate_rodo
accepteddate_regulations

Pobranie danych ostatniej faktury

GET /invoicesheader/last

{
    "id": "16130018",
    "userid": "10681",
    "TrN_NumerPelny": "FV/004547/03/18/I",
    "TrN_RazemNetto": "28.46",
    "TrN_RazemVAT": "6.54",
    "TrN_RazemBrutto": "35.00",
    "TrN_DataDok_UTS": "2018-03-01",
    "TrN_DataWys_UTS": "2018-03-01",
    "TrN_Termin_UTS": "2018-03-15",
    "TrN_DataAnulacji_UTS": "0",
    "TrN_Bufor": "0",
    "TrN_Korekta": "0",
    "TrN_KorektaDoID": "0",
    "settled": 1,
    "settled_left": "0.00"
    "no_download": 0
}

Zwrócone zostaną pola:

Pole
id
userid
TrN_NumerPelny
TrN_RazemNetto
TrN_RazemVAT
TrN_RazemBrutto
TrN_DataDok_UTS
TrN_DataWys_UTS
TrN_Termin_UTS
TrN_DataAnulacji_UTS
TrN_Bufor
TrN_Korekta
TrN_KorektaDoID
settled
settled_left
no_download

Pobranie faktur od 2021-01-01

GET /invoicesheader/shortlist?trn_datadok_year=2021

Podsumowanie faktur wg filtra

GET /invoicesheader/summary?trn_datadok_year=2021

Lista dostępnych lat dla daty faktury

GET /invoicesheader/values/trn_datadok_year

Słownik dla pola rozliczona na liście faktur

GET /invoicesheader/values/settled

[
    "nieopłacona",
    "opłacona"
]

Pobranie PDF faktury

(TODO: narazie template pliku)

GET /invoicesheader/{RecordId}/download

Pobranie blankietu do wpłaty

(TODO: narazie template pliku)

GET /invoicesheader/{RecordId}/payform_download

Pobranie wpłat od 2021-01-01

GET /invoicespayments/shortlist?bzp_datadok_year=2021

Podsumowanie wpłat wg filtra

GET /invoicespayments/summary?trn_datadok_year=2021

Lista dostępnych lat dla daty wpłaty

GET /invoicespayments/values/bzp_datadok_year

Harmonogram płatności

GET /internal_invoices/shortlist

Pobranie harmonogramu płatności

GET /internal_invoices/download

Pobranie dat końca umów klienta / lista samych umów

GET /contracts/shortlist

Pobranie listy umów z aneksami

GET /contracts/with_annexes

Pobranie pełnych danych umowy, razem z html

(tymczasowo html szablonu z bazy, uzupełnienie parametrów {XXX} potrwa chwilę dłużej)

GET /contracts/{recordId}

Pobranie listy samych aneksow

GET /annex/shortlist

Pobranie pełnych danych aneksu, razem z html

(tymczasowo html szablonu z bazy, uzupełnienie parametrów {XXX} potrwa chwilę dłużej)

GET /annex/{recordId}

Słowniki dla umów aktywna / zawieszona / zablokowana

GET /contracts/values/active GET /contracts/values/paused GET /contracts/values/blocked GET /annex/values/activated

Pobranie usług klienta

GET /actual_services/shortlist

Adresy IP klienta

GET /nodes/shortlist

{
    "total": 1,
    "pages": 1,
    "list": [
        {
            "id": "40173",
            "ipaddr": "171049364",
            "ipaddr_string": "10.50.1.148",
            "userid": "10681",
            "serverid": "86",
            "networkid": "766",
            "name": "WOLSKI12545,1",
            "mac": "00:27:19:FE:BB:A5",
            "upceil": "25600",
            "downceil": "40960",
            "access": "1"
        }
    ]
}

Szczegóły adresu IP

GET /nodes/{RecordID}

{
    "id": "40173",
    "firmid": "1",
    "name": "WOLSKI12545,1",
    "mac": "00:27:19:FE:BB:A5",
    "mac2": "00:00:00:00:00:00",
    "ipaddr": "171049364",
    "ipaddr_dynamic": null,
    "userid": "10681",
    "serverid": "86",
    "networkid": "766",
    "locationid": "0",
    "contractid": "12545",
    "annexid": "0",
    "actualctariffstgroupid": "9",
    "actualctariffsid": "61571",
    "speedstgroupid": "9",
    "speedtariffid": "61571",
    "before_speedstgroupid": "0",
    "before_speedtariffid": "0",
    "tariffid": "979",
    "netdev": "0",
    "port": "0",
    "porttype": null,
    "portname": "",
    "uprate": "12800",
    "downrate": "20480",
    "upceil": "25600",
    "downceil": "40960",
    "creationdate": "2010-05-25 09:06:38",
    "moddate": "2018-02-01 01:10:50",
    "creatorid": "40",
    "modid": "0",
    "access": "1",
    "reserved": "0",
    "annexedto": "0",
    "todelete": "0",
    "todeletedate": "0",
    "warning": "0",
    "stats": "0",
    "showinfo": "0",
    "showinfo_code": "DEFAULT",
    "supload": "0",
    "sdownload": "0",
    "voiponly": "0",
    "proxyaddress": "w3cache.4web.pl",
    "proxyport": "8080",
    "proxyactive": "1",
    "blockproxy": "0",
    "junior": "0",
    "onlyjunior": "0",
    "limitupceil": "0",
    "limitdownceil": "0",
    "limituprate": "0",
    "limitdownrate": "0",
    "monthlimit": "0",
    "nightupceil": "25600",
    "nightdownceil": "40960",
    "nightuprate": "12800",
    "nightdownrate": "20480",
    "special": "0",
    "specialplus": "0",
    "qoscheck": null,
    "junior_age": "older",
    "esecurity": "0",
    "pppoe_login": "pppoe10681.hDJ2qh",
    "pppoe_password": "j2eg3S",
    "servers_core_aliases_id": null,
    "ipaddrnat11": null,
    "ether_devices_id": "0",
    "ether_devices_object_id": "0",
    "ether_devices_object_chanell_id": "0",
    "pppoe_enforce": "1",
    "pppoe_enforce_enabled": "1",
    "fullduplex": "0",
    "loyality_download_percent": "100",
    "loyality_upload_percent": "100",
    "loyality_plan_enabled": "0",
    "workhour_type": "1",
    "workhour_start": "00:00:00",
    "workhour_end": "23:59:59",
    "workhour_blocked": "0",
    "netflow_daily": "0",
    "netflow_monthly": "1",
    "pppoe_logged": "1",
    "hbspammed": "0",
    "agent_remoteid": "",
    "agent_circutid": "",
    "agent_vlan": "0",
    "ipaddr_string": "10.50.1.148",
    "workhour_type_desc": "włączony tylko pomiędzy",
    "NetworkData": {
        "id": "766",
        "firmid": "1",
        "serverid": "86",
        "name": "10.50.0.0",
        "address": "171048960",
        "prefix": "19",
        "mask": "255.255.224.0",
        "gateway": "10.50.0.1",
        "domain": "",
        "wins": "",
        "tr069_acs_id": "0",
        "dhcpstart": "",
        "dhcpend": "",
        "size": "8192",
        "public": "0",
        "locationsstatus": "",
        "voiponly": "0",
        "nettype": "1",
        "netoptions": null,
        "netprototype": "staticip",
        "routed_via": null,
        "servers_customer_interfaces_id": "389",
        "vlan": null,
        "nat_policy": "",
        "nat_priv_network": "1",
        "servers_core_aliases_id": "0",
        "address_ip": "10.50.0.0/19"
    },
    "ServerData": {
        "id": "86",
        "type": "bras",
        "name": "SE600_BRAS01",
        "dns1": "194.63.133.4",
        "dns2": "193.239.206.254"
    },
    "ServiceData": {
        "id": "61571",
        "firmid": "1",
        "stgroupid": "9",
        "serviceid": "25",
        "tariffid": "979",
        "userid": "10681",
        "actualcdataid": "10045",
        "contractid": "12545",
        "annexid": "26908",
        "annexedparentid": "54231",
        "contractsid": "0",
        "annexsid": "175522",
        "paymentperiodid": "2",
        "paymentperiodname": "miesięcznie",
        "pricenetto": "28.46",
        "vatid": "6",
        "vatrate": "23",
        "pricebrutto": "35.00",
        "currency": "PLN",
        "valorization": "0",
        "valorization_date": "0",
        "tariffcode": "LACZE40960",
        "sww": "",
        "servicename": "Dostęp do internetu - FORWEB",
        "tariffname": "Łącze 40/25 Mbit/s",
        "description": "",
        "addinfo": "",
        "servicepricenetto": "0.00",
        "servicepricebrutto": "0.00",
        "servicevatid": "6",
        "servicevatrate": "23",
        "tariff_pricenetto": "0.00",
        "tariff_pricebrutto": "0.00",
        "tariffattributesdescription": "Prędkości standardowe: download: 40960 kbps, upload: 25600 kbps; Prędkości nocne: download: 40960 kbps, upload: 25600 kbps; ilość adresów IP: 2 szt.;",
        "active": "1",
        "activedate": "2018-02-01",
        "lastdeactivdate": "0",
        "blocked": "0",
        "paused": "0",
        "pausetimetype": "0",
        "pausedpricepercent": "0.00",
        "pausestartdate": "0",
        "pauseenddate": "0",
        "pausereason": "",
        "promotion": "0",
        "actualparentid": "0",
        "promotiontype": "1",
        "promotionpricenetto": "0.00",
        "promotionpricebrutto": "0.00",
        "promotionvatid": "0",
        "promotionvatrate": "0",
        "promotionprice": "0",
        "promotiondatestart": "0",
        "promotiondateend": "0",
        "promotiontime": "0",
        "promotioninvoice": "1",
        "testservice": "0",
        "teststartdate": "0",
        "testenddate": "0",
        "teryt_spotid_locationcity": "957650",
        "teryt_spotid_locationstreet": "957666",
        "teryt_streetid_locationstreet": "21541",
        "teryt_nobcid_location": "2175",
        "locationstreetname": "Sukiennicza",
        "locationstreetno": "9",
        "locationblockno": "",
        "locationstaircaseno": "",
        "locationlocal": "126A",
        "locationzip": "91-851",
        "locationcity": "Łódź",
        "locationcountry": "",
        "creatorid": "123",
        "modid": "0",
        "creationdate": "2018-01-18 15:41:37",
        "moddate": "0",
        "breakdate": "0",
        "expiredate": "0",
        "todelete": "0",
        "todeletedate": "0",
        "deleted": "0",
        "location_address": "Łódź,Sukiennicza 9 m./pok. 126A,91-851 Łódź"
    }
}

Słownik opcji kontroli rodzicielskiej

GET /nodes/values/workhour_type

{
    "1": "włączony tylko pomiędzy",
    "2": "wyłączony pomiędzy"
}

Lista kont IPTV

GET /iptv_accounts/shortlist

{
    "total": 1,
    "pages": 1,
    "list": [
        {
            "id": "2697",
            "userid": "17372",
            "iptv_program": "METRO",
            "status": "active",
            "tariffname": "Dostęp do MetroTV",
            "count_stbs": "2",
            "count_orders": "5",
            "total_netto": "73.15",
            "total_brutto": "79.00"
        }
    ]
}

Lista aktywnych subskrypcji dla konta (->active) oraz możliwych do aktywacji w taryfie (->available)

Lista aktywnych subskrypcji dla konta (->active) oraz możliwych do aktywacji w taryfie (->available). Pakiety już zamówione są usuwane z listy dostępnych do zamówienia

GET /iptv_accounts/{RecordId}/packages

Lista aktywnych subskrypcji dla konta (ta sama lista zwracana jest wyżej)

GET /iptv_orders/shortlist?iptv_accountid={RecordId}

Biling telefonii stacjonarnej

GET /voip_billing/shortlist?calldate_month=2021-12

Podsumowanie bilingu tel. stacj.

GET /voip_billing/summary?calldate_month=2021-12

Dane mini-bilingu VOIP wg kategorii

GET /voip_billing/summary?_categories=1&calldate_month=2021-12

Słownik rodzajów połączeń

GET /voip_billing/values/dcontext

Słownik statusu połączenia

GET /voip_billing/values/disposition

Słownik dla filtra krajowe / międzynarodowe

GET /voip_billing/values/international

Słownik daty (ostatnie 12 miesiecy)

GET /voip_billing/values/calldate_month

Słownik kategorii tel. stacj.

GET /voip_traffic_categories/shortlist

Lista numerów stacjonarnych klienta (dla słownika w bilingu)

GET /phones/shortlist

Pobranie bilingu ogólnego VOIP

(narazie CSV)

GET /voip_billing/download?calldate_month=2021-12

Pobranie mini-bilingu VOIP

(narazie CSV)

GET /voip_billing/summary_download?calldate_month=2021-12

Biling telefonii mobilnej

GET /mvno_billing/shortlist?calldate_month=2021-12

Podsumowanie bilingu tel. mob.

GET /mvno_billing/summary?calldate_month=2021-12

Słownik daty (ostatnie 12 miesiecy)

GET /mvno_billing/values/calldate_month

Słownik kategorii tel. mob.

GET /mvno_traffic_categories/shortlist

Słownik typów kategorii tel. mob.

GET /mvno_traffic_types/shortlist

Lista numerów MVNO klienta

GET /mobiles/shortlist

Pobranie bilingu ogólnego MVNO

(narazie CSV)

GET /mvno_billing/download?calldate_month=2021-12

Pobranie mini-bilingu MVNO

GET /mvno_billing/summary_download?calldate_month=2021-12

E-BOK - zapisy

Pobranie listy wszystkich tematów kontaktowych

GET /mail_boktopics/

Pobranie tematu dla akcji "przedłuż umowę"

GET /mail_boktopics/action/contract

Pobranie tematu dla akcji "zgłoś błąd"

GET /mail_boktopics/action/apperror

Wysłanie formularza kontaktowego

POST /ebok/contact

{"subject": 3, "body": "Treść wiadomości"}

Zmiana danych karty klienta

PUT /ebok/user

Dostępne pola do edycji: email, email2, email3, email_invoices, phone1, phone2, phone3 Zmienione będą tylko te pola, które zostaną wysłane w body.

{"email":"email@domena.pl", "email_invoices": "email@domena.pl", "phone1": "111111111"}

Pobranie słownika zgód marketingowych

GET /cfg_dataprocess

Pobranie tylko ustawionych zgód marketingowych klienta

GET /users_dataprocess

Pobranie wszystkich zgód marketingowych

GET /ebok/user/dataprocess

Pobranie zgód z ustawionymi wartosciami dla klienta. Zdefiniowane w słowniku ale nie ustawione będą mieć wartości dpvalue = null, Parametr options informuje o dozwolonych wartościach dla danej zgody. Domyślnie, jeśli puste to akceptowalne są 0 (brak zgody) lub 1 (wyrażona zgoda).

Zapisanie zgód marketingowych

POST /ebok/user/dataprocess

zbiorczo: [{"cdpid": "1", "dpvalue": "1"}, {"cdpid": "2", "dpvalue": "1"}, ...] lub pojedynczo: {"cdpid": "1", "dpvalue": "1"}

Pobranie listy rozpoczętych szybkich płatności klienta

GET /ebok/payments

Pobranie statusu szybkiej płatności z danym {ID}

GET /ebok/payments/{ID}

Pobranie tylko dostępnych kanałów płatności

GET /ebok/payments/channels

Zwrotka 503: {errors: [Płatności online obecnie nie są obsługiwane]} - jeśli w systemie operator płatności nie będzie skonfigurowany lub wystąpi błąd przy inicjowaniu połączenia

Przygotowanie danych do szybkiej płatności

Zwrócenie dostępnych kanałów płatności, listy faktur i danych klienta jakie zostaną przekazane operatorowi płatności (imię, nazwisko, email)

GET /ebok/payments/prepare

Zwrotka 503: {errors: [Płatności online obecnie nie są obsługiwane]} - jeśli w systemie operator płatności nie będzie skonfigurowany lub wystąpi błąd przy inicjowaniu połączenia

Realizacja szybkiej płatności

POST /ebok/payments

Klient musi mieć podany adres email, inaczej api zwróci błąd.

{"channel_id": "tester", "invoices": [1111,1112,...]}

Wysłanie kodu sms-em do podpisania umowy

POST /contracts/{RecordID}/sign

{}

Podpisanie umowy

POST /contracts/{RecordID}/sign

{"pin": "12345678"}

Wysłanie kodu sms-em do podpisania aneksu

POST /annex/{RecordID}/sign

{}

Podpisanie aneksu

POST /annex/{RecordID}/sign

{"pin": "12345678"}

Słownik włączony / zablokowany w godzinach (dla pola workhour_type)

GET /nodes/values/workhour_type

Zmiana ustawień kontroli rodzicielskiej dla adresu IP

PUT /nodes/{RecordID}

{"access": "1", "workhour_type": "1", "workhour_start": "00:00:00", "workhour_end": "23:59:59"}

Aktywacja subskrypcji na pakiet IPTV

POST /iptv_orders

{"iptv_accountid": "", "packageid": "", "iptv_cust_master_pin": ""}

Wysłanie faksu

POST /phones/{RecordID}/web2fax

Pola opcjonalne: faxheader, retries i notify_email Oczekiwana nazwa pola z plikiem: "faxfile" Dopuszczalne rozszerzenia: *.tiff | *.tif | *.pdf | *.jpg | *.jpeg

multipart/form-data Content-Type: application/json {"dst": "423123123", "faxheader": "Nagłówek faksu", "retries": "3", "notify_email": "potwierdzenie_dostarczenia@mail.pl"} Content-Disposition: form-data; name="faxfile"; filename="fax.jpeg" Content-Type: image/jpeg Zawartosc pliku

Pobranie listy złożonych wniosków

GET /ebok/declarations

Ogólne dane ostatniego wniosku dla danej umowy

GET /contracts/{RecordId}/lastdeclaration

Możliwe typy wniosków dla danej umowy

GET /contracts/{RecordId}/declarationtypes

Słownik wszystkich możliwych do złożenia wniosków

GET /ebok/declarations/values/type

Pobranie danych do złożenia wniosku

GET /ebok/declarations/prepare?type=contract_break&type_id=9999

Wymagane parametry: type - rodzaj wniosku wg ww słownika type_id - ID umowy której dotyczy wniosek Zwracane dane: title - tytuł wniosku body - szablon html wniosku, dla contract_break zawiera parametr {expiredate} - data wypowiedzenia umowy reason - lista możliwych powodów rozwiązania umowy

Zapisanie wniosku

POST /ebok/declarations

{"type": "contract_break", "type_id": "9999", "expiredate": "2022-05-01", "reason": "Podpisanie nowej umowy na nowych warunkach"}

W reason jest pole txt - można podać 1 z predefiniowanych powodów lub wpisać własny. Zwrócony zostanie ID którego trzeba użyć do wysłania SMS i podpisania wniosku.

Podpisanie wniosku - wysłanie SMS z kodem PIN

POST /ebok/declarations/{RecordID}/sign

{}

Podpisanie wniosku

POST /ebok/declarations/{RecordID}/sign {"pin": "12345678"}

Anulowanie wniosku (po podpisaniu nie jest już to możliwe)

DELETE /ebok/declarations/{RecordID}

Zlecenia serwisowe

Opis pól

Pole Typ Opis Edycja - POST / PUT
id int(11) unikalne, autonumerowane id rekordu
firmid int(11) id firmy === mms.firms.id
userid int(11) id klienta / uzytkownika === mms.users.id +
teryt_nobcid int(11) id lokalizacji wg TERYT == teryt_nobc.nobcid +
globaldamageid int(11) id usterki globalnej (zbiorczej) === mms.globaldamages.id +
status enum('0','1','2','3','4','5','6','7') status usterki, 1 - nowa, 2 - nierozpoczeta, 3 - rozpoczeta, 4 - niezakonczona, 5 - zakonczona, 6 - zamknieta, 7 - zamknieta i rozliczona (faktura) +
priorityid int(11) id priorytetu usterki === mms.dictionaries.id dla mms.dictionaries.type=2 +
dictionaryid int(11) id slownika usterki === mms.dictionaries.id dla mms.dictionaries.type=3 +
damageno int(11) numer usterki (numeracja mms.damages.damageno/mms.damages.month/mms.damages.year) +
month tinyint(4) miesiac usterki (do numeracji) +
year year(4) rok usterki (do numeracji) +
damagedate int(11) pelna data usterki +
fixtype enum('1','2') flaga pomocy telefonicznej (natychmiastowej z zamknieciem awarii), 1,0 - usterka normalna z historia, 2 - usterka rozwiazana telefonicznie +
payable enum('0','1') flaga usterki platnej (np na prosbe klienta) z wystawieniem faktury, 1 - platna, 0 - bezplatna +
invoiceid int(11) id planu wygenerowanego planu platnosci (faktura za naprawe awarii) +
netto decimal(15,2) sumaryczna kwota (wartosc) netto za naprawe awarii, wartosc w PLN +
vat tinyint(4) wartosc stawki vat +
vatid int(11) id vatu == mms.vatrates.id +
vatvalue decimal(15,2) sumaryczna kwota (wartosc) vat za naprawe awarii, wartosc w PLN +
brutto decimal(15,2) sumaryczna kwota (wartosc) brutto za naprawe awarii, wartosc w PLN +
email varchar(150) adres email klienta na ktory idzie powiadomienie o zakonczeniu uslugi serwisowej +
email_content longtext tresc maila, ktory idzie do klienta po zakonczeniu uslugi serwisowej +
description longtext opis zgloszenia usterki (pokazany w ebok) / przy edycji - wpis do historii zlecenia +
affectedip array lista adresow ip, ktorych dotyczyla awaria +
affectedadreses array lista lokalizacji, ktorych dotyczyla awaria +
creatorid int(11) id administratora tworzacego rekord === mms.admins.id
creationdate int(11) data utworzenia rekordu (int timestamp)
moddate int(11) id administratora ostatnio modyfikujacego rekord === mms.admins.id
modid int(11) data ostatniej modyfikacji rekordu (int timestamp)
fixstartdate int(11) data rozpoczecia naprawy awarii (int timestamp) +
fixfinishdate int(11) data i czas zakonczenia prac nad usunieciem awarii (int timestamp) +
closetime int(11) data zamkniecia usterki (int timestamp) +
closeid int(11) id administratora zamykajacego usterke === mms.admins.id +
showdescr enum('0','1') flaga pokazania informacji oraz historii awarii w ebok (podglad dla klienta), 1 - tak (klient widzi tresc zgloszenia i rozwiazania), 0 - nie (klient widzi tylko zgloszenie) +
servicedescription longtext opis serwisowy (widoczny jedynie dla administratorow / pracownikow) +
notify_firmpositions_id int(11) wybrany dzial, na ktorego adres email beda przychodzic powiadomienia o kazdym nowym wpisie w awarii +
OverdueStatus boolean TRUE jeśli zlecenie jest przeterminowane
Admins array of arrays lista operatorów powiadomionych o zleceniu, klucze: adminid, responsible, name, email, firmphone +
AdminsResponsible array lista operatorów odpowiedzialnych za zlecenie - skrócona lista Admins gdzie responsible=1 +
Procedures array of arrays lista wykonanych procedur podczas przyjmowania zlecenia, klucze: name, result +
Services array of arrays lista usług których dotyczy zlecenie +
sendmail int 1=powiadomienie mailowe dla klienta o zmianie statusu usługi serwisowej, wymagane ustawienie pola email przy przyjmowaniu zgłoszenia +
history_entry longtext Wpis do dodania do historii zlecenia +
GlobalDamageData array Dane usterki globalnej lub null jeśli niepowiązana
NewHistory int(1) 1= Dane zlecenie ma nieprzeczytane wpisy w historii dla aktualnie zalogowanego operatora

+ pole edytowalne
* pole wymagane przy dodawaniu

GET /damages/

Pobranie listy urządzeń.
Dodatkowe parametry GET

Przykłady:

  1. Pobranie zleceń przypisanych do operatora 99
    https://api.system-dev.4web.pl/damages/?Admins=99

  2. Pobranie zleceń aktywnych - ze statusem 1, 2, 3 lub 4
    https://api.system-dev.4web.pl/damages/?status[in]=1,2,3,4

  3. Pobranie zleceń klienta 9999
    https://api.system-dev.4web.pl/damages/?userid=9999

Odpowiedź:

{
  "total": 3,
  "list": [
    {
      "id": "53185",
      "firmid": "1",
      "userid": "9999",
      "teryt_nobcid": "2312",
      "globaldamageid": "0",
      "status": "6",
      "priorityid": "0",
      "dictionaryid": "61",
      "damageno": "52",
      "month": "1",
      "year": "2011",
      "damagedate": "1294076372",
      "fixtype": "2",
      "payable": "0",
      "invoiceid": "0",
      "netto": "0.00",
      "vat": "0",
      "vatid": "0",
      "vatvalue": "0.00",
      "brutto": "0.00",
      "email": "",
      "email_content": "",
      "description": "podano klientowi wszelkie dane niezbedne do ustawienia polaczenia lokalnego",
      "affectedip": [
        "10.3.0.9"
      ],
      "affectedadreses": [
        "Testowa 12 m./pok. 11, 11-233 Łódź"
      ],
      "creatorid": "108",
      "creationdate": "1294076372",
      "moddate": "0",
      "modid": "0",
      "fixstartdate": "1294076372",
      "fixfinishdate": "1294076372",
      "closetime": "0",
      "closeid": "0",
      "showdescr": "1",
      "servicedescription": "",
      "notify_firmpositions_id": "0",
      "NewHistory": "0"
    },
    {
      "id": "53186",
      "firmid": "1",
      "userid": "9999",
      "teryt_nobcid": "2312",
      "globaldamageid": "0",
      "status": "6",
      "priorityid": "0",
      "dictionaryid": "0",
      "damageno": "53",
      "month": "1",
      "year": "2011",
      "damagedate": "1294077940",
      "fixtype": "1",
      "payable": "0",
      "invoiceid": "0",
      "netto": "0.00",
      "vat": "0",
      "vatid": "0",
      "vatvalue": "0.00",
      "brutto": "0.00",
      "email": "",
      "email_content": "",
      "description": "Brak internetu, kontakt- 123123123",
      "affectedip": [
        "10.3.0.9"
      ],
      "affectedadreses": [
        "Testowa 12 m./pok. 11, 11-233 Łódź"
      ],
      "creatorid": "65",
      "creationdate": "1294077940",
      "moddate": "1294767205",
      "modid": "63",
      "fixstartdate": "1294134866",
      "fixfinishdate": "1294155720",
      "closetime": "1294767205",
      "closeid": "63",
      "showdescr": "0",
      "servicedescription": "nie widac nikogo na Testowej 12",
      "notify_firmpositions_id": "0",
      "NewHistory": "0"
    },
    {
      "id": "54644",
      "firmid": "1",
      "userid": "9999",
      "teryt_nobcid": "2312",
      "globaldamageid": "0",
      "status": "6",
      "priorityid": "0",
      "dictionaryid": "0",
      "damageno": "506",
      "month": "2",
      "year": "2011",
      "damagedate": "1297764540",
      "fixtype": "1",
      "payable": "0",
      "invoiceid": "0",
      "netto": "0.00",
      "vat": "0",
      "vatid": "0",
      "vatvalue": "0.00",
      "brutto": "0.00",
      "email": "",
      "email_content": "",
      "description": "brak internetu - kontakt 123123123",
      "affectedip": [
        "10.3.0.9"
      ],
      "affectedadreses": [
        "Testowa 12 m./pok. 11, 11-233 Łódź"
      ],
      "creatorid": "108",
      "creationdate": "1297764590",
      "moddate": "1297787165",
      "modid": "110",
      "fixstartdate": "1297787153",
      "fixfinishdate": "1297788900",
      "closetime": "1297787165",
      "closeid": "110",
      "showdescr": "0",
      "servicedescription": "nie widac klienta na sieci - wg relacji klienta co chwile laczy i rozlacza polaczenie lokalne (czerwony krzyzyk) - poprosilem zeby klient podlaczyl jakis inny komputer - sprawdzi czy problem wystepuje na innym kompie i da znac - prosba o weryfikacje",
      "notify_firmpositions_id": "0",
      "NewHistory": "0"
    }
  ]
}

GET /damages/id/

Pobranie danych zlecenia serwisowego o wskazanym id, np. dla 99999:
https://api.system-dev.4web.pl/damages/99999/

Odpowiedź:

{
  "id": "99999",
  "firmid": "1",
  "userid": "9999",
  "teryt_nobcid": "2312",
  "globaldamageid": "0",
  "status": "6",
  "priorityid": "0",
  "dictionaryid": "61",
  "damageno": "52",
  "month": "1",
  "year": "2011",
  "damagedate": "1294076372",
  "fixtype": "2",
  "payable": "0",
  "invoiceid": "0",
  "netto": "0.00",
  "vat": "0",
  "vatid": "0",
  "vatvalue": "0.00",
  "brutto": "0.00",
  "email": "",
  "email_content": "",
  "description": "podano klientowi wszelkie dane niezbedne do ustawienia polaczenia lokalnego",
  "affectedip": [
    "10.3.0.9"
  ],
  "affectedadreses": [
    "Testowa 12 m./pok. 11, 11-233 Łódź"
  ],
  "creatorid": "108",
  "creationdate": "1294076372",
  "moddate": "0",
  "modid": "0",
  "fixstartdate": "1294076372",
  "fixfinishdate": "1294076372",
  "closetime": "0",
  "closeid": "0",
  "showdescr": "1",
  "servicedescription": "",
  "notify_firmpositions_id": "0",
  "Admins": [],
  "Procedures": [
    {
      "procedureid": "1",
      "name": "Widać klienta komputer/router/rgw/bramkę VoIP?",
      "result": "2",
      "result_desc": "Nie"
    },
    {
      "procedureid": "2",
      "name": "Widać innych na bloku?",
      "result": null,
      "result_desc": "Nie sprawdzono"
    },
    {
      "procedureid": "3",
      "name": "Widać radio/switch?",
      "result": null,
      "result_desc": "Nie sprawdzono"
    },
    {
      "procedureid": "4",
      "name": "Widać stację bazową?",
      "result": null,
      "result_desc": "Nie sprawdzono"
    },
    {
      "procedureid": "5",
      "name": "Restartowano urządzenia?",
      "result": "1",
      "result_desc": "Tak"
    },
    {
      "procedureid": "8",
      "name": "Ustawienia IP/PPPoE poprawne?",
      "result": null,
      "result_desc": "Nie sprawdzono"
    },
    {
      "procedureid": "6",
      "name": "Poproszono o restart k.sieciowej?",
      "result": "1",
      "result_desc": "Tak"
    },
    {
      "procedureid": "7",
      "name": "Sprawdzono numer kontaktowy?",
      "result": "1",
      "result_desc": "Tak"
    },
    {
      "procedureid": "9",
      "name": "Klient prosi o kontakt przed zamknięciem awarii?",
      "result": null,
      "result_desc": "Nie sprawdzono"
    }
  ],
  "Services": [
    "9,19194"
  ],
  "contractid": "11422",
  "OverdueStatus": false
}

POST /damages/

Dodanie zlecenia serwisowego

Treść żądania POST:

{
    "userid":9999,
    "description":"usterka testowa",
    "servicedescription":"opis zlecenia",
    "fixtype":1,
    "priorityid":0,
    "dictionaryid":0,
    "Services":["9,19194"],
    "Procedures":[{"procedureid":1, "result":2}, {"procedureid":4, "result":2}, {"procedureid":7, "result":1}],
    "payable":0
}

Odpowiedź - ID dodanego zlecenia

71778

PUT /damages/id/

Edycja zlecenia serwisowego

Po udanym wykonaniu operacji w odpowiedzi jest wartość true:

true

Przykłady żądań POST:

{
  "status": 2,
  "Admins": [50,51,52],
  "notify_firmpositions_id": 2,
  "history_entry": "przypisano do serwisu"
}
{
  "status": 3,
  "Admins": [50, 51, 52],
  "AdminsResponsible": [50, 51],
  "fixstartdate": "2020-02-20 13:30:00",
  "fixfinishdate": "2020-02-21 14:30:00",
  "history_entry": "wybranie osób odpowiedzialnych"
}
{
  "status": 4,
  "history_entry": "potrzebna rekonfiguracja rutera",
  "fixfinishdate": "2020-02-21 15:30:00"
}
{
  "status": 5,
  "history_entry": "konfiguracja rutera"
}
{
  "status": 6,
  "history_entry": "zlecenie zamknięte, wszystko działa"
}

POST /damages/id/assignadmins

Zmiana przypisanych operatorów

POST:

{
  "Admins": [50, 51, 52],
  "AdminsResponsible": [50, 51]
}

POST /damages/id/setglobal

Przypisanie do awarii globalnej

POST:

{
  "globaldamageid": 99
}

DELETE /damages/id/setglobal

Odpięcie od awarii globalnej

DELETE /damages/id/

Usunięcie zlecenia serwisowego. Można wykonać tylko dla nowo utworzonego, nieprzypisanego zlecenia.

Procedury zleceń

Opis parametrów

Pole Typ Opis Edycja - POST / PUT
id int(11) unikalne, autonumerowane id rekordu
firmid int(11) id firmy === mms.firms.id
name varchar(255) nazwa procedury / czynności +
result_1 varchar(100) wynik 1 do wyboru dla procedury +
result_2 varchar(100) wynik 2 do wyboru dla procedury +
result_def varchar(100) wynik domyslny dla procedury (nic nie wybrano) +
sequence int(11) kolejność wyświetlania procedur awarii +
deleted tinyint(1) flaga usuniecia procedury

+ pole edytowalne
* pole wymagane przy dodawaniu

GET /damages_procedures/

Pobranie listy procedur zleceń serwisowych. Domyślnie procedury z ustawioną flagą deleted nie są pobierane.
Dodatkowe parametry GET

GET /damages_procedures/id/

Pobranie danych procedury zlecenia serwisowego o wskazanym id, np. dla 9999:

POST /damages_procedures/

Dodanie procedury

PUT /damages_procedures/id/

Edycja procedury

DELETE /damages_procedures/id/

Usunięcie procedury - ustawiona zostanie flaga deleted.

Historia zlecenia

Opis parametrów

Pole Typ Opis Edycja - POST / PUT
id int(11) unikalne, autonumerowane id rekordu
firmid int(11) id firmy === mms.firms.id
damageid int(11) id awarii === mms.damages.id *
type enum('0','1','2','3','4','5','6') typ rekordu historycznego: 0-nic, 1-zmiana daty usterki, 2-przeniesienie do usterki globalnej, 3-przeniesienie z usterki globalnej, 4-powiadomienie adminow, 5 - ustawienie planowanej daty rozpoczecia naprawy, 6 - zaplanowanie zakonczenia naprawy
status enum('0','1','2','3','4','5','6','7') status awarii, 0 - nic (nie ma zastosowania), 1 - nowa, 2 - nierozpoczeta, 3 - rozpoczeta, 4 - niezakonczona, 5 - zakonczona, 6 - zamknieta, 7 - rozliczona (zamknieta i zafakturowana - tylko dla napraw platnych z faktura)
planneddate int(11) planowana data rozpoczecia (dla status=2) lub zakonczenia naprawy +
description longtext opis / tresc zdarzenia historycznego +
sendmail text wyslany e-mail do klienta +
creatorid int(11) id administratora tworzacego rekord === mms.admins.id
creationdate int(11) data utworzenia rekordu (int timestamp)
NewHistory int(1) 1= Wpis nie został jeszcze przeczytany przez aktualnie zalogowanego operatora

+ pole edytowalne
* pole wymagane przy dodawaniu

GET /damageshistory/

Pobranie listy wpisów dla zlecenia serwisowego
Dodatkowe parametry GET

Przykład - pobranie listy dla zlecenia 9999, posortowanie według daty malejąco:

https://api.system-dev.4web.pl/damageshistory/?damageid=9999&_orderby=creationdate&_order=desc

Odpowiedź:

{
  "total": 5,
  "list": [
    {
      "id": "16702",
      "firmid": "1",
      "damageid": "9999",
      "type": "0",
      "status": "6",
      "planneddate": "0",
      "description": "dziala restart radio",
      "sendmail": "",
      "creatorid": "5",
      "creationdate": "1148064594",
      "NewHistory": "0"
    },
    {
      "id": "16252",
      "firmid": "1",
      "damageid": "9999",
      "type": "0",
      "status": "5",
      "planneddate": "0",
      "description": "zalogowanie i konfiguracja radio",
      "sendmail": "",
      "creatorid": "38",
      "creationdate": "1147641359",
      "NewHistory": "0"
    },
    {
      "id": "16251",
      "firmid": "1",
      "damageid": "9999",
      "type": "0",
      "status": "3",
      "planneddate": "0",
      "description": "",
      "sendmail": "",
      "creatorid": "38",
      "creationdate": "1147641242",
      "NewHistory": "0"
    },
    {
      "id": "16250",
      "firmid": "1",
      "damageid": "9999",
      "type": "4",
      "status": "2",
      "planneddate": "0",
      "description": "",
      "sendmail": "",
      "creatorid": "38",
      "creationdate": "1147641201",
      "NewHistory": "0"
    },
    {
      "id": "16247",
      "firmid": "1",
      "damageid": "9999",
      "type": "0",
      "status": "1",
      "planneddate": "0",
      "description": "Brak internetu ust.poprawne nie widac apry podjechac jutro po 15",
      "sendmail": "",
      "creatorid": "38",
      "creationdate": "1147595440",
      "NewHistory": "0"
    }
  ]
}

GET /damageshistory/id/

Pobranie danych wpisu.

Przykład:

https://api.system-dev.4web.pl/damageshistory/16702/

Odpowiedź:

{
  "id": "16702",
  "firmid": "1",
  "damageid": "9999",
  "type": "0",
  "status": "6",
  "planneddate": "0",
  "description": "dziala restart radio",
  "sendmail": "",
  "creatorid": "5",
  "creationdate": "1148064594"
}

POST /damageshistory/

Dodanie wpisu do historii zlecenia

Zawartość POST:

{
    "damageid": 9999,
    "description": "opis podjętych czynności"
}

Odpowiedź - id dodanego wpisu:

495277

PUT /damageshistory/id/

Edycja wpisu

Zawartość POST:

{
    "description": "edycja opisu podjętych czynności"
}

Odpowiedź - true:

true

PUT /damageshistory/id/setread

Oznacz wpis jako przeczytany dla aktualnie zalogowanego operatora.
Funkcja nie ma parametrów w BODY.

Odpowiedź - true:

true

Usuwanie

Dla historii zlecenia usuwanie wpisów nie jest możliwe.

Awarie globalne

Opis pól

Pole Typ Opis Edycja - POST / PUT
id int(11) unikalne, autonumerowane id rekordu
firmid int(11) id firmy === mms.firms.id
name varchar(255) nazwa usterki globalnej +
status enum('0','1','2','3','4','5') status usterki globalnej, 1 - nowa, 2 - nierozpoczeta, 3 - rozpoczeta, 4 - niezakonczona, 5 - zakonczona +
damageno int(11) numer usterki globalnej (numeracja mms.globaldamages.damageno/mms.globaldamages.year) +
year year(4) rok usterki globalnej (do numeracji) +
date int(11) pelna data usterki globalnej +
type enum('damage', 'plan') damage - awaria globalna / plan - prace planowe +
locationid int(11) id lokalizacji === mms.servers.id +
damageinfo longtext informacja / komentarz awarii +
userinfo longtext informacja dla klientow na stronie www / ebok +
submitedto longtext administratorzy (pracownicy) powiadomieni o awarii, id-y administratorow rozdzielone znakie | (kazdy id === mms.admins.id) +
fixstarttime int(11) data rozpoczecia naprawy usterki globalnej +
fixinfo longtext informacje dotyczace rozpoczecia naprawy +
fixfinishtime int(11) data zakonczenia naprawy usterki +
note longtext notatka dotyczaca zakonczenia / zamkniecia awarii +
creatorid int(11) id administratora tworzacego rekord === mms.admins.id
creationdate int(11) data utworzenia rekordu (int timestamp)
modid int(11) id administratora ostatnio modyfikujacego rekord === mms.admins.id
moddate int(11) data ostatniej modyfikacji rekordu (int timestamp)
notify_firmpositions_id int(11) wybrany dzial, na ktorego adres email beda przychodzic powiadomienia o kazdym nowym wpisie w awarii globalnej +

+ pole edytowalne
* pole wymagane przy dodawaniu

GET /globaldamages/

Pobranie listy urządzeń.
Dodatkowe parametry GET

Przykłady:

  1. Pobranie zleceń klienta 9999

https://api.system-dev.4web.pl/globaldamages/

Odpowiedź:


GET /globaldamages/id/

Pobranie danych zlecenia serwisowego o wskazanym id, np. dla 9999:

https://api.system-dev.4web.pl/damages/99999/

Odpowiedź:

{
    "id": "99999",
    "firmid": "1",
    "name": "Awaria Testowa",
    "type": "plan",
    "status": "5",
    "damageno": "7",
    "year": "2024",
    "date": "1707390000",
    "userid": "0",
    "damageinfo": "test",
    "userinfo": "",
    "submitedto": "|162|",
    "fixstarttime": "1709821817",
    "fixinfo": "",
    "fixfinishtime": "1709821862",
    "note": "",
    "creatorid": "0",
    "creationdate": "0",
    "modid": "195",
    "moddate": "1709821862",
    "notify_firmpositions_id": "0",
    "serverid": "0"
}

POST /globaldamages/

Dodanie usterki globalnej

PUT /globaldamages/id/

Edycja usterki globalnej

DELETE /globaldamages/id/

Usunięcie usterki globalnej. Można wykonać tylko dla nowej usterki, do której nie przypisano jeszcze żadnego zgłoszenia.