Picture of FelixH
Registered 6 years 266 days
FelixH Monday, 7 June 2021, 01:45 PM
Feature Request: REST API für Built-In Services
Guten Tag,

ich weiß nicht ob das hier der richtige Ort für einen Feature Request ist aber ich schreibe einfach mal was ich mir wünschen würde als kommendes Feature für Innovaphone.

Innovaphone bietet mit seinen Produkten in alle Richtungen eine sehr hohe Flexibilität und schafft damit die Möglichkeit quasi alle Anforderungen des Kunden in irgendeiner Art und weiße umsetzen zu können.

Nun kam ein Kunde um die Ecke und fragte nach einer einfacheren Art die Kontakte in der Contacts App zu pflegen.
Also habe ich dazu ein PHP Skript geschrieben welche die Daten in einer JSON speichert und die Option bieten soll diese Daten per Knopfdruck an die AppPlatform zu schicken. In der Basis recht einfach aber sobald es an die Kommunikation mit der AP geht hackt es etwas. Im Wiki finde ich hierzu ein Powershell Beispiel mit einem CURL Request zum Upload einer CSV Datei. Damit kam ich zwar bisher nicht zum gewünschten Erfolg, das soll aber auch nicht Thema dieser Anfrage sein.

Ich würde mir wünschen das die PBX und die AppPlatform durch Standard HTTP Anfragen steuerbar und konfigurierbar ist. Da es quasi zum API Standard geworden ist, würde sich hier eine REST API anbieten.

Gibt es gründe die ich nicht sehe die dagegen sprechen würden ?
Was sind eure Meinungen zu dem Thema ?

Ich sehe hier großes Potential, zumal man dadurch sehr einfach andere Tools wie CRM/ERP Systeme, Ticketsysteme und Co mit Daten aus der PBX versorgen könnte oder umgekehrt.

Ich freue mich auf Meinungen hierzu,

Gruß

Felix
Andreas Fink
Moderator Registered 12 years 277 days
Andreas Fink (innovaphone) Monday, 7 June 2021, 05:36 PM
2 of 2 users consider this post helpful
Re: Feature Request: REST API für Built-In Services
Hallo Felix,

wir setzen seit Version 13 primär auf die Kombination WebSocket und JSON, was zwar in der Verwendung nicht so simpel ist, wie eine HTTP GET Abfrage per curl, dafür aber andere Vorteile bietet (z.B. bidirektionale Echtzeitkommunikation, Authentifizierung auf Applikationsebene etc.). Es wäre sehr aufwendig jetzt, parallel zu WebSocket, eine REST API durch sämtliche Applikationen aufzuziehen. Zumal man den Umfang gar nicht abschätzen kann, was man so alles GETten und PUTten möchte.

Aber ich kann den Wunsch nach einer REST API absolut nachvollziehen. In bestimmten Szenarien ist das aufziehen einer WebSocket Session, samt Authentifizierung, für eine einzige GET Abfrage ist wie mit Kanonen auf Spatzen geschossen.

Alternativ kann man eine eigene App bilden, die auf einer Seite eine maßgeschneiderte REST API zur Verfügung stellt, und auf der anderen Seite per WebSocket mit PBX oder App Service kommuniziert. Dazu gibt es einen Beispiel in der SDK Dokumentation:
https://sdk.innovaphone.com/13r1/doc/tutorials/HttpRequests.htm
Zusätzlich, ab Version 13r2 wird es eine JavaScript Runtime Environment geben, mit der man die Middliware auch in JavaScript, anstatt in C++, umsetzen könnte. Dies erscheint mir als realistischere Variante, was REST API angeht.

Grüsse
Andreas Fink

P.S.: übrigens, die "alte" Web GUI von innovaphone Gateways und IP-Phones basiert auf GET und POST Requests, womit man theoretisch eine REST API bereits hat. Es reicht im Browser die HTTP Requests zu untersuche, während man die PBX Konfiguriert, um zu sehen, was genau gepostet wird.
Picture of FelixH
Registered 6 years 266 days
FelixH Tuesday, 8 June 2021, 01:12 PM
Re: Feature Request: REST API für Built-In Services
Hallo Andreas,

danke für die ausführliche Erklärung.
Schade aber durchaus Nachvollziehbar. Websocket und C++ stehen nicht wirklich auf meiner Skill List ;)

Zum einen ja hast du recht, REST API wäre für kleine Aufgaben einfacher und schneller umzusetzen, den größten Vorteil sehe ich aber fast in der Flexibilität der Implementierung. Dadurch wäre die Sprache oder Tool fast egal und frei wählbar.

Nun vielleicht ist es ja die Möglichkeit sich mehr mit Websocket zu beschäftigen.
Dann dazu nur eine Frage, ich finde in der Doku alle Client APIs außer Contacts.
Gibt es hier noch mehr oder kommt das noch mit r2 ?

Gruß

Felix
Andreas Fink
Moderator Registered 12 years 277 days
Andreas Fink (innovaphone) Tuesday, 8 June 2021, 02:22 PM
Re: Feature Request: REST API für Built-In Services
Hallo Filix,

> Dann dazu nur eine Frage, ich finde in der Doku
> alle Client APIs außer Contacts.
> Gibt es hier noch mehr oder kommt das noch mit r2 ?

Welche Clients API sind gemeint?

Grüsse
Andreas Fink
← You can define your color theme preference here