You are not logged in.
Pages: 1
bonjour,
Dans Postman, j'essaye de modifier un ticket satisfaction depuis l'api rest glpi.
J'ai mis cette adresse : apirest.php/Ticket/XXXX/TicketSatisfaction?app_token=XXXXXX&session_token=XXXXX
J'ai mis ce body :
{
"input": [{
"tickets_id":"XXXX",
"type": "1",
"comment":"tres content, superbe réalisation, tout le monde devrait s'en inspirer. Par l'api standard",
"satisfaction":"4",
"date_answered": "2023-07-12T10:21"
}]
}
J'ai bien une réponse 200 OK, mais rien ne semble être enregistré.
Pourriez-vous me donner un exemple de body à mettre pour enregistrer la satisfaction ticket, svp ?
Ou me dire ce qui ne va pas dans ce body ?
Merci d'avance.
Offline
regardez ici :
https://forum.glpi-project.org/viewtopic.php?id=250748
est ce que l'enquête est déjà créée ?
est ce qu'elle est encore valide ?
est ce que l'utilisateur connecté par l'API a le droit de compléter l'enquête de satisfaction ?
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Bonjour,
Oui l'enquête a déjà été créer et elle est encore valide. La personne connecté est super admin de GLPI. Le problème ne viens donc pas de là.
Nous avons regardé le topic 250748 mais malheureusement ça ne fonctionne pas.
Comment pourrions nous savoir ce qui ne convient pas dans les requêtes, existe t-il un moyen de débuguer l'API ?
Merci d'avance.
Offline
Bonjour,
....La personne connecté est super admin de GLPI. Le problème ne viens donc pas de là....
je ne pense pas que le profil superadmin soit suffisant, il faut être le demandeur, le rédacteur, ou dans le groupe demandeur :
voici l'extrait de la classe TicketSatisfaction
public function canUpdateItem()
{
$ticket = new Ticket();
if (!$ticket->getFromDB($this->fields['tickets_id'])) {
return false;
}
// you can't change if your answer > 12h
if (
!is_null($this->fields['date_answered'])
&& ((time() - strtotime($this->fields['date_answered'])) > (12 * HOUR_TIMESTAMP))
) {
return false;
}
if (
$ticket->isUser(CommonITILActor::REQUESTER, Session::getLoginUserID())
|| ($ticket->fields["users_id_recipient"] === Session::getLoginUserID() && Session::haveRight('ticket', Ticket::SURVEY))
|| (isset($_SESSION["glpigroups"])
&& $ticket->haveAGroup(CommonITILActor::REQUESTER, $_SESSION["glpigroups"]))
) {
return true;
}
return false;
}
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Bonjour,
Nous n'avons pas de profil ayant plus de droits que Super-Admin. Le problème c'est que c'est nous qui avons créé le ticket et on ne peut pas le modifier à partir de postman.
Offline
Pages: 1