James,Should the app work if your OSTicket site is running on a alternative port?Whenever i enter the domain where my site is running on; http://support.**.nl and i enter my username/password it comes up with "Invalid phone ID".

18 days later

Just got it working on our 1.7, requires a few code tweaks. I diff'd the class.tickets.php files.. merged in the changes, sweet. Reset permissions on /api/soap/ when it became obvious that I'd broken the whole thing trying to require files that the web-server can't read.. ;-)Next, got one of our reps to guinea-pig the app, wasn't sure what the url is, perhaps your documentation should say that its the Client url, even for staff.. bit of faffing about trying to figure that out, not that big of a deal I suppose.Next, started seeing massive errors in the logs. Turns out our older version of php (the reason we haven't gone beyond 1.7 yet) baulks at lambda functions.. so, that lovely inline usort algorithm you've implemented (tickets.class.php), nuh.. had to name it to get it working. (global scope, I'm useful, but lazy), if you wished backwards compatibility, or if my 1.7 brothers attempt this, you'll need to rewrite it thusly:             usort($messages, 'sort_thread');Create the following after the class definition:    function sort_thread($a, $b) {         return strtotime($a) - strtotime($b);    };Next major errors preventing anything happening, the thread, it needed to be rewritten (ticket.class.php) to something like this:            if (isVersion('1.7'))            {                if($thread=$ticket->getThreadEntries(array('M', 'R'))) {...Which meant the "getNotes" function also needed expanding, which is admittedly a copypasta of the 1.8+ code, but with the correct $thread.            if(isVersion('1.7')){                 if($thread = $ticket->getThreadEntries(array('N'))) {                    foreach($thread as $entry) {                        if ($entry == 'N')                            $notes = array(                                'created' => date(DATE_RFC3339, strtotime($entry)),                                'staff' => Format:($entry),                                'title' => Format:($entry),                                'note' => Format:($entry)                            );                    }                }            }Finally, I modified your == null thing (ticket.class.php), into:             // Do we have a valid ticket?            if (!($ticket instanceof Ticket))I probably should have detailed that in "file order".. but that was the order I found them in.Quick question about this "Integration ID" field in notify.php.. how would that work for more than one user? Also, does it use your servers? (url = "http://atomiccomputers.com/eTicketAPI.php")I'm sure there is something odd about that, just can't put my finger on it.. guess we'll stick to email notifications for now.

12 days later

James,

Should the app work if your OSTicket site is running on a alternative port?

Whenever i enter the domain where my site is running on; http://support.**.nl and i enter my username/password it comes up with "Invalid phone ID".

Hi Yorickr,It will work, but only if we know what port it is that it is running on.  Our firewall has only specific outbound ports open, so unless we add it to the list it will not work.  We are thinking of only allowing certain ports to be open for this, but for now we are just opening what people would like to use.Thanks,James

Just got it working on our 1.7, requires a few code tweaks.

I diff'd the class.tickets.php files.. merged in the changes, sweet. Reset permissions on /api/soap/ when it became obvious that I'd broken the whole thing trying to require files that the web-server can't read.. ;-)

Next, got one of our reps to guinea-pig the app, wasn't sure what the url is, perhaps your documentation should say that its the Client url, even for staff.. bit of faffing about trying to figure that out, not that big of a deal I suppose.

Next, started seeing massive errors in the logs. Turns out our older version of php (the reason we haven't gone beyond 1.7 yet) baulks at lambda functions.. so, that lovely inline usort algorithm you've implemented (tickets.class.php), nuh.. had to name it to get it working. (global scope, I'm useful, but lazy), if you wished backwards compatibility, or if my 1.7 brothers attempt this, you'll need to rewrite it thusly:

            usort($messages, 'sort_thread');

Create the following after the class definition:

    function sort_thread($a, $b) {

         return strtotime($a) - strtotime($b);

    };

Next major errors preventing anything happening, the thread, it needed to be rewritten (ticket.class.php) to something like this:

            if (isVersion('1.7'))

            {

                if($thread=$ticket->getThreadEntries(array('M', 'R'))) {

...

Which meant the "getNotes" function also needed expanding, which is admittedly a copypasta of the 1.8+ code, but with the correct $thread.

            if(isVersion('1.7')){

                 if($thread = $ticket->getThreadEntries(array('N'))) {

                    foreach($thread as $entry) {

                        if ($entry == 'N')

                            $notes = array(

                                'created' => date(DATE_RFC3339, strtotime($entry)),

                                'staff' => Format:($entry),

                                'title' => Format:($entry),

                                'note' => Format:($entry)

                            );

                    }

                }

            }

Finally, I modified your == null thing (ticket.class.php), into:

            // Do we have a valid ticket?

            if (!($ticket instanceof Ticket))

I probably should have detailed that in "file order".. but that was the order I found them in.

Quick question about this "Integration ID" field in notify.php.. how would that work for more than one user?

Also, does it use your servers? (url = "http://atomiccomputers.com/eTicketAPI.php")

I'm sure there is something odd about that, just can't put my finger on it.. guess we'll stick to email notifications for now.

Hi Grizly,I applaud your work on updating the class.ticket.php file, but unfortunately you went way above and beyond what was actually needed, I'm sorry to say.  I would have made one or 1.7.*, but I didn't not have that version when I made these.  However, the updates I made to class.ticket.php are only for push notifications.  If you do not need to use push notifications you do not need to update this file.If you do want to use push notifications, you only need to do these things.  Add this to the top under all the other includes://code added by atomic computers for eticket app integrationif (file_exists(dirname(dirname(__FILE__))."/api/soap/notify.php")) {    require_once(dirname(dirname(__FILE__))."/api/soap/notify.php");}Then, in all of the places where it sends and email notification, you will add this://code added by atomic computers for eticket app integration$args = array(    'action' => 'sendPushNotification',    'ticket_id' => $this->getId(),    'staff_id' => $staff->getId(),    'message' => $alert,    'type' => "notify_new");post_json($args);It is always inside this area:foreach( $recipients as $k=>$staff) {    if(!is_object($staff) || !$staff->isAvailable() || in_array($staff->getEmail(), $sentlist)) continue;    $alert = $this->replaceVars($msg, array('recipient' => $staff));    $email->sendAlert($staff->getEmail(), $alert, $alert, null, $options);    $sentlist = $staff->getEmail();        //code added by atomic computers for eticket app integration    $args = array(        'action' => 'sendPushNotification',        'ticket_id' => $this->getId(),        'staff_id' => $staff->getId(),        'message' => $alert,        'type' => "notify_new"    );        post_json($args);}This will have it send a push notification to each staff member who would have been notified by email.The issue here is the 'type' key.  In this example, it says 'notify_new'.  But you also have 'notify_assign' for the area of the class file where it sends an email for the ticket being assigned, 'notify_overdue', 'notify_transfer', and 'notify_reply' for all of their corresponding areas.  Then I use 'notify_misc' for anything else.That is all of the changes made to the ticket class file.  The rest of the file should be the default file that came with your version of OSTicket.The 'Integration ID' field is for everyone using your installation of OSTicket.  Everyone has the same integration ID that logs into your system.  (It goes by the URL.)  But yes, all push notifications go through our server.  We have to use a .pem file to sign all of the push notifications before we send them to Apple, which the .pem file is on our server.Let me know if you have any other questions.Thanks,James

Hi James, I wondered, especially when those post_json errors appeared for non-app users.. That was disabled shortly after, I just didn't document it here.However, I did have to change your code for the app user to even start using it. Those changes weren't to osTicket code mate, to yours.Anyway, the user is happy as can be, so I'm happy, thank you very much!

5 days later

Hi James,I work for a school and am looking at implementing OS Ticket and your iOS App would be perfect. Are you still offering a free copy to organisations?If so it would be greta to get a copy.Kind regards,Ben

4 days later

I also work for a school, in higher education, and we started widely using osticket only about a year ago and love it. We would also be interested in evaluating the app with 1 or 2 users before deciding to implement it on a larger scale. I know I am late to the party but are there free copies still up for grabs?Thanks in advance for all your hard work in developing this,B

7 days later

James,I have replaced the class file and updated the notify file with my ID, but i still dont get any push notification settings. IOS 7.1.2osTicket Versionv1.9.3-58-g0130809 (0130809)I can login with no problem and see the tickets.and open tickets and such, just no push notification.thanksDave

17 days later

Hi Dave,When you say you don't get any settings, do you just mean you are not receiving any push notifications at all?Can you send me a message through the app so I can get your app ID please?  I'll be able to check it out from there.Thanks,James

To All,Sorry, but we are no longer giving away free copies of the app.  We are receiving good feedback and have a list of bugs to fix and features to include.  If we start to give away more apps, we'll let you know.Thanks,James

Maybe you could use the new TestFlight feature from Apple?Then it's only the betaversions.. ;-)

8 days later

To All and to JamesJewell personally,In my work I need timely notification about problems, I chose osTicket. On the forum found this topic with reference to the program, purchased, configured, and got a bunch of errors. Went to the website developer, has already written two letters, but received no response. I want to contact the developer here and ask if he wants to answer my messages.Thanks,Vitali

5 days later

Hello, I would like to receive a notification if possible when the Android App becomes available. We have a task force of 5 that can test the application if needed. 

9 days later

I would certainly be interested in using the Android app myself. I work for a non profit that provides healthcare for the homeless. This would be perfect for assisting me at keeping track of tickets without having to go back to my office every time.

21 days later

To All and to JamesJewell personally,

In my work I need timely notification about problems, I chose osTicket. On the forum found this topic with reference to the program, purchased, configured, and got a bunch of errors. Went to the website developer, has already written two letters, but received no response. I want to contact the developer here and ask if he wants to answer my messages.

Thanks,

Vitali

Hi Vitali,Has your ticket been addressed with us?  If not, can you let me know what your ticket number is?Thanks,James

To All,I will post a new thread when the Android version becomes available.  I have not had time to work on it due to all of the changes with OSTicket and IOS in general and having to continually update the app and API.Thanks,James

a month later

We have a few little problems with the IPhone app, using it on the latest IOS and iPhone 5, 6 and 6 plus when working with tickets the keyboard is in the way when commenting on tickets and won't allow you to scroll down enough to show the field you are typing in. I'm using osTicket 1.9.4. Push and everything else works great, push is very fast but app runs slow. Also on all devices it will show a number on the icon as if tickets are open even if all tickets are closed, and all numbers are different.

8 days later

Hi jamesjewell,I just bought the app at itunes app store.among the instructions is to visit osticketapp.com/download(s) to get more files and put that in our osticket installation.since i bought it 2-3 days ago, i always get a fortinet firewall error referring to policy number 47. I tested in different computers, in different offices and in different ISPs and all the same, can you help?

4 months later

Hi @[deleted]I hope this is something simple. I just bought your app and I am getting a "Could Not Validate Settings" error when trying to log in. I've placed the soap folder in the api folder on my web server, and I've got the correct url in the URL box.Any ideas?Samps. I'm on osTicket v1.9.8.1 if that makes a difference

Okay, reading through this discussion, I get a slight inkling that the web server needs to be forward facing, is that correct? If so, why can't the app just use local wifi to access the server? Our helpdesk system is used internally only (and VPN is used when accessing outside the network). Our privacy and security policies would definitely not allow the helpdesk traffic to go through your servers, so if i can't use the local network, then this is useless to me.Don't get me wrong, its a great app, but I wish it was stated somewhere that the web server need to be externally accessible!If this isn't the case, then great! I am still getting the error though.Sam

Write a Reply...