cmercado93/smsmasivos-api-client

用于使用阿根廷大量短信API的库

v0.0.1 2023-04-19 21:01 UTC

This package is auto-updated.

Last update: 2024-09-30 01:54:20 UTC


README

用于使用阿根廷大量短信API的库

这个库根据大量短信的文档实现了API的基本功能。

库函数

需要认证的函数。

  • 实时发送短信。
  • 批量发送短信。
  • 通过批量检查已发送的消息。
  • 接收消息。
  • 查询余额(预付费账户)。
  • 查询预付费账户套餐到期日期。
  • 查询当月发送的消息数量。

不需要认证的函数。

  • 查询服务器时间。

要求

示例

注册凭证

在开始使用包的主要功能之前,需要注册大量短信提供的凭证。为此,需要调用类 "SmsmasivosCredentials",然后调用静态方法 "setUserAndPassword",如下所示。

<?php

require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/SmsmasivosCredentials.php';

SmsmasivosCredentials::setUserAndPassword("DEMO500", "DEMO500");

实时发送短信

这个函数允许您实时发送短信。

<?php

require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/SmsmasivosCredentials.php';
require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/Smsmasivos.php';

try {
    // Ingresamos los datos de autenticación.
    SmsmasivosCredentials::setUserAndPassword('DEMO500', 'DEMO500');

    // Enviamos un nuevo mensaje.
    Smsmasivos::sendMessage('1234567890', 'Mensaje a enviar', array(
        'test' => true,
        'internal_id' => 'Ab123',
        'send_date' => new DateTime('NOW'),
        'html' => '<p>Texto en <b>HTML</b></p>'
    ));
} catch (Exception $e) {
    echo 'code: ' . $e->getCode() . PHP_EOL;
    echo 'msg: ' . $e->getMessage() . PHP_EOL;

    if (method_exists($e, 'getExtraData')) {
        print_r($e->getExtraData());
    }
}

批量发送消息

这个函数允许您在一个请求中发送多个短信。

<?php

require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/SmsmasivosCredentials.php';
require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/Smsmasivos.php';

try {
    // Ingresamos los datos de autenticación.
    SmsmasivosCredentials::setUserAndPassword('DEMO500', 'DEMO500');

    $data = array();

    $data['configs'] = array(
        'is_test' => true, // opcional
    );

    $data['messages'] = array(
        array(
            'message' => 'texto 1',
            'phone_number' => '1234567890',
            'internal_id' => 'Ab123', // opcional
        ),
        array(
            'message' => 'texto 2',
            'phone_number' => '1234567891',
        ),
    );

    // Enviamos el bloque de mensajes.
    Smsmasivos::sendMessagesInBlock($data);
} catch (Exception $e) {
    echo 'code: ' . $e->getCode() . PHP_EOL;
    echo 'msg: ' . $e->getMessage() . PHP_EOL;

    if (method_exists($e, 'getExtraData')) {
        print_r($e->getExtraData());
    }
}

检查发送的消息块。

使用这个函数可以检查一个消息块是否已发送。

<?php

require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/SmsmasivosCredentials.php';
require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/Smsmasivos.php';

try {
    // Ingresamos los datos de autenticación.
    SmsmasivosCredentials::setUserAndPassword('DEMO500', 'DEMO500');

    /****************************************************************
    Verificamos el estado de un mensaje en particular y lo marcamos como leído.
     ****************************************************************/

    // Enviamos el bloque de mensajes.
    $res = Smsmasivos::checkMessageBlockSent('Ab123', 'internal_id', array(
        'mark_as_read' => 1,
    ));

    if ($res && count($res)) {
        if ($res[0]['sent']) {
            echo 'El mensaje "' . $res[0]['internal_id'] . '" fue enviado.' . PHP_EOL;
        } else {
            echo 'El mensaje "' . $res[0]['internal_id'] . '" no fue enviado por esta razón: ' . $res[0]['error'] . PHP_EOL;
        }
    } else {
        echo 'No se encontraron datos.' . PHP_EOL;
    }

    /****************************************************************
    Verificamos si se enviaron los mensajes de un fecha particular.
     ****************************************************************/

    $date = new DateTime('NOW');
    $res = Smsmasivos::checkMessageBlockSent($date, 'date');

    if ($res && count($res)) {
        foreach ($res as $m) {
            if ($m['sent']) {
                echo 'El mensaje "' . $m['internal_id'] . '" fue enviado.' . PHP_EOL;
            } else {
                echo 'El mensaje "' . $m['internal_id'] . '" no fue enviado por esta razón: ' . $m['error'] . PHP_EOL;
            }
        }
    } else {
        echo 'No se encontraron datos.' . PHP_EOL;
    }
} catch (Exception $e) {
    echo 'code: ' . $e->getCode() . PHP_EOL;
    echo 'msg: ' . $e->getMessage() . PHP_EOL;

    if (method_exists($e, 'getExtraData')) {
        print_r($e->getExtraData());
    }
}

接收发送消息的响应

<?php

require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/SmsmasivosCredentials.php';
require dirname(__FILE__) . '/cmercado93/smsmasivos-api-client/src/Smsmasivos.php';

try {
    // Ingresamos los datos de autenticación.
    SmsmasivosCredentials::setUserAndPassword('DEMO500', 'DEMO500');

    /*
    Recuperamos las respuesta de un numero en particular y lo marcamos como leido
     */

    // configuraciones opcionales
    $configs = array(
        'phone_number' => '1234567890',
        'mark_as_read' => true,
    );

    $res = Smsmasivos::receiveMessages($configs);

    if (count($res)) {
        foreach ($res as $t) {
            echo 'Enviado por: ' . $t['phone_number'] . PHP_EOL;
            echo 'Mensaje: ' . $t['message'] . PHP_EOL;
            echo 'Fecha de la respuesta: ' . $t['date']->format('d-m-Y H:i:s') . PHP_EOL;
            echo PHP_EOL;
        }
    } else {
        echo 'No se encontraron datos' . PHP_EOL;
    }
} catch (Exception $e) {
    echo 'code: ' . $e->getCode() . PHP_EOL;
    echo 'msg: ' . $e->getMessage() . PHP_EOL;

    if (method_exists($e, 'getExtraData')) {
        print_r($e->getExtraData());
    }
}

许可证

在MIT许可证下分发。有关更多信息,请参阅 LICENSE.md

此软件及其开发者与大量短信无任何关联。