Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013
Wersja Standard i Plus: •
we właściwościach terminala dodano wskaźnik poziomu sygnału urządzenia GSM wyrażony w dBm. Podstawa teoretyczna: http://pl.wikipedia.org/wiki/DBm. Wartość wskaźnika jest aktualizowana po naciśnięciu przycisku Odśwież w menu podręcznym terminala:
•
we właściwościach zadania wysyłania dodano pole ilości wysłanych SMS-ów:
•
pole Ilość błędów we właściwościach zadania wysyłania zawsze widoczne niezależnie od ilości błędów (wcześniej było widoczne gdy ilość błędów > 0):
Wersja Plus: •
nowe HTTP API wersja graficzna (format HTTP) znajduje się na domyślnym adresie serwera. Dla lokalnego komputera to http://localhost Uwaga! Poprzednia wersja HTTP API została przeniesiona do podkatalogu old czyli http://localhost/old
•
JSON API umożliwia otrzymywanie odpowiedzi od programu jako tablicy JSON w procesie czytania, edycji, usuwania oraz dodawania nowych wpisów (obiektów) do programu SMSFall. Używając protokołu JSON do komunikacji z aplikacją należy użyć w nagłówku GET zmiennej output=json. Przykłady użycia JSON API dla PHP do pobrania z: http://smsfall.pl/download/apitest.zip Logowanie: do logowania służą parametry nagłówka user oraz password. Nazwa użytkownika to admin natomiast hasło definiuje się w opcjach programu (zakładka Serwer HTTP). Jako obiekty w API programu rozumiane są : Obiekt
Opis
Task
Zadanie wysyłania
Subtask
Podzadanie (pojedynczy SMS)
Reply
Odpowiedź (SMS)
Contact
Kontakt
Contactgroup
Grupa kontaktów
Na obiektach możliwe jest wykonanie następujących operacji: Operacja/Obiekt
Task
Subtask
Reply
Contact
Contactgroup
find
x
x
x
x
x
edit
x
-
x
x
x
delete
x
x
x
x
x
add
x
-
-
x
x
search
-
-
-
-
-
Przykład: Strona http:/localhost/findReply?id=11&output=json służy do wyświetlania odpowiedzi SMS dla podanego id. Dla operacji find, edit, delete należy podać parametr nagłówka GET/POST id. Dla operacji add oraz edit należy podać dodatkowe parametry. Nazwy parametrów są dostępne po wyświetleniu obiektu za pomocą operacji find.
Przykład: Zapytanie wyświetlające kontakt o id równym 1 http://localhost/findContact?id=1&output=json&user=admin&password=adminpass { "status": "data ready", "object": { "id": 1, "firstname": "Jan", "surname": "Kowalski", "phonenumber": "+48999999999", "comment": "Brak komantarza", "groups": [ { "group": { "id": 1 } } ], "street": "Poznańska 999/999", "city": "Warszawa", "zip": "99-999", "region": "mazowieckie", "country": "Polska", "vocative": "Janie", "gender": 1, "email": "
[email protected]", "www": "modaiuroda999.pl", "companyname": "Moda i Uroda Sp. z o.o.", "nip": "9999999999", "field1": "Pole 1", "field2": "Pole 2", "field3": "Pole 3", "field4": "Pole 4" } }
Przykład: Aktualizacja treści wiadomości w zadaniu wysyłania o id równym 1. http://localhost/editTask?output=json&id=1&content=Test1&user=admin&password=adminpass {
}
"status": "updated succefully", "object": { "nationalcharacters": false, "priority": 2, "deliveryreport": true, "flash": false, "activity": true, "finished": false, "finishdate": null, "matchresponses": true, "sender": { "id": 1, "number": "" }, "propagation": { "propagationtimefrom": "01-01-1970 00:01:00", "propagationtimeto": "01-01-1970 23:58:59", "propagationdatefrom": "01-01-2013 00:00:00", "propagationdateto": "31-12-2013 00:00:00", "saturdayexclude": false, "sundayexclude": false }, "subtasks": [ { "id": 1 } ], "count": 1, "countsended": 0, "counterrors": 0, "counterrorsfatal": 0, "id": 1, "content": "Test1", "archive": false, "entrydate": "20-05-2013 01:54:10" }
Przykład: Dodanie nowego zadania wysyłania. http://localhost/addTask? content=Test&archive=false&nationalcharacters=false&priority=2&deliveryreport=true&flash=false&a ctivity=true&matchresponses=true&sender=1&propagationtimefrom=00:01:00&propagationtimeto=2 3:58:59&propagationdatefrom=01-01-2013&propagationdateto=31-122013&saturdayexclude=false&sundayexclude=false&subtasksId=1,2,3&output=json&user=admin&p assword=adminpass {
}
"status": "added succefully", "object": { "nationalcharacters": false, "priority": 2, "deliveryreport": true, "flash": false, "activity": true, "finished": false, "finishdate": null, "matchresponses": true, "sender": { "id": 1, "number": "" }, "propagation": { "propagationtimefrom": "01-01-1970 00:01:00", "propagationtimeto": "01-01-1970 23:58:59", "propagationdatefrom": "01-01-2013 00:00:00", "propagationdateto": "31-12-2013 00:00:00", "saturdayexclude": false, "sundayexclude": false }, "subtasks": [ { "id": 2 } ], "count": 0, "countsended": 0, "counterrors": 0, "counterrorsfatal": 0, "id": 2, "content": "Test", "archive": false, "entrydate": "20-05-2013 02:09:40" }
W zależności od operacji możliwe są następujące statusy odpowiedzi: Status
Opis
not logged in
Nie zalogowany
invalid id parameter
Parametr id jest nieprawidłowy
id not exists
Nie podano parametru id
data ready
Dane są dostępne
unexpected error
Wystąpił nieoczekiwany błąd
deleted succefully
Kasowanie zakończone pomyślnie
not deleted
Kasowanie niepomyślne
added succefully
Dodano
updated succefully
Zaktualizowano
invalid parameter: x
Brak parametru/parametr nieprawidłowy
W przypadku kasowania kontaktów bądź grup kontaktów które posiadają zależne wpisy (wysłane/otrzymane SMS-y) możliwe jest podanie parametru option w nagłówku żądania: Wartość option
Siła kasowania
option=0
Nie kasuj kontaktów posiadających zależne wpisy
option=1
Kasuj kontakty, nie kasuj zależnych wpisów (wychodzące/otrzymane SMS)
option=2
Kasuj kontakty, kasuj zależne wpisy (wychodzące/otrzymane SMS)
W celu dodania do grupy kontaktów kontaktów należy użyć parametru groups dla którego po przecinkach podajemy id kolejnych kontaktów. W celu dodania do zadania wysyłania numerów kontaktów można użyć dwóch parametrów: • •
subtasks – numery telefonów po przecinkach (+48999999999,+48888888888) subtasksId – id kontaktów zapisanych w książce kontaktów programu (1,2,3)
Uwaga: podając podczas edycji wartości dla parametru subtasks albo subtasksId dodaje się kolejne SMS-y dla zadania wysyłania. Pozostałe przykłady użycia JSON API dla PHP do pobrania z: http://smsfall.pl/download/apitest.zip