
Compartir:
Phil is Head of Developer Relations at Hookdeck, an asynchronous messaging platform, and a proud Vonage alumni.
Primeros pasos con las comunicaciones programables por SMS y Voice
Tiempo de lectura: 2 minutos
Recientemente organizamos un seminario web con David Leary de Desarrollador de Intuit para repasar los aspectos básicos del uso de las API de SMS y Voice de Nexmo. Si usted está planeando asistir a la próxima Intuit Small Business Hack y quieres tener una idea de lo que es posible, o si simplemente estás interesado en obtener una visión general de las comunicaciones programables de SMS y Voice con Nexmo, aquí están las secciones del seminario web que abordan directamente el envío de un SMS, la recepción de un SMS, la realización de una llamada telefónica saliente y la recepción de una llamada telefónica entrante. Todos los ejemplos incluyen también fragmentos de código y enlaces a lecturas más detalladas.
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Cómo enviar un SMS
Esta sección del seminario web explica cómo enviar un SMS saliente. Cubre el uso de remitentes alfanuméricos y el uso de un número que ha sido comprado a Nexmo como el número de from número.
const Nexmo = require('nexmo');
const nexmo = new Nexmo({
apiKey: API_KEY,
apiSecret: API_SECRET,
}, {debug: true});
nexmo.message.sendSms(
FROM_NUMBER,
TO_NUMBER,
'Hello from @leggetter', (error, result) => {
if(error) {
console.error(error);
}
else {
console.log(result);
}
});Para obtener más información sobre el envío de un SMS echa un vistazo a nuestro post sobre enviar un SMS con Node.JSy la guía de SMS API y referencia de la SMS API. Cuando envíes un SMS, es posible que también quieras saber si el mensaje ha sido entregado. Para ello, puede registrarse para obtener un Recibo de entrega de SMS. También hay una entrada de blog sobre recibir un recibo de entrega de SMS con Node.JS.
Cómo recibir un SMS
En esta parte del webinar cubriremos la recepción de un webhook entrante que contenga la información del SMS entrante.
const Nexmo = require('nexmo');
const app = require('express')();
app.set('port', (process.env.PORT || 5000));
app.use(require('body-parser').urlencoded({ extended: false }));
app.listen(app.get('port'), () => {
console.log('Example app listening on port', app.get('port'));
});
app.post('/sms', (request, response) => {
console.log('Received message text "%s"', request.body.text);
response.sendStatus(200);
});Puedes encontrar más información sobre cómo recibir un SMS en nuestro post sobre recibir un SMS con Node.JSy la guía de la SMS API y Referencia de la SMS API.
Cómo hacer una llamada saliente
A continuación se explica cómo realizar una llamada telefónica saliente utilizando la Voice API de Nexmo.
const Nexmo = require('nexmo');
const nexmo = new Nexmo({
apiKey: API_KEY,
apiSecret: API_SECRET,
applicationId: APPLICATION_ID,
privateKey: PRIVATE_KEY
});
nexmo.calls.create({
to: [{
type: 'phone',
number: TO_NUMBER
}],
from: {
type: 'phone',
number: FROM_NUMBER
},
answer_url: ['https://nexmo-community.github.io/ncco-examples/conference.json']
}, (err, res) => {
if(err) { console.error(err); }
else { console.log(res); }
});Tenemos una entrada de blog que cubre cómo hacer una llamada saliente con Node.JShay una Guía de la API para llamadas salientes de Voice y por supuesto una Voice API de referencia. También puede consultar la referencia NCCO para obtener información sobre el control de las conversaciones y llamadas de Nexmo, tal y como se utiliza answer_url en el ejemplo anterior.
Recibir una llamada entrante
Por último, aquí se explica cómo recibir y controlar una llamada telefónica entrante. Esto introduce el concepto de Objetos de Control de Conversación Nexmo (NCCOs).
const Nexmo = require('nexmo');
const nexmo = new Nexmo({
apiKey: API_KEY,
apiSecret: API_SECRET,
applicationId: APPLICATION_ID,
privateKey: PRIVATE_KEY
});
const app = require('express')();
const bodyParser = require('body-parser');
app.set('port', (process.env.PORT || 5000));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.listen(app.get('port'), () => {
console.log('Example app listening on port', app.get('port'));
});
app.get('/answer', (request, response) => {
console.log('Incoming call from "%s"', request.query.from);
// record - All or part of a Call No
// conversation - A conference.
// connect - To a connectable endpoint such as a phone number
// talk - Send synthesized speech to a call
// stream - Send audio files to a call
var ncco = [
// {
// action: 'talk',
// text: 'hello from me',
// loop: 3,
// bargeIn: true
// },
{
action: 'stream',
streamUrl: ['http://www.ladyofthecake.com/rdmp3/theme.mp3'],
loop: 3,
bargeIn: true
},
{
action: 'input',
eventUrl: ['https://nexmo.ngrok.io/event']
}
];
response.json(ncco);
});
app.post('/event', (request, response) => {
console.log('Received event', request.body);
response.sendStatus(200);
});Más información sobre la recepción de una llamada telefónica entrante en nuestro post sobre recibir una llamada entrante con Node.JSy en la Guía de la API de llamadas entrantes de Voice y en la Referencia de la Voice API. En el ejemplo anterior también se menciona record, talk, stream y otras acciones NCCO. Por lo tanto, eche un vistazo a la referencia NCCO para obtener información sobre el control de las conversaciones y llamadas de Nexmo.
Más bondades de las comunicaciones programables
Hay mucha más información sobre las API de Nexmo en los documentos que no se han mencionado anteriormente. Por ejemplo, la Verify API para 2FA y contraseñas de un solo uso y Number Insight para buscar información sobre números de teléfono. También tenemos una selección de tutoriales sobre comunicaciones programables que cubren la creación de casos de uso de comunicaciones específicas como comunicaciones de voz privadas, Atención al cliente por SMS, respuesta de voz interactivay mucho más utilizando las API de Nexmo.
Si vas al Small Business Hack, buena suerte y nos vemos allí. Si sólo te has pasado por aquí para aprender sobre comunicaciones programables, esperamos que esto te resulte útil. De cualquier manera, no dude en unirse a la Comunidad Nexmo Slack si tienes alguna pregunta.
