web-dev-qa-db-fra.com

API pour déterminer le transporteur cellulaire?

Existe-t-il une API gratuite ou un autre moyen de déterminer auprès de quel opérateur un numéro de téléphone portable est enregistré?

J'aimerais que mon application diffuse des messages texte sans qu'ils choisissent leur opérateur dans une liste.

MISE À JOUR: Fait intéressant, un collègue a trouvé la réponse: http://developer.whitepages.com/

UPDATE2: Eh bien, le contrat de licence des pages blanches est si restrictif que vous ne pouvez pas créer une application pour cela. D'autres idées?

MISE À JOUR3:
À un moment donné, quelqu'un a supprimé ma mise à jour 2. Cela la remet en place. Plus important encore, au 19/10/2015, les Conditions d'utilisation sont toujours dans un état où il devrait être impossible d'utiliser légalement leurs services.

32
NotMe

Vous devez noter que la façon de déterminer à quel transporteur appartient un numéro sera spécifique au pays (bien que certains pays puissent utiliser le même schéma, mais je ne suis pas sûr - j'ai travaillé avec les bases de données de portabilité norvégiennes et suédoises et ils sont tout à fait différents api-wize - et nécessitent une authentification vpn +).

Les informations ne sont pas, du moins ici, accessibles au public - j'ai vu des fournisseurs de services, des opérateurs de réseaux et des fournisseurs d'informations (comme dans les pages jaunes) y avoir accès.

Mais otoh, un service de passerelle SMS approprié ne ferait-il pas cela pour vous?

3
tommym

Data24-7 propose une API pour rechercher auprès de l'opérateur les numéros de téléphone sans fil. Il renvoie également les adresses e-mail pour envoyer des messages SMS et MMS au téléphone). Ce n'est pas gratuit, c'est 12 $ par mois et 0,006 $ par recherche.

Le lien est: http://www.data24-7.com

13
Marc

Je sais que cette question a déjà 5 ans, mais pour ceux qui recherchent toujours quelque chose, PacificEast (pour qui je travaille) offre un service Line Identification Append pour les numéros américains et canadiens qui gère la portabilité des numéros locaux. Le service est disponible en tant qu'API SOAP ou en tant que service batch (vous envoyez PacificEast votre fichier, ils le traitent et le renvoient). Outre le transporteur, le service identifiera également le type de ligne ( sans fil, fixe, etc.), que le numéro ait été porté ou non, et certaines informations géographiques.

6
TLiebe

Neustar serait votre meilleur pari, ils gèrent les recherches, la portabilité des numéros, la liste des numéros exclus, etc ... Le service n'est pas gratuit mais ils sont les plus fiables de l'entreprise. Une autre option pourrait être Twilio

4
Phill Pafford

Si vous cherchez ce que j'étais (un moyen d'envoyer facilement un e-mail -> SMS personnes pour un programme), je pense que le mieux sera d'envoyer un e-mail phonenumber @ sms-gateway à chaque transporteur pour le pays. Ce faisant, le numéro ne fonctionnera qu'avec un seul transporteur où le numéro est actif à ce moment. Les autres e-mails seront retournés. Si vous essayez de le rechercher, vous comptez maintenant sur la façon dont leur base de données est.

3
user875479

Vous pouvez essayer de faire des captures d'écran à partir d'un site Web comme http://www.fonefinder.net qui fait un 'whois' sur le nombre

Voici un exemple d'URL à gratter. (J'ai vérifié que c'était vraiment un sprint, donc c'est correct)

http://www.fonefinder.net/findome.php?npa=817&nxx=683&thoublock=2926
2
Trey Brister

Votre plus gros problème est que les gens peuvent désormais emporter leur numéro avec eux. Ainsi, alors que dans le passé, les opérateurs de téléphonie cellulaire avaient des blocs de numéros de téléphone, et le font probablement toujours, il n'y a aucun moyen fiable de mapper un numéro de téléphone spécifique à un certain opérateur.

2
TravisO

J'en ai récemment écrit un dans Ruby qui s'interface avec le FoneFinder.net susmentionné

https://rubygems.org/gems/FoneFinder -> Ruby Gem page
https://github.com/evinugur/FoneFinder.rb/ -> Source Github

Vous pouvez l'utiliser pour obtenir quelques champs de données liés à un numéro de téléphone portable, mais pour déterminer l'opérateur, faites-le.

require 'FoneFinder'
myPhoneNumber = FoneFinder.new("123-456-7890")
puts myPhoneNumber.carrier
1
deadboy