Buscar Numbers disponibles

En esta página se explica cómo buscar, mediante programación, números disponibles para su compra.

También puedes buscar números disponibles por Internet, utilizando el panel de control para desarrolladores o desde la línea de comandos, utilizando la opción CLI de Vonage.

Sustituye las siguientes variables del código de ejemplo por tus propios valores:

ClaveDescripción
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

COUNTRY_CODE

The two digit country code for the number. For example: GB for the United Kingdom

VONAGE_NUMBER_TYPE

The type of number: landline, mobile-lvn or landline-toll-free

VONAGE_NUMBER_FEATURES

The capabilities of the number: SMS, VOICE or SMS,VOICE for both

NUMBER_SEARCH_CRITERIA

The filter criteria. For example, numbers containing 234.

NUMBER_SEARCH_PATTERN

Where the NUMBER_SEARCH_CRITERIA should appear in the number:

  • 0 - At the beginning of the number
  • 1- Anywhere in the number
  • 2 - At the end of the number

Escriba el código

Añada lo siguiente a search-numbers.sh:

curl \
  -u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
  "https://rest.nexmo.com/number/search?country=$COUNTRY_CODE&type=$VONAGE_NUMBER_TYPE&features=$VONAGE_NUMBER_FEATURES&pattern=$NUMBER_SEARCH_CRITERIA&search_pattern=$NUMBER_SEARCH_PATTERN"

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

sh search-numbers.sh

Requisitos previos

npm install @vonage/server-sdk

Crea un archivo llamado search-numbers.js y añade el siguiente código:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
});

Ver fuente completa

Escriba el código

Añada lo siguiente a search-numbers.js:

vonage.numbers.getOwnedNumbers({
  country: COUNTRY_CODE,
  type: VONAGE_NUMBER_TYPE,
  pattern: NUMBER_SEARCH_CRITERIA,
  searchPattern: NUMBER_SEARCH_PATTERN,
  features: VONAGE_NUMBER_FEATURES,
})
  .then((numbers) => {
    for (const number of numbers) {
      console.log(number);
    }
  })
  .catch((error) => console.error(error));

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

node search-numbers.js

Requisitos previos

Añada lo siguiente a build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Crea un archivo llamado SearchAvailableNumbers y añade el siguiente código al método main:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SearchAvailableNumbers:

val numbers = client.numbers.searchAvailable {
    country(NUMBER_COUNTRY_CODE)
    type(NUMBER_TYPE)
    features(*NUMBER_FEATURES)
    pattern(NUMBER_SEARCH_PATTERN, NUMBER_SEARCH_CRITERIA)
}
for (number in numbers) {
    println("""
        Tel: ${number.msisdn}
        Country: ${number.country}
        Type: ${number.type}
        Cost: ${number.cost}
        """.trimIndent()
    )
}

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.numbers por el paquete que contiene SearchAvailableNumbers:

gradle run -Pmain=com.vonage.quickstart.kt.numbers.SearchAvailableNumbers

Requisitos previos

Añada lo siguiente a build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Crea un archivo llamado SearchNumbers y añade el siguiente código al método main:

VonageClient client = VonageClient.builder()
        .apiKey(VONAGE_API_KEY)
        .apiSecret(VONAGE_API_SECRET)
        .build();

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SearchNumbers:

SearchNumbersResponse response = client.getNumbersClient().searchNumbers(
        SearchNumbersFilter.builder()
            .country(NUMBER_COUNTRY_CODE)
            .type(NUMBER_TYPE)
            .features(NUMBER_FEATURES)
            .pattern(NUMBER_SEARCH_PATTERN, NUMBER_SEARCH_CRITERIA)
            .build()
);

System.out.println("Here are "
        + response.getNumbers().length
        + " of the " + response.getCount()
        + " matching numbers available for purchase."
);

for (AvailableNumber number : response.getNumbers()) {
    System.out.println("Tel: " + number.getMsisdn());
    System.out.println("Cost: " + number.getCost());
}

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.numbers por el paquete que contiene SearchNumbers:

gradle run -Pmain=com.vonage.quickstart.numbers.SearchNumbers

Requisitos previos

Install-Package Vonage

Crea un archivo llamado SearchNumbers.cs y añade el siguiente código:

using Vonage.Numbers;
using Vonage.Request;
using Vonage;

Ver fuente completa

Añada lo siguiente a SearchNumbers.cs:


var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);

Ver fuente completa

Escriba el código

Añada lo siguiente a SearchNumbers.cs:


var request = new NumberSearchRequest()
{
    Country = countryCode,
    Type = vonageNumberType,
    Features = vonageNumberFeatures,
    Pattern = numberSearchCriteria,
    SearchPattern = numberSearchPattern
};

Ver fuente completa

Requisitos previos

composer require vonage/client

Crea un archivo llamado search-available.php y añade el siguiente código:

use Vonage\Numbers\Filter\AvailableNumbers;
use Vonage\Entity\IterableAPICollection;

Ver fuente completa

Añada lo siguiente a search-available.php:

$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

Ver fuente completa

Escriba el código

Añada lo siguiente a search-available.php:

/** @var IterableAPICollection $response */
$filter = new AvailableNumbers([
    "pattern" => (string) NUMBER_SEARCH_CRITERIA,
    "search_pattern" => (int) NUMBER_SEARCH_PATTERN,
    "type" => VONAGE_NUMBER_TYPE,
    "features" => VONAGE_NUMBER_FEATURES,
]);
$response = $client->numbers()->searchAvailable(COUNTRY_CODE, $filter);

echo "There are " . count($response) . " matching numbers available for purchase:\n";

foreach ($response as $number) {
    echo "Tel: " . $number->getMsisdn() . " Cost: " . $number->getCost() . "\n";
}

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

php search-available.php

Requisitos previos

pip install vonage python-dotenv

Escriba el código

Añada lo siguiente a search.py:

from vonage import Auth, Vonage
from vonage_numbers import SearchAvailableNumbersFilter

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

numbers, count, next = client.numbers.search_available_numbers(
    SearchAvailableNumbersFilter(
        country=NUMBER_COUNTRY_CODE,
        size=3,
        pattern=NUMBER_SEARCH_CRITERIA,
        search_pattern=NUMBER_SEARCH_PATTERN,
        type=NUMBER_TYPE,
        features=NUMBER_FEATURES,
    )
)
pprint(numbers)
print(count)
print(next)

for number in numbers:
    print(f'Tel: {number.msisdn} Cost: {number.cost}')

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

python numbers/search.py

Requisitos previos

gem install vonage

Crea un archivo llamado search.rb y añade el siguiente código:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

Ver fuente completa

Escriba el código

Añada lo siguiente a search.rb:

response = client.numbers.search(
  country: COUNTRY_CODE,
  msisdn: VONAGE_NUMBER,
  type: VONAGE_NUMBER_TYPE,
  features: VONAGE_NUMBER_FEATURES,
  pattern: NUMBER_SEARCH_CRITERIA,
  search_pattern: NUMBER_SEARCH_PATTERN
)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

ruby search.rb

Véase también