Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

Display Node.js and Twilio SDK versions


Sometimes, such as when you are migrating to the latest version of Node.js, you want to verify what version of Node.js your Functions are running on. The same can apply to the version of the Twilio Node.js SDK(link takes you to an external page) that you are using, since its version determines what functionality is available via the context.getTwilioClient helper.

The following code sample shows some helpful values that you can return or log for verification. To get started, follow the instructions below to create a Service and Function to host and execute the example.


Create and host a Function

create-and-host-a-function page anchor

Before you run any of the examples on this page, create a Function and paste the example code into it. You can create a Function in the Twilio Console or by using the Serverless Toolkit.

ConsoleServerless Toolkit

If you prefer a UI-driven approach, complete these steps in the Twilio Console:

  1. Log in to the Twilio Console(link takes you to an external page) and navigate to Develop > Functions & Assets. If you're using the legacy Console, open the Functions tab(link takes you to an external page).
  2. Functions are contained within Services. Click Create Service(link takes you to an external page) to create a new Service.
  3. Click Add + and select Add Function from the dropdown.
  4. The Console creates a new protected Function that you can rename. The filename becomes the URL path of the Function.
  5. Copy one of the example code snippets from this page and paste the code into your newly created Function. You can switch examples by using the dropdown menu in the code rail.
  6. Click Save.
  7. Click Deploy All to build and deploy the Function. After deployment, you can access your Function at https://<service-name>-<random-characters>-<optional-domain-suffix>.twil.io/<function-path>
    For example: test-function-3548.twil.io/hello-world.

You can now invoke your Function with HTTP requests, configure it as the webhook for a Twilio phone number, call it from a Twilio Studio Run Function Widget, and more.


Log and return version data

log-and-return-version-data page anchor

Copy and paste the following example code into your newly minted Function. Ensure that your Function is public, save your changes, and deploy the Service that contains this Function.

Log and return versions

log-and-return-versions page anchor
1
exports.handler = (context, event, callback) => {
2
// PATH represents the relative path of this function
3
// This value does not include the domain name
4
const path = context.PATH;
5
const nodeVersion = process.version;
6
const twilioVersion = require('twilio/package.json').version;
7
8
console.log(`Function path: ${path}`);
9
console.log(`Node.js version: ${nodeVersion}`);
10
console.log(`Twilio SDK version: ${twilioVersion}`);
11
12
return callback(null, {
13
status: 'complete',
14
path,
15
nodeVersion,
16
twilioVersion,
17
});
18
};

While running live logs (click Enable live logs in the Console), make a GET request to your Function using a tool such as curl(link takes you to an external page) or Postman(link takes you to an external page). You will then see logs displaying the Function's path, as well as the versions of Node.js and the Twilio SDK. Your HTTP client will also receive the same data as JSON.

For example, a public Function named /versions would log the following (with different versions, depending on when you're reading this):

1
Function path: /versions
2
Node.js version: v14.18.1
3
Twilio SDK version: 3.72.0

It would also return the following JSON response:

1
{
2
"status": "complete",
3
"path": "/versions",
4
"nodeVersion": "v14.18.1",
5
"twilioVersion": "3.72.0"
6
}
(information)

Info

This sample uses context.PATH to log the relative path of this Function. There are several other helpful, built-in process variables that you may wish to log as well.