Cicklow
Seguir
- Seguidores
- 20
Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario popular!
Suscripción a IA
- Desde
- 30 May 2011
- Mensajes
- 1.101
Hola, hoy aprenderán como crear nuestro propio script para recibir SMS desde la web, esto nos permitirá tener nuestros propios números para verificar cuentas de Google, Facebook, y otras mas, o por ejemplo vender números en fiverr (armando bien nuestro sistema)!
Para este tutorial usaremos NEXMO (una empresa que ya hemos utilizado antes en nuestro tutorial de como enviar SMS), nos registraremos en la empresa y compraremos nuestro primer numero (pagaremos con paypal).
Paso 1 - Comprar y Configurar nuestro numero
Iremos a: https://dashboard.nexmo.com/private/numbers#add_number y colocaremos estas opciones (yo compre un numero de USA ustedes compren el que mas le guste)
Al darle al botón Search aparecerá un listado de números disponibles, le damos BUY al que mas nos guste XD.
Ahora configuraremos la url donde los SMS serán recibidos. En este caso nuestro callback.php
Paso 2 - Programar todo
Creamos un archivo llamado callback.php y colocamos este código:
Ayuda sobre recibir SMS: https://docs.nexmo.com/index.php/sms-api/handle-inbound-message
Ahora crearemos el archivo db.php, encargado de conectarse a nuestra base de datos
Nuestra tabla mysql sera:
Para esto accedemos al phpmyadmin, creamos una base de datos (si es que no tenemos alguna) luego vamos a la pestaña SQL y colocamos el código anterior!
Creamos index.php, el encargado de mostrar nuestros SMS.
Y quedaría de esta forma:
Paso 3 - TIPS
- Para ver los SMS de un numero en cuestion solo accedemos a nuestro index.php colocando la variable para. ejemplo:
- Si van a vender números en fiverr tienen dos opciones, crear una carpeta para cada usuario o pasarle la url con el numero que compraron (tip anterior) (tendran que editar el index.php para que no muestre los SMS de todos, sino solo el del numero seleccionado)
- Pueden usar este script para uso propio para verificar cuentas de youtube, google, etc o lo que mas le guste
- Si deciden armar un sitio sobre esto, pues abra que hacerles mas modificaciones, yo solo les doy el punto de partida.
- Los números en NEXMO son cobrados cada 30 dias (ejemplo el de usa sale 0,67EUROS, eso se cobra cuando se compra y cada 30 días de uso, estos números se pueden cancelar, ejemplo en fiverr pueden vender los números por 30 días)
- NEXMO no cobra por SMS recibido, otras empresas si! (a razón de 0,0045USD por SMS recibido)
Descarga:
Demo:
Demo con un numero:
PD: Si van a usar varios numeros, usen este codigo en index.php
cambian:
por
PD: NEXMO ha cambiado sus politicas y no permite este tipo de script masivos (colocarlo para otros)... por ahi para uso personal funciona bien, hay numeros que no funcionan con facebook, y otras redes sociales... Tengan en cuenta eso...
Otro sitio para usar es: https://www.tropo.com/ para comprar numeros...
Para este tutorial usaremos NEXMO (una empresa que ya hemos utilizado antes en nuestro tutorial de como enviar SMS), nos registraremos en la empresa y compraremos nuestro primer numero (pagaremos con paypal).
Paso 1 - Comprar y Configurar nuestro numero
Iremos a: https://dashboard.nexmo.com/private/numbers#add_number y colocaremos estas opciones (yo compre un numero de USA ustedes compren el que mas le guste)
Al darle al botón Search aparecerá un listado de números disponibles, le damos BUY al que mas nos guste XD.
Ahora configuraremos la url donde los SMS serán recibidos. En este caso nuestro callback.php
Paso 2 - Programar todo
Creamos un archivo llamado callback.php y colocamos este código:
PHP:
<?php
$data = $_GET; //Obtenemos los datos del SMS
if(!isset($data['text'], $data['to'])) die("0"); //si alguno de los necesarios esta vacio cerramos el PHP
include('db.php'); //agregamos el archivo encargado de conectarse a la base de datos
$mysqli->query("INSERT INTO sms_entrar VALUES('','".strip_tags($data['to'])."','".strip_tags($data['msisdn'])."','".time()."','".strip_tags($data['text'])."');"); //guardamos el SMS
die("1"); //finalizamos el PHP
?>
Ahora crearemos el archivo db.php, encargado de conectarse a nuestra base de datos
PHP:
<?
$dbhost = "localhost";
$dbuser = "USUARIO";
$dbpass = "PASS";
$db = "BASE_DATOS";
$mysqli = new mysqli("$dbhost","$dbuser","$dbpass","$db");
if ($mysqli->connect_errno) {
die("Failed to establish a connection with the database");
}
?>
Nuestra tabla mysql sera:
HTML:
CREATE TABLE IF NOT EXISTS `sms_entrar` (
`id` double NOT NULL AUTO_INCREMENT,
`smsto` varchar(35) NOT NULL,
`smsfrom` varchar(35) NOT NULL,
`time` int(11) NOT NULL,
`msg` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
Creamos index.php, el encargado de mostrar nuestros SMS.
PHP:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Recibir SMS</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.min.css" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<h1>SMS Recibidos!</h1>
<table class="table table-striped">
<thead>
<tr><td>ID</td><td>Desde</td><td>Para</td><td>Fecha</td><td>Mensaje</td></tr>
</thead>
<tbody>
<?php
include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
//Vemos si mostramos los SMS de un numero en concreto o todos
if($_GET['para']!="") $para = 'smsto=\''.strip_tags($_GET['para']).'\''; else $para = "1";
//Obtenemos los SMS
$sms = $mysqli->query("SELECT * FROM sms_entrar WHERE ".$para." ORDER BY id DESC LIMIT 0,100");
//Recorremos la variable $sms y mostramos los SMS
while ($ROW = $sms->fetch_assoc()) {
echo '<tr><td>'.$ROW['id'].'</td><td>'.$ROW['smsfrom'].'</td><td>'.$ROW['smsto'].'</td><td>'.calculart($ROW['time']).'</td><td style="word-wrap: break-word;">'.wordwrap($ROW['msg'], 100, "<br />\n", true).'</td></tr>';
}
?>
</tbody>
</table>
</div>
</body>
</html>
<?php
//funcion encargada de calcular el tiempo de cada sms
function calculart($ptime) {
$etime = time() - $ptime;
if ($etime < 1) {
return '0 seconds';
}
$a = array( 12 * 30 * 24 * 60 * 60 => 'año',
30 * 24 * 60 * 60 => 'mes',
24 * 60 * 60 => 'dia',
60 * 60 => 'hora',
60 => 'minuto',
1 => 'segundo'
);
foreach ($a as $secs => $str) {
$d = $etime / $secs;
if ($d >= 1) {
$r = round($d);
return 'hace '.$r . ' ' . $str . ($r > 1 ? 's' : '');
}
}
}
?>
Paso 3 - TIPS
- Para ver los SMS de un numero en cuestion solo accedemos a nuestro index.php colocando la variable para. ejemplo:
Insertar CODE, HTML o PHP:
http://test.cicklow.me/ForoBeta/recibir/?para=19853180522
- Pueden usar este script para uso propio para verificar cuentas de youtube, google, etc o lo que mas le guste
- Si deciden armar un sitio sobre esto, pues abra que hacerles mas modificaciones, yo solo les doy el punto de partida.
- Los números en NEXMO son cobrados cada 30 dias (ejemplo el de usa sale 0,67EUROS, eso se cobra cuando se compra y cada 30 días de uso, estos números se pueden cancelar, ejemplo en fiverr pueden vender los números por 30 días)
- NEXMO no cobra por SMS recibido, otras empresas si! (a razón de 0,0045USD por SMS recibido)
Descarga:
Insertar CODE, HTML o PHP:
http://test.cicklow.me/ForoBeta/recibir/recibir.rar
Insertar CODE, HTML o PHP:
http://test.cicklow.me/ForoBeta/recibir/
Insertar CODE, HTML o PHP:
http://test.cicklow.me/ForoBeta/recibir/?para=19853180522
Saludos!
PD: Si van a usar varios numeros, usen este codigo en index.php
cambian:
PHP:
<div class="container">
<h1>SMS Recibidos!</h1>
<table class="table table-striped">
<thead>
<tr><td>ID</td><td>Desde</td><td>Para</td><td>Fecha</td><td>Mensaje</td></tr>
</thead>
<tbody>
<?php
include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
//Vemos si mostramos los SMS de un numero en concreto o todos
if($_GET['para']!="") $para = 'smsto=\''.strip_tags($_GET['para']).'\''; else $para = "1";
//Obtenemos los SMS
$sms = $mysqli->query("SELECT * FROM sms_entrar WHERE ".$para." ORDER BY id DESC LIMIT 0,100");
//Recorremos la variable $sms y mostramos los SMS
while ($ROW = $sms->fetch_assoc()) {
echo '<tr><td>'.$ROW['id'].'</td><td>'.$ROW['smsfrom'].'</td><td>'.$ROW['smsto'].'</td><td>'.calculart($ROW['time']).'</td><td style="word-wrap: break-word;">'.wordwrap($ROW['msg'], 100, "<br />\n", true).'</td></tr>';
}
?>
</tbody>
</table>
</div>
por
PHP:
<?php if($_GET[para]==""){ ?>
<div class="container">
<h1>Numeros!</h1>
<table class="table table-striped">
<thead>
<tr><td>Numero</td><td>Accion</td></tr>
</thead>
<tbody>
<?php
include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
$sms = $mysqli->query("SELECT DISTINCT smsto FROM sms_entrar WHERE 1 ORDER BY smsto");
//Recorremos la variable $sms y mostramos los SMS
while ($ROW = $sms->fetch_assoc()) {
echo '<tr><td>'.$ROW['smsto'].'</td><td><a href="?para='.$ROW['smsto'].'">Ver SMS</a></td></tr>';
}
?>
</tbody>
</table>
</div>
<?php }else{ ?>
<div class="container">
<h1>SMS Recibidos!</h1>
<table class="table table-striped">
<thead>
<tr><td>ID</td><td>Desde</td><td>Para</td><td>Fecha</td><td>Mensaje</td></tr>
</thead>
<tbody>
<?php
include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
//Vemos si mostramos los SMS de un numero en concreto o todos
if($_GET['para']!="") $para = 'smsto=\''.strip_tags($_GET['para']).'\''; else $para = "1";
//Obtenemos los SMS
$sms = $mysqli->query("SELECT * FROM sms_entrar WHERE ".$para." ORDER BY id DESC LIMIT 0,100");
//Recorremos la variable $sms y mostramos los SMS
while ($ROW = $sms->fetch_assoc()) {
echo '<tr><td>'.$ROW['id'].'</td><td>'.$ROW['smsfrom'].'</td><td>'.$ROW['smsto'].'</td><td>'.calculart($ROW['time']).'</td><td style="word-wrap: break-word;">'.wordwrap($ROW['msg'], 100, "<br />\n", true).'</td></tr>';
}
?>
</tbody>
</table>
</div>
<?php } ?>
PD: NEXMO ha cambiado sus politicas y no permite este tipo de script masivos (colocarlo para otros)... por ahi para uso personal funciona bien, hay numeros que no funcionan con facebook, y otras redes sociales... Tengan en cuenta eso...
Otro sitio para usar es: https://www.tropo.com/ para comprar numeros...