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