Wrapper for Angelfon API Rest

v1.1.3 2018-03-02 12:46 UTC

This package is not auto-updated.

Last update: 2024-04-21 05:35:46 UTC


README

Packagist Packagist

Con el SDK PHP de Angelfon puedes generar llamadas telefónicas fácilmente, en pocos pasos.

Instalación

Puedes instalar angelfon-php usando composer o directamente desde el repositorio.

Usando Composer:

angelfon-php está disponible en Packagist como angelfon/sdk.

composer require angelfon/sdk

Configuración

Debes tener una cuenta Angelfon para usar esta librería. Puedes grabar y revisar tus audios en Angelfon Plus, e indicar el ID del audio que desees en tu llamada.

Solicita tus credenciales de cliente escribiéndonos a fernando@angelfon.com

Te recomendamos agregar las variables asociadas a tu cuenta en el entorno de tu aplicación:

ANGELFON_USERNAME=my@email.com
ANGELFON_PASSWORD=mypass
ANGELFON_CLIENT_ID=404
ANGELFON_CLIENT_SECRET=u8R3ZVmesIbpaEx3F3nupP4D3SSJ9N3QSQSBYuoX

De esta forma no es necesario indicar tus credenciales al instanciar el cliente Rest:

$client = new Angelfon\SDK\Rest\Client();

De lo contrario:

$client = new Angelfon\SDK\Rest\Client('my@email.com', 'mypass', 404, 'u8R3ZVmesIbpaEx3F3nupP4D3SSJ9N3QSQSBYuoX');

Guía rápida

Enviar un SMS

// Envía un SMS usando Angelfon REST API y PHP
<?php

use Angelfon\SDK\Rest\Client;

$client = new Client();
$sms = $client->sms->create(
  '912345678', // Envía el SMS a éste número
  array(
    'body' => 'Hola que tal!'
  )
);

print $sms->id;

Realizar una Llamada

<?php

use Angelfon\SDK\Rest\Client;

$client = new Client();

// Envía un audio almacenado en tu cuenta Angelfon
$call = $client->calls->create(
  '912345678', // Destinatario
  array(
    'type' => 1, //Llamada unidireccional que requiere 'audioId1'
    'recipientName' => 'Destinatario de ejemplo',
    'audioId1' => 123
  )
);

print $call->id;

También puedes enviar la llamada a más de un destinatario a la vez

<?php

use Angelfon\SDK\Rest\Client;

$client = new Client();

// Envía un texto como llamada
$call = $client->calls->create(
  array(
    'destinatario 1' => '912345678',
    'destinatario 2' => '987654321',
  ),
  array(
    'type' => 6, //Llamada unidireccional que requiere 'tts1'
    'tts1' => 'Esta llamada es un texto hablado'
  ) 
);

print $call->batchId;

Puedes hacer uso de los métodos de ayuda para la creación de las opciones

<?php

use Angelfon\SDK\Rest\Client;
use Angelfon\SDK\Rest\Api\V099\User\CallOptions;

$client = new Client();

// Genera opciones de la llamada
$options = CallOptions::createWithSingleTts('Esta otra llamada también es un texto hablado');

// $options = CallOptions::createFree(123);
// $options = CallOptions::createWithSingleAudio(123);
// $options = CallOptions::createWithAnswer(123);
// $options = CallOptions::createWithAudioAndTts(123, 'primer tts', 124, 'segundo tts', 125);

// Especifica la hora a la cual realizar la llamada
$options->setCallAt('2018-07-27 18:00:00');

// Usa Caller ID para mostrar tu número registrado en Angelfon al realizar la llamada
$options->setCallerId(true);

// O define desde que número se realizará la llamada
// $options->setCallFrom('911223344')

// Envía la llamada
$calls = $client->calls->create(
  array(
    'destinatario 1' => '912345678',
    'destinatario 2' => '987654321',
  ),
  $options
);

print $calls->batchId;

Mas información de los métodos de ayuda para llamadas los puedes encontrar aquí.

Obtener Llamadas

<?php

$client = new Angelfon\SDK\Rest\Client();

// Genera opciones de lectura de la llamada
$options = CallOptions::read();

$options->setRecipient('912345678'); // Mostrar solo llamadas realizadas a este número
$options->setBatchId('ff9891b45733305b275026ba4218eaf2'); // Mostrar sólo llamadas en este Batch

$calls = $this->client->calls->read($options);

print $calls[0]->id;

Documentación

La documentación de la API REST Angelfon la puedes encontrar aquí.

La documentación de este SDK la puedes encontrar aquí.

Prerequisitos

  • PHP >= 5.3
  • La extensión PHP JSON

Soporte

Si necesitas ayuda instalando o usando esta librería, ponte en contacto con nosotros!