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.
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?
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
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.
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.
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
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.
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