Skip to content
Last updated

You can quickly see how the Number Lookup API works by looking up a number using the API.

In this guide you will learn:
  1. How to set up your ASP.NET Core console application.
  2. Look up your phone number.

What you need to know before you start

Before you can get started, you need the following already set up:

Set up your .NET application

Create a new project folder and open a command prompt. Execute the following command to create a new .NET console application:

dotnet new console

This creates a new console application and project.

Modify your application

In your project folder, open the Program.cs file and paste the provided "Program.cs" code into the file, replacing all the existing content.

Note:

This tutorial uses basic authentication for testing purposes. We recommend using OAuth for authentication in a production environment. You can follow the steps in this guide, but use the code samples from here to use OAuth authentication instead.

Program.cs
// Use this code to look up a phone number using the Number Lookup API. 
using System.Text;
using System.Text.Json;
using static System.Net.Mime.MediaTypeNames;

class Program
{
    private const string _number = "<REPLACE_WITH_NUMBER>";

    /*
        An access key and secret and the project ID from your Build dashboard, found here https://dashboard.sinch.com/settings/access-keys
    */
    private const string _key = "<REPLACE_WITH_ACCESS_KEY>";
    private const string _secret = "<REPLACE_WITH_ACCESS_SECRET>";
    private const string _project_id = "<REPLACE_WITH_PROJECT_ID>";

    private const string _sinchUrl = "https://lookup.api.sinch.com/v2/projects/" + _project_id + "/lookups";
    static async Task Main(string[] args)
    {
        await LookupNumberWithBasicAuth();
    }

    private static async Task LookupNumberWithBasicAuth()
    {
        using (var _client = new HttpClient())
        {
            var requestBody = LookupNumberRequestBody();
            var base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{_key}:{_secret}"));

            var requestMessage = new HttpRequestMessage(HttpMethod.Post, _sinchUrl);
            requestMessage.Headers.TryAddWithoutValidation("authorization", "basic " + base64String);
            requestMessage.Content = requestBody;

            var request = await _client.SendAsync(requestMessage);

            Console.WriteLine(await request.Content.ReadAsStringAsync());

            request.EnsureSuccessStatusCode();
        }
    }
    public static StringContent LookupNumberRequestBody()
    {
        var myData = new
        {
            number = _number
        };

        return new StringContent(
            JsonSerializer.Serialize(myData),
            Encoding.UTF8,
            Application.Json
        );
    }
}

Fill in your parameters

Before you can run the code, you need to update some more values so you can connect to your Sinch account. Update the following parameters with your own values:

ParameterYour value
_keyThe access key found on your Sinch Build dashboard.
_secretThe access secret found on your Sinch Build dashboard.
_project_idYour project ID found on your Sinch Build dashboard.
_numberThe phone number that you want to look up in E.164 format.

Save the file.

Build your project

Before executing your code, you must first compile your application. Execute the following command:

dotnet build

Look up your phone number

Now you can execute the code and look up your phone number. Run the following command:

dotnet run

You should receive a response in your console with details about the phone number you specified.

Troubleshooting tip

If after running your app you receive a 5000 error response, you may have forgotten to save your file after adding your authentication values. This is an easy mistake to make! Try saving the file and running the app again.

Additional resources