Skip to content

yuri-spm/php-api-glpi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Integration Code with GLPi API 🚀

If you liked the repository, please add a star to help out.

This test program was designed to perform various essential functionalities using the GLPI API.

➡️ Installation

  1. Install the program inside the /var/www/html folder or analyze the directory where PHP is installed for rendering.
  2. Execute the composer dump-autoload command to download the necessary libraries.
composer dump-autoload

➡️ Code Functionalities

  1. Initiate session: initSession();
$apiUrl    = 'url';
$userToken = 'userToken';
$appToken  = 'appToken';


$glpiApi = new GLPIApi($apiUrl, $userToken, $appToken);
$sessionData = $glpiApi->initSession();

ob_start();
var_dump($sessionData);
$varDumpOutput = ob_get_clean();

GLPIApi::render($varDumpOutput);
  1. End sessão: killSession()
$killSessionData = $glpiApi->killSession();
ob_start();
var_dump($killSessionData);
$killSessionOutput = ob_get_clean();

GLPIApi::render($killSessionOutput);
  1. Request: requestItem()
$findTicket = $glpiApi->requestItem('Ticket',9);
ob_start();
var_dump($findTicket);
$findTicketOutput = ob_get_clean();

GLPIApi::render($findTicketOutput);
  1. Add: addItem()
$data = [
    "input" =>  [
        "entities_id" => 0,
        "name" => "Titulo do meu chamado Criado pela API",
        "content" => "Titulo do meu chamado Criado pela API",
        "_users_id_requester" => 1,
   ]
];
$createTicket = $glpiApi->addItem('Ticket', $data);
ob_start();
var_dump($createTicket);
$createTicketOutput = ob_get_clean();

GLPIApi::render($createTicketOutput);
  1. Update: updateItem()
$data = [
    "input" =>  [
       "_users_id_requester" => 6
   ]
];
$updateTicket = $glpiApi->updateItem('Ticket',2406200096, $data);
ob_start();
var_dump($updateTicket);
$updateTicketOutput = ob_get_clean();

GLPIApi::render($updateTicketOutput);
  1. Soft delete (move to trash): deleteItem()
$deleteTicket = $glpiApi->deleteItem('Ticket', 2406200096);
ob_start();
var_dump($deleteTicket);
$deleteTicketOutput = ob_get_clean();

GLPIApi::render($deleteTicketOutput);
  1. Hard delete (permanetly): purgeItem()
$purgeTicket = $glpiApi->purgeItem('Ticket', 2406200096);
ob_start();
var_dump($purgeTicket);
$purgeTicketOutput = ob_get_clean();

GLPIApi::render($purgeTicketOutput);
  1. Document submission: sendDocuments()
$file = 'src/files/support3.png';
$sendDocuments = $glpiApi->sendDocuments('Document', $file, 'Suporte.png');

ob_start();
var_dump($sendDocuments);
$sendDocumentsOutput = ob_get_clean();

GLPIApi::render($sendDocumentsOutput);
  • Bonus anonymus ticket
$data = [
    "input" => [
        "name" => "Abertura de chamado anonimo",
        "content" => "Abertura de chamado anonimo",
        "_skip_auto_assign" => true,
        "requesttypes_id" => 1,
        "type" => 2,
        "itilcategories_id" => 2,
        "_actors" => [
            "requester" => [
                [
                    "itemtype" => "User",
                    "use_notification" => 1,
                    "alternative_email" => "[email protected]"
                ]
            ]
        ]
    ]
];


$createTicket = $glpiApi->addItem('Ticket', $data);
ob_start();
var_dump($createAnonymusTicket);
$createTicketOutput = ob_get_clean();

GLPIApi::render($createAnonymusTicket);

#glpi #api #php

About

PHP module for interacting with GLPI API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages