AltiriaSmsPhpClient, the official PHP client of Altiria

Overview

Altiria, cliente SMS PHP

Altiria SMS PHP es un cliente que simplifica al máximo la integración de nuestro API para PHP. Por el momento, esta librería abarca las funciones más básicas:

  • Envíos de SMS individuales con las siguientes características:
    • sencillos
    • concatenados
    • certificación de entrega con o sin identificador
    • certificado digital de entrega
    • uso de remitente
    • seleccionar codificación
  • Consultas de crédito

Esta librería hace uso de composer y cumple con las especificaciones PSR-4.

Requisitos

Instalación

La forma recomendada de instalar el cliente Altiria para PHP es a través de Composer .

A través de línea de comandos

composer require altiria/sms-php-client

Editando el fichero composer.json y actualizando el proyecto

En este caso, añadir el siguiente fragmento al fichero composer.json.

"require": {
	"altiria/sms-php-client": "1.0.0"
}

A continuación, actualizar el proyecto ejecutando la siguiente instrucción por línea de comandos.

composer install

Ejemplos de uso

Envío de SMS

A continuación se describen cada una de las posibilidades de uso de la librería para realizar envíos de SMS.

Ejemplo básico

Se trata de la opción más sencilla para realizar un envío de SMS.

try {
    $client = new AltiriaClient('[email protected]', 'contraseña');
    $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba');
    $client-> sendSms($textMessage);
    echo '¡Mensaje enviado!';
} catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) {
    echo 'Mensaje no aceptado:'.$exception->getMessage();
    echo 'Código de error: '.$exception->getStatus();
} catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) {
    echo 'Error en la petición:'.$exception->getMessage();
} catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) {
    if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) {
        echo 'Tiempo de respuesta agotado: '.$exception->getMessage();
    } else {
        echo 'Tiempo de conexión agotado: '.$exception->getMessage();
    }
}

Ejemplo básico con timeout personalizado

Permite fijar el tiempo de respuesta en milisegundos. Si se supera se lanzará una ConnectionException. Por defecto el tiempo de respuesta es de 10 segundos, pero puede ser ajustado entre 1 y 30 segundos.

try {
    $client = new AltiriaClient('[email protected]', 'contraseña', 5000);
    $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba');
    $client-> sendSms($textMessage);
    echo '¡Mensaje enviado!';
} catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) {
    echo 'Mensaje no aceptado:'.$exception->getMessage();
    echo 'Código de error: '.$exception->getStatus();
} catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) {
    echo 'Error en la petición:'.$exception->getMessage();
} catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) {
    if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) {
        echo 'Tiempo de respuesta agotado: '.$exception->getMessage();
    } else {
        echo 'Tiempo de conexión agotado: '.$exception->getMessage();
    }
}

Ejemplo básico con remitente

Se trata de la opción más sencilla para realizar un envío de SMS añadiendo remitente.

try {
    $client = new AltiriaClient('[email protected]', 'contraseña');
    $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba', 'miRemitente');
    $client-> sendSms($textMessage);
    echo '¡Mensaje enviado!';
} catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) {
    echo 'Mensaje no aceptado:'.$exception->getMessage();
    echo 'Código de error: '.$exception->getStatus();
} catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) {
    echo 'Error en la petición:'.$exception->getMessage();
} catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) {
    if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) {
        echo 'Tiempo de respuesta agotado: '.$exception->getMessage();
    } else {
        echo 'Tiempo de conexión agotado: '.$exception->getMessage();
    }
}

Ejemplo con todos los parámetros

Se muestra un ejemplo utilizando todo los parámetros mediante setters.

try {
    $client = new AltiriaClient('[email protected]', 'contraseña');
    $client->setConnectTimeout(1000);
    $client->setTimeout(5000);
    $client->setDebug(true);
    $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba');
    $textMessage->setSenderId('miRemitente');
    $textMessage->setAck(true);
    $textMessage->setIdAck('idAck');
    $textMessage->setConcat(true);
    $textMessage->setEncoding('unicode');
    $textMessage->setCertDelivery(true);
    $client-> sendSms($textMessage);
    echo '¡Mensaje enviado!';
} catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) {
    echo 'Mensaje no aceptado:'.$exception->getMessage();
    echo 'Código de error: '.$exception->getStatus();
} catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) {
    echo 'Error en la petición:'.$exception->getMessage();
} catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) {
    if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) {
        echo 'Tiempo de respuesta agotado: '.$exception->getMessage();
    } else {
        echo 'Tiempo de conexión agotado: '.$exception->getMessage();
    }
}

Consulta de crédito

A continuación se describen cada una de las posibilidades de uso de la librería para consultar el crédito.

Ejemplo básico

Este ejemplo no incluye los parámetros opcionales.

try {
    $client = new AltiriaClient('[email protected]', 'contraseña');
    $credit = $client-> getCredit();
    echo 'Crédito disponible: '.$credit;
} catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) {
    echo 'Solicitud no aceptada:'.$exception->getMessage();
    echo 'Código de error: '.$exception->getStatus();
} catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) {
    echo 'Error en la petición:'.$exception->getMessage();
} catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) {
    if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) {
        echo 'Tiempo de respuesta agotado: '.$exception->getMessage();
    } else {
        echo 'Tiempo de conexión agotado: '.$exception->getMessage();
    }
}

Ejemplo con todos los parámetros

Este ejemplo incluye los parámetros opcionales.

try {
    $client = new AltiriaClient('[email protected]', 'contraseña', 5000);
    $client->setDebug(true);
    $client->setConnectTimeout(1000);
    // $client->setTimeout(5000); Se puede asignar aquí o en el constructor
    echo 'Crédito disponible: '.$credit;
} catch (\AltiriaSmsPhpClient\Exception\AltiriaGwException $exception) {
    echo 'Solicitud no aceptada:'.$exception->getMessage();
    echo 'Código de error: '.$exception->getStatus();
} catch (\AltiriaSmsPhpClient\Exception\JsonException $exception) {
    echo 'Error en la petición:'.$exception->getMessage();
} catch (\AltiriaSmsPhpClient\Exception\ConnectionException $exception) {
    if ($exception->getMessage().strpos('RESPONSE_TIMEOUT', 0) != -1) {
        echo 'Tiempo de respuesta agotado: '.$exception->getMessage();
    } else {
        echo 'Tiempo de conexión agotado: '.$exception->getMessage();
    }
}

Licencia

La licencia de esta librería es de tipo MIT. Para más información consultar el fichero de licencia.

Ayuda

Utilizamos la sección de problemas de GitHub para tratar errores y valorar nuevas funciones. Para cualquier problema durante la intergración contactar a través del email [email protected].

You might also like...
PHP Telegram Bot based on the official Telegram Bot API

PHP Telegram Bot based on the official Telegram Bot API

The Official Vultr API PHP Wrapper

WIP - This is not the final API Client. Unstable release use with caution. Vultr API PHP Client. Getting Started Must have a PSR7, PSR17, and PSR18 Co

Official International Name days API library

Official International Name days API library Name day API library for nameday.abalin.net This library makes it easy to send requests towards nameday.a

⚡️ Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC.
⚡️ Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC.

Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC. This project is a work-in-progress. Code and docume

A simple PHP GitHub API client, Object Oriented, tested and documented.

PHP GitHub API A simple Object Oriented wrapper for GitHub API, written with PHP. Uses GitHub API v3 & supports GitHub API v4. The object API (v3) is

A simple Object Oriented PHP Client for Termii SMS API

Termii Client A simple Object Oriented PHP Client for Termii SMS API. Uses Termii API. Requirements PHP = 7.2 Guzzlehttp ~6|~7 Installation Via Compo

Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

PHP client for Kafka

A library to allow people to communicate to Kafka using plain PHP, compatible with Kafka v0.11+ (due to the way the protocol works).

php 8 client for the lemon.markets api

lemon.markets php client This repository contains a php 8+ compatible client for the https://lemon.markets API. The documentation of the API can be fo

Releases(1.0.2)
The official Previewify.app PHP Client

Previewify for PHP This is the official Previewify client for PHP. Support us Like our work? You can support us by purchasing one of our products. Ins

Flowframe 6 Jan 19, 2022
Google-api-php-client - A PHP client library for accessing Google APIs

Google APIs Client Library for PHP Reference Docs https://googleapis.github.io/google-api-php-client/main/ License Apache 2.0 The Google API Client Li

Google APIs 8.4k Dec 30, 2022
PHP JSON-RPC 2.0 Server/Client Implementation with Automatic Client Class Generation via SMD

PHP JSON-RPC 2.0 Server/Client Implementation with Automatic Client Class Generation via SMD

Sergey Bykov 63 Feb 14, 2022
OpenAI API Client is a component-oriented, extensible client library for the OpenAI API. It's designed to be faster and more memory efficient than traditional PHP libraries.

OpenAI API Client in PHP (community-maintained) This library is a component-oriented, extensible client library for the OpenAI API. It's designed to b

Mounir R'Quiba 6 Jun 14, 2023
Official repository of the AWS SDK for PHP (@awsforphp)

AWS SDK for PHP - Version 3 The AWS SDK for PHP makes it easy for developers to access Amazon Web Services in their PHP code, and build robust applica

Amazon Web Services 5.7k Jan 1, 2023
Mailgun's Official SDK for PHP

Mailgun PHP client This is the Mailgun PHP SDK. This SDK contains methods for easily interacting with the Mailgun API. Below are examples to get you s

Mailgun Team 1k Dec 23, 2022
The official PHP SDK for Webmarketer (app.webmarketer.io)

PHP SDK for Webmarketer The official PHP SDK for Webmarketer (app.webmarketer.io). Install To add this package, your project must meet several require

Webmarketer 5 Dec 13, 2021
PHP Telegram Bot based on the official Telegram Bot API with iTelegram Class.

iTelegram PHP Telegram Bot based on the official Telegram Bot API Bots: An introduction for developers Bots are special Telegram accounts designed to

iNeoTeam | آی نئو 5 Nov 9, 2022
Upload Vimeo video with CodeIgniter, Official PHP library for the Vimeo API

Upload Vimeo video with CodeIgniter, Official PHP library for the Vimeo API. Vimeo Video upload with API using Official PHP library for the Vimeo API.

WordPress theme and Plugins developers 2 Oct 10, 2021
Official PHP SDK for interacting with the Knock API.

Knock PHP library Documentation See the documentation for PHP usage examples

Knock 4 Dec 16, 2022