Uma chamada revela o que é um número de telefone: a rede que o serve, a rede que o emitiu, se mudou entre as duas e que tipo de linha é. Uma chamada revela se um endereço de e-mail aceitará mensagens. Mesma chave, mesmo envelope de erro, mesmo contrato de idempotência de qualquer outro canal Bird, porque a mesma equipa de engenharia construiu todos.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["porting", "score"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name, answer.flags);
// → "KPN" ["ported"]
// Only a block whose status is ok carries a value,
// and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);
// → 84
5 minutos do npm install à primeira consulta
Consulte um número ou um endereço a partir da linguagem que já utiliza.
Métodos tipados nos SDKs de Go, TypeScript, Python e PHP, e bird lookup na CLI. O painel executa as mesmas duas operações uma de cada vez, sendo a forma mais rápida de ver uma resposta antes de escrever qualquer código.
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["classification", "score"],
});
console.log(answer.country_code, answer.line_type);
// Only a block whose status is ok carries a value, and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);O que uma consulta responde e quanto custa cada resposta.
Campos nomeados de fontes de dados reais, não um modelo a adivinhar. Cada um deles indica se foi respondido, e só é cobrado pelos que foram.
- 01
País e ambas as redes
O país do número, a rede que o serve hoje e a rede que emitiu o seu intervalo. Diferem quando o número foi portado.
- 02
Deteção de tipo de linha
Móvel, fixo, VoIP, gratuito, tarifa premium, satélite, pager, telefone público, M2M, serviço. Decida se SMS é sequer possível antes de enviar.
- 03
O indicador de portabilidade, gratuito com a resposta base
Se o número já mudou de rede é incluído em cada consulta. Solicite a propriedade de portabilidade quando também precisar das datas e do registo completo.
- 04
Seis propriedades sob pedido
Name classification, porting, presence, roaming, sim_swap ou score em type. O serviço alocado do intervalo, o registo de portabilidade, se a linha está ativa, se está em roaming, quando o SIM foi alterado pela última vez e uma pontuação de credibilidade de 0 a 100.
- 05
Um estado em cada propriedade
Cada bloco reporta ok, unavailable ou inconclusive. Apenas ok contém um valor, para que nunca tenha de inspecionar uma resposta para descobrir que está vazia.
- 06
Paga por respostas, não por tentativas
A consulta base é cobrada uma vez. Uma propriedade é cobrada apenas quando é entregue, e uma consulta que falha não é cobrada de todo.
- 07
Um campo para decidir sobre um endereço de e-mail
result é valid, neutral, risky, undeliverable ou typo, com reason a indicar por que um endereço não entregável não pode receber mensagens.
- 08
Uma correção para um endereço mal escrito
did_you_mean contém o endereço de que o erro de digitação parece ser. flags assinala um endereço de função, descartável ou de fornecedor gratuito, e delivery_confidence classifica tudo de 0 a 100.
- 09
Uma nova tentativa não pode cobrar duas vezes
Envie um Idempotency-Key e um pedido repetido reproduz a resposta que já pagou em vez de comprar uma segunda.
- 10
Mesma autenticação, mesmo formato de erro
Uma chave API para Lookup, SMS, Email, WhatsApp e Verify. Um registo de erros comum a todos, e um orçamento de rate-limit próprio para que uma consulta nunca consuma o seu envio.
Porque criámos o Lookup
Porque não deveria descobrir que um número é fixo ao ver o SMS falhar.
A resposta base vem da mesma plataforma de operadora que encaminha SMS e Voice da Bird, e é por isso que o custo é tão baixo: já estávamos a executar a consulta para escolher uma rota em tempo real. Lookup é essa consulta como um endpoint de primeira classe, para que possa validar um registo, filtrar um lead ou encaminhar uma mensagem de forma diferente sem enviar nada primeiro. Mesma autenticação, mesmo envelope de erro, mesmo contrato de idempotência que o resto da plataforma.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["porting", "score"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name, answer.flags);
// → "KPN" ["ported"]
// Only a block whose status is ok carries a value,
// and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);
// → 84
Duas operações, uma para cada tipo de destinatário.
Ambas são um único pedido e uma única resposta. Não há nada para criar, nada para consultar e nada para limpar depois.
Número de telefone.
País, ambas as redes, o indicador de portabilidade e o tipo de linha, mais qualquer propriedade que indicar em type.
Endereço de e-mail.
Um veredito, uma pontuação de confiança, os indicadores que explicam um endereço arriscado e uma correção quando parece um erro de digitação.
Explorar Lookup
Cada operação em detalhe. Uma chave API, um formato de erro.
Pague apenas pelas respostas que recebe.
Preço por consulta: uma cobrança por pesquisa, mais uma por cada propriedade retornada com resposta. Uma propriedade que não conseguimos responder, e uma pesquisa que falhe, não têm custo. Sem taxa por utilizador.
Put it into practice.
Continue with the documentation, guides and examples for this topic. Resources are in English.