Graam PHP SDK est une librairie PHP qui vous permet d'appeler simplement les différentes API Graam.
Pour utiliser ce SDK vous aurez besoin de générer une API key.
Configuration de la librairie à l'aide de composer.
Obtenez PHP Composer depuis cette page (https://getcomposer.org/).
Créez un fichier composer.json comme ci-dessous, puis exécutez la mise à jour du compositeur:
Voici le contenu de composer.json :
Vous pouvez ajouter plus de dépendances de bibliothèque à votre composer.json si nécessaire (ou rajouter le SK graam sur votre composer déjà existant)
N'oubliez pas d'exécuter "composer update" chaque fois que composer.json est mis à jour.
Ajoutez les lignes suivantes à votre fichier source PHP afin qu'il sache comment trouver le SDK Graam:
Exemple d'initialisation de la librairie : (remplacer "api_key" par l'Api key que vous avez générée préalablement sur votre compte)
{
"name": "graam.io",
"license": "MIT",
"type": "project",
"description": "The \"Graam SDK\"",
"autoload": {
"psr-0": { "GRAAM": "src" }
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/graam-api/graam-sdk-php.git"
}
],
"require": {
"graam/sdk-php": "dev-master"
}
}
<?php
require 'vendor/autoload.php';
$client = new \GRAAM\SDK\Client;
$client->init("api-key");
$result = $client->call('outbound_campaign.list',
array());
Les attributs possibles :
name : nom de la campagne
campaign_alias: alias de la campagne
schedule_start_date : date de début de la campagne
schedule_end_date : date de fin de la campagne
hour_start : heure de début
hour_end : heure de fin
priority : niveau de priorité de la campagne
result_notification_url : url de la callback
agents : liste des agents à ajouter dans la campagne
$result = $client->call('outbound_campaign.create',
array(
'name' => 'Out call campaign name',
'campaign_alias' => 'outbound_campaign_1',
'schedule_start_date' => '2019-12-01',
'schedule_end_date' => '2019-12-30',
'hour_start' => '08:00',
'hour_end' => '12:00',
'priority' => 5,
'max_try_count' => 3,
'result_notification_url' => 'http://url-callback',
'agents': ['benjamin@graam.com','mathieu@graam.com']
));
Cette fonction peut être appelée par un POST au https://admin.graam.com/ws/apikey/call_function?apikey=XXX
Les attributs possibles de "item" :
called_number: Numéro à appeler
calling_number: Permet d'utiliser un autre numéro appelant que celui utilisé sur la campagne (optionnel, nous prenons le numéro appelant par défaut de la campagne si non défini)
agent_alias : mail ou alias de l'agent qui traitera l'appel (optionnel, nous dispatchons l'appel à un agent disponible configuré au niveau de la campagne au moment de la création)
start_date : Date de début (optionnel)
end_date: Date de fin (optionnel)
hour_start: L'heure de début (optionnel)
hour_end: L'heure de fin (optionnel)
max_try_count (int): le number de tentatives avant de marqué l'item comme "échoué". (default = 2)
custom_data: Données personnalisées
$result = $client->call('outbound_campaign.item.add',
array(
'campaign_alias' => 'outbound_campaign_1',
'item' => array(
"calling_number" => "0123456789",
"called_number" => "0123456789",
"agent_alias" => "user@mail.com"
"start_date" => "2017-11-23",
"end_date" => "2017-11-24",
"hour_start" => "10:00",
"hour_end" => "18:00",
"max_try_count" => 3,
"custom_data" => {"abcd": 1}
)
));
Cette fonction peut être appelée par un POST au https://admin.graam.com/ws/apikey/call_function?apikey=XXX
Les attributs possibles (vous pouvez soit choisir par nom ou alias de la file d'attente) :
campaign_alias : alias de la campagne concernée (optionnel)
name : nom de la campagne concernée (optionnel)
number : Numéro de téléphone
$result = $client->call('outbound_campaign.item.remove',
array(
"campaign_alias" => "outbound_campaign_1",
"number" => "0123456789"
)
));
Les attributs possibles :
name : nom de la campagne
campaign_alias: alias de la campagne
schedule_start_date : date de début de la campagne
schedule_end_date : date de fin de la campagne
hour_start : heure de début
hour_end : heure de fin
priority : niveau de priorité de la campagne
result_notification_url : url de la callback
agents : liste des agents à ajouter dans la campagne
$result = $client->call('outbound_campaign.edit',
array(
'parameters' => array(
'name' => 'Out call campaign name',
'campaign_alias' => 'Out call campaign alias',
'calling_number' => '0123456789'
'schedule_start_date' => '2019-12-01',
'schedule_end_date' => '2019-12-30',
'hour_start' => '08:00',
'hour_end' => '12:00',
'priority' => 5,
'max_try_count' => 3,
'result_notification_url' => 'http://url-callback/',
'agents': ['benjamin@graam.com','mathieu@graam.com']
)
));