Colección de citas famosas - Mensajes de felicitación - Interfaz SMS de registro personal

Interfaz SMS de registro personal

A continuación se presenta la interfaz SMS PHP de la plataforma Modu Cloud. Enlace: www.moduyun.com

//Funciona bien con php5.3 y php5.6.

Espacio de nombres Moduyun \ Sms

require _ once(' smssenderutil . PHP ');

Clase SmsSingleSender {

var $ url

var $clave de acceso

var $clavesecreta

var $util

función __construct($clavedeacceso, $clavesecreta) {

$this->URL = "/SMS/v 1/sendsinglesms"

$this->accesskey=? $ clave de acceso

$ this->secretkey = $secretkey

$ this->util = new SmsSenderUtil();

}

/**

*Se emiten órdenes ordinarias, con claridad en el contenido. Si hay varias firmas, agréguelas al contenido de información del formulario; de lo contrario, se utilizará la firma predeterminada.

* @param int $type Tipo de SMS, 0 es SMS normal, 1 es SMS de marketing.

* @param string $nationCode código de país, por ejemplo, 86 es China.

* @param string $phoneNumber número de teléfono móvil sin código de país

* @param string $msg El contenido de la información debe ser coherente con el formato de plantilla de la aplicación; de lo contrario, se producirá un error. regresó.

* @param string $extend código de expansión, puedes completar los espacios en blanco.

* @param string $ext Parámetros devueltos por el servidor tal como están, puede completar los espacios en blanco.

* @ cadena de retorno Cadena JSON { " resultado ":xxxxx, " errmsg": "xxxxx "...}, consulte el documento del protocolo para conocer el contenido omitido.

*/

Función enviar($tipo, $nationCode, $phoneNumber, $msg, $extend = " ", $ text = " " {

/*

Cuerpo del paquete de solicitud

{

"Teléfono":{

"Código de país":"86",

[Teléfono móvil]: "1378888888"

},

[Tipo]: 0,

"msg":"Tu verificación El el código es 1234",

" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",

[Tiempo]:1479888540,

" extension ": "",

" text ":" "

}

La respuesta contiene

{

[Resultado]: 0,

" errmsg": "OK",

" text ":" ",

" sid": "xxxxxxx " ,

[Costo]:1

}

*/

$ aleatorio = $ this-& gt; util-& gt ;get random();

$ curTime = time();

$ URL completa = $ this-& gt; Clave de acceso "& amprandom= ". $ random

//Organiza el cuerpo del paquete de publicaciones según el protocolo

$ data = new \ stdClass()

$tel = new \stdClass; ();

$tel->;CountryCode="".$nationCode

$tel->Mobilephone="".

$ número de teléfonos móviles;

$ datos->tel = $ tel

$ datos->tipo =(int)$ tipo;

$datos ->msg = $msg

$data->sig = hash("sha256",

" secretkey= "$this->Clave secreta ."&random=" .$curTime="$phoneNumber,FALSE);

$data->

$ data-& gt;extend = $ extender

$ data- & gt;ext = $ text

return $ this-& gt;util- & gt; sendCurlPost($wholeUrl, $data);

}

/**

*Especifique la hoja de plantilla.

* @param string $nationCode código de país, por ejemplo, 86 es China.

* @param string $phoneNumber número de teléfono móvil sin código de país

* @param int $templId ID de plantilla

* @param array $params lista de parámetros de plantilla , como la plantilla {1}....{2}....{3}, entonces necesita tomar tres parámetros.

* @param cadena $firma firma. Si se completa la cadena, el sistema utilizará la firma predeterminada.

* @param string $extend código de expansión, puedes completar los espacios en blanco.

* @param string $ext Parámetros devueltos por el servidor tal como están, puede completar los espacios en blanco.

* @ cadena de retorno cadena JSON { "resultado":xxxxx,"errmsg":"xxxxxx"? ...}, consulte el documento del protocolo para ver el contenido omitido.

*/

Función sendWithParam($nationCode, $phoneNumber, $templId = 0, $params, $sign = " ", $extend = " ", $ext = " " {

/*

Cuerpo del paquete de solicitud

{

"Teléfono":{

"Código de país ": "86",

[Teléfono móvil]: "1378888888"

},

"Firmar": "Modu Cloud",

[TPL_id]:19,

" params": [

"Código de verificación",

"1234",

"4"

],

" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",

[Tiempo] :1479888540,

"Extensión": "",

" text ":" "

}

La respuesta contiene

{

[Resultado]:0,

" errmsg": "OK",

" text":" ",

" sid": "xxxxxxx ",

[Costo]:1

}

*/

$ aleatorio = $this ->util->obtener aleatorio();

$curTime = time();

$URL completa = $this->URL "?sdkaccesskey= ". $ this-& gt; Clave de acceso. "&random= ". $ random

//Organiza el cuerpo del paquete de publicaciones según el protocolo

$ data = new. );

$tel = new \stdClass();

$tel->;countryCode = " ".

$tel -> móvil = " " .

$ número de teléfonos;

$ datos->tel = $ tel

$ datos->SIG = $this->util->calculateSigForTempl( $this-> clave secreta,$aleatorio,$curTime,$teléfono$número);

$data->tpl_id = $templId

$data-> p>

$ datos-& gt; signo = $ signo

$ datos-& gt; tiempo = $ curTime

$ datos- >extender = $extender

$data->ext = $ext

return $this->util->sendCurlPost($wholeUrl, $data );

}

}

Clase SmsMultiSender {

var $ url

var $ clave de acceso

var $secretkey

var $util

función __construct($accesskey, $secretkey) {

$this->URL = "/SMS/v 1/sendsinglesms "

$ esto->clave de acceso=? $ clave de acceso

$ this->secretkey = $secretkey

$ this->util = new SmsSenderUtil();

}

/**

*Envío masivo ordinario, especificar claramente el contenido. Si hay varias firmas, agréguelas al contenido de información del formulario; de lo contrario, se utilizará la firma predeterminada.

*Tenga en cuenta que los mensajes de texto extranjeros no tienen una función de envío grupal.

* @param int $type Tipo de SMS, 0 es SMS normal, 1 es SMS de marketing.

* @param string $nationCode código de país, por ejemplo, 86 es China.

* @param string $phoneNumbers lista de números de teléfonos móviles sin código de país

* @param string $msg El contenido de la información debe ser coherente con el formato de plantilla de la aplicación; de lo contrario, se producirá un error. regresó.

* @param string $extend código de expansión, puedes completar los espacios en blanco.

* @param string $ext Parámetros devueltos por el servidor tal como están, puede completar los espacios en blanco.

* @ cadena de retorno Cadena JSON { " resultado ":xxxxx, " errmsg": "xxxxx "...}, consulte el documento del protocolo para conocer el contenido omitido.

*/

Función enviar($tipo, $nationCode, $phoneNumbers, $msg, $extend = " ", $ext = " ").

/*

Cuerpo del paquete de solicitud

{

"Teléfono":[

{

"Código de país": "86",

[Teléfono móvil]: "1378888888"

},

{

"Código de país": "86",

[Teléfono móvil]: "13788888889"

}

],

[ Tipo]: 0,

"msg": "Tu código de verificación es 1234",

" SIG ": " fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c ",

[Tiempo]:1479888540,

"Extensión": "",

" text ":" "

}

La respuesta contiene

{

[Resultado]: 0,

" errmsg": "OK ",

" text ":" ",

"Detalles":[

{

[Resultado]:0,

" errmsg" : "OK",

[Teléfono móvil]: "1378888888",

"Código de país": "86",

" sid": "xxxxxxx " ,

[Costo]: 1

},

{

[Resultado]: 0,

" errmsg": "OK",

[Teléfono móvil]: "13788888889",

"Código de país": "86",

" sid ": "xxxxxxx ",

[Costo]:1

}

]

}

* /

$ aleatorio = $ this->util->get random();

$ curTime = time();

$ URL completa = $this->URL. "?clave de acceso= ". $this->Clave de acceso. "&random= ". $random

$data = new \stdClass();

$data->phone = $this->util->phoneNumbersToArray($código de nación, $ números de teléfono );

$ datos-& gt; tipo = $ tipo

$ datos-& gt; $this->util->calculateSig($this->secretkey, $random, $curTime, $números de teléfono);

$data->time = $ curTime

$ datos-& gt; extender = $ extender

$ datos-& gt; text = $ text

return $ this-& gt ;util-& gt;sendCurlPost( $wholeUrl,$data);

}

/**

*Especifique el grupo de plantillas a enviar.

*Ten en cuenta que los mensajes de texto extranjeros no tienen una función de envío grupal.

* @param string $nationCode código de país, por ejemplo, 86 es China.

* @param array $phoneNumbers lista de números de teléfonos móviles sin código de país

* @param int $templId ID de plantilla

* @param array $params template Lista de parámetros, como la plantilla {1}...{2}...{3}, entonces debe traer tres parámetros.

* @param cadena $firma firma. Si se completa la cadena, el sistema utilizará la firma predeterminada.

* @param string $extend código de expansión, puedes completar los espacios en blanco.

* @param string $ext Parámetros devueltos por el servidor tal como están, puede completar los espacios en blanco.

* @ cadena de retorno Cadena JSON { " resultado ":xxxxx, " errmsg": "xxxxx "...}, consulte el documento del protocolo para conocer el contenido omitido.

*/

Función sendWithParam($nationCode, $phoneNumbers, $templId, $params, $sign = " ", $extend = " ", $ text = " " {

/*

Cuerpo del paquete de solicitud

{

"Teléfono":[

{

"Código de país": "86",

[Teléfono móvil]: "1378888888"

},

{

"Código de país": "86",

[Teléfono móvil]: "13788888889"

}

],

" Firmar ":"Modu Cloud",

[TPL_id]:19,

" params": [

"Código de verificación",

"1234",

"4"

],

" SIG ":" fdba 654 e 05 BC 0d 15796713a 1a 1a 2318c " ,

[Tiempo]:1479888540,

"Extensión": "",

" text ":" "

}< /p >

La respuesta contiene

{

[Resultado]: 0,

" errmsg": "OK",

" text ":" ",

"Detalles":[

{

[Resultado]:0,

" errmsg" : "OK ",

[Teléfono móvil]: "1378888888",

"Código de país": "86",

" sid": " xxxxxxx ",

[Costo]:1

},

{

[Resultado]:0,

" errmsg": "OK ",

[Teléfono móvil]: "13788888889",

"Código de país": "86",

" sid ": "xxxxxxx ",

[Costo]:1

}

]

}

* /

$ aleatorio = $ this-& gt; util-& gt; get random();

$ curTime = time(); URL = $this->URL. "?clave de acceso= ". $this->Clave de acceso. "&random= ". $random

$data = new \stdClass();

$data->phone = $this->util->phoneNumbersToArray($código de nación, $ números de teléfono );

$ datos->signo = $ signo

$ datos->tpl_id = $templId

$ datos ->params = $params

$data->SIG = $this->util->calculateSigForTemplAndPhoneNumbers(

$this->secretkey , $random, $curTime, $números de teléfono);

$ datos->time = $curTime

$data->extend = $extend

$data->ext = $ext

return $this->util->sendCurlPost($wholeUrl, $data);

}

}

Para más información , preste atención al servicio en la nube: Modu Cloud Platform.

Sitio web oficial:/