Ir al contenido
NovoDIDNovoDIDdocumentación
API públicaReferencia por operaciónDIDs

Consultar detalle del número

Números activos autorizados, pagos, SMS y desvíos.

GET /api/v1/dids/1234

Permiso: dids:read

Permisos requeridos

dids:read

Use el id numérico de GET /dids, no el teléfono. Requiere titularidad activa y selección del token. Devuelve {did: ...}; fuera del acceso responde 404. billing:read y forwarding:read controlan los campos adicionales de la introducción.

Cuando una cuenta está en revisión de seguridad, las consultas y operaciones se bloquean con HTTP 403 y código account_security_review, incluso con tokens emitidos previamente. No intente eludir la restricción ni repetir automáticamente. El acceso se restablece después de la liberación administrativa; se mantienen los demás límites y restricciones. Los webhooks pendientes y los eventos del período se suprimen sin reenvío automático. La facturación y los vencimientos siguen las reglas existentes. Siga la revisión en https://novodid.com/seguranca/atendimento. Solo el ticket vinculado a la revisión permite lectura, respuestas y archivos adjuntos en el sitio autenticado. Los demás tickets y la API pública continúan bloqueados. El cliente debe esperar el primer mensaje del equipo y puede enviar una sola respuesta por cada nuevo mensaje del soporte, incluidos los archivos solicitados.

El campo number contiene únicamente un teléfono confirmado para la posesión actual. Si la confirmación no está disponible o es inconsistente, el elemento se omite de la lista y la consulta por ID devuelve 404 did_not_found. Repita la consulta más tarde; si persiste, contacte a soporte. El acceso al historial conserva el inicio de la posesión actual.

Respuesta exitosa (200)

{
  "did": {
    "id": 1234,
    "number": "5511999999999",
    "type": "movel",
    "status": "active",
    "active": true,
    "cycle": null,
    "expiresAt": null,
    "autoRenew": null,
    "payment": null,
    "sms": {
      "enabled": true,
      "canSend": true,
      "accessStartedAt": "2026-09-23T12:00:00.000Z"
    },
    "forwarding": null
  }
}

Ejemplo de error

{
  "error": {
    "code": "insufficient_scope",
    "message": "Token sem permissão para esta operação."
  }
}

curl

curl -X GET \
  -H "Authorization: Bearer $NOVODID_API_TOKEN" \
  "https://novodid.com/api/v1/dids/1234"

Node

const response = await fetch("https://novodid.com/api/v1/dids/1234", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.NOVODID_API_TOKEN}`
  }
});
const payload = await response.json();

if (!response.ok) {
  throw new Error(payload.error?.message || "Erro na API NovoDID");
}

console.log({ status: response.status });

Python

import os
import requests

response = requests.get(
    "https://novodid.com/api/v1/dids/1234",
    headers={"Authorization": f"Bearer {os.environ['NOVODID_API_TOKEN']}"},
    timeout=30,
)

payload = response.json()
response.raise_for_status()
print({"status": response.status_code})

Go

package main

import (
    "fmt"
    "io"
    "net/http"
    "os"
)

func main() {
    req, err := http.NewRequest("GET", "https://novodid.com/api/v1/dids/1234", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Set("Authorization", "Bearer "+os.Getenv("NOVODID_API_TOKEN"))

    res, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer res.Body.Close()

    _, _ = io.Copy(io.Discard, res.Body)
    if res.StatusCode >= 300 {
        panic(fmt.Sprintf("NovoDID API HTTP %d", res.StatusCode))
    }

    fmt.Println(res.StatusCode)
}

Rust

use reqwest::blocking::Client;
use std::env;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();
    let response = client
        .get("https://novodid.com/api/v1/dids/1234")
        .bearer_auth(env::var("NOVODID_API_TOKEN")?)
        .send()?;

    let status = response.status();
    let _payload = response.text()?;
    if !status.is_success() {
        return Err(format!("NovoDID API HTTP {}", status).into());
    }

    println!("HTTP {}", status);
    Ok(())
}

PHP

<?php

$ch = curl_init("https://novodid.com/api/v1/dids/1234");

curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer " . getenv("NOVODID_API_TOKEN")
  ],
]);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($response === false || $status >= 300) {
  throw new RuntimeException("NovoDID API HTTP " . $status);
}

echo $status . PHP_EOL;

Ruby

require "net/http"

uri = URI("https://novodid.com/api/v1/dids/1234")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("NOVODID_API_TOKEN")}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

raise "NovoDID API HTTP #{response.code}" unless response.is_a?(Net::HTTPSuccess)

puts response.code

C#

using System.Net.Http.Headers;

using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "https://novodid.com/api/v1/dids/1234");

request.Headers.Authorization = new AuthenticationHeaderValue(
    "Bearer",
    Environment.GetEnvironmentVariable("NOVODID_API_TOKEN")
);

using var response = await client.SendAsync(request);
var payload = await response.Content.ReadAsStringAsync();

response.EnsureSuccessStatusCode();
Console.WriteLine(response.StatusCode);

En esta página