API utilisant SLIM php

API utilisant SLIM php - PHP - Programmation

Marsh Posté le 02-04-2014 à 16:35:02    

Bonjour à tous !

 

J'ai à développer une application en php qui va être chargée de réceptionner les appels envoyé par keyyo (un logiciel de traitement d'appel). Le but étant d'avoir une fiche de la personne qui appel pour avoir des infos sur ses précédents appels (par exemple: la durée de ses appels, les commentaires mit sur cette personne, et de "tags" qui vont permettre de faire des stats par la suite). En gros, vous avez un appel, POUF une fenetre apparait sur votre écran (via node.js) pour vous prévenir de l'appel, et vous avez la fiche du client devant les yeux et la possibilité d'ajouter des commentaires/tags pendant l'appel.

 


Pour cela, Keyyo va envoyer des infos en $_GET a l'API.
du type : http://www.exemple.tld/notificatio [...] e=_N_TYPE_

 

Je dois récuperer ces infos via SLIM, détecter que c'est un appel en cours (pas encore décroché, donc variable ntype=SETUP dans keyyo) puis créé un nouvel appel dans ma BDD pour pouvoir lui attribuer des commentaires, des tags, un appelant et un appelé, une heure/date de début d'appel, l'heure a laquelle on lui a répondu, et enfin l'heure où l'appel a été raccroché.
Donc j'ai Keyyo qui envoit des infos a l'API, l'API qui envoi des infos a l'application visuelles, et l'API qui communique avec MySQL.

 

Mes questions sont :
Comment récupérer mes variables via slim et les utiliser pour ajouter/modifier la bdd ?

 

Une fois les variables récupérées, comment faire communiquer l'API a l'application visuelle ?

 

Et surtout, quelqu'un a-t-il des conseils, sur la manière de gérer ce type de projet ?
Est-il possible d'avoir des exemples plus concret que ce qu'on trouve pour le moment sur le net quand a l'utilisation de SLIM (oui j'ai du mal a visualiser comment les "hello world" vont m'aider a mener mon projet a bien :/) ?

 


Pour l'instant, pour récupérer les infos de keyyo, je pensais faire quelque chose du genre

Code :
  1. $app = new \Slim\Slim();
  2. $app->get('url/appel/keyyoEvent/:id_appel/:ntype', function ($id,$ntype) {
  3.       if(ntype=='SETUP')
  4.           create new appel($id); // créé un appel dans la bdd avec une heure de début d'appel
  5.       else if (ntype=='CONNECT')
  6.           update appel($id) //ajouter une heure de réponse a l'appel
  7.       else{
  8.           update appel($id) //ajouter une heure de fin d'appel (la variable ntype sera égale à 'RELEASE'
  9.      }
  10. });
 

Bon c'est du pseudo code là, et je suis totalement novice la dedans alors soyez pas trop dur :D , et après pour l'ajout des commentaires et des tags, ça se fera via l'application visuelle qui sera dotée d'un formulaire et qui enverra en methode POST vers l'API les infos a update sur tel ou tel appel.

 

Qu'en pensez vous ?

 

Merci de m'avoir lu et désolé pour le pavé :D

 


Message édité par scribou le 02-04-2014 à 17:01:39
Reply

Marsh Posté le 02-04-2014 à 16:35:02   

Reply

Marsh Posté le 02-04-2014 à 17:12:20    

C'est quoi l'appli visuelle : l'IHM dans le navigateur ?
 
Si oui, pour la com entre le serveur et le client (navigateur), tu peux pousser les infos via du ajax (avec échanges en XML ou JSON), le client faisant du pooling par ex.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 03-04-2014 à 09:16:34    

Oui l'appli visuelle c'est l'IHM dans le navigateur (qui s'ouvrira dès la reception d'un appel via node.js).
 
Les infos vont être traitées en ajax pour pouvoir mettre à jour la base données et y ajouter des commentaires sans avoir a recharger l'appli.
 
Au niveau des routes que j'ai donné dans mon premier message, ça ressemble à ce qu'il faut ou pas du tout ?

Reply

Marsh Posté le 03-04-2014 à 10:29:55    

Rien d'aberrant en tout cas.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed