is it possible to identify telecom provider by mobile or phone number? - api

There are ulimited online bulk sms provider supporting Restful API. Mainly I look into Nexmo, Tropo, Twilio pricing in different countries.
Let take an example sms to Brazil.
[ TROPO ]
2¢ / msg
[ Nexmo ]
3.63¢ / msg
[ Twilio ]
Twilo offers based on providers. see the pricing.
Vivo 8.3¢ / msg
Claro 8.6¢ / msg
TIM 1.2¢ / msg
Oi 8.3¢ / msg
So, What I want is before sending SMS, I want to identify the Provider. See the example sending sms to TIM is cheaper in Twilio but others Tropo and Nexmo are cheaper. If there is a way to identify the telecom provider then I can program which API to use before sending sms. I don't know this question should be posted here or not. Is there a way or api available to identify this? Thank you.

I didn't see ready solutions, except databases in billings (in most cases they are detailed as needed for concrete needs)
The "number one" source is ITU. Link to docs - http://www.itu.int/oth/T0202.aspx?parent=T0202
It's official source, but it isn't ready to consume database. You must spend much time to manually create database.
There are some preparsed databases, as http://en.allworldsms.com/html/phone_codes.php ...
it's ugly, but it contains logos. And it's not downloadable in one file, but it's still easy to consume.

http://www.data24-7.com/git.php offers a free look up service if you want to use the web based panel they have. If you want API access they charge a sub-penny rate per look up. When I was using it the rate was something like .006 cents. Also the data was only about 90% correct. They may have improved it since then.
You can get more then just the provider, you can also tell if the phone number supports SMS, if it's wireless and what the greeting interrupt tone is (the number that by-passes the voice mail greeting).

Related

How would I go about developing a program that automatically sends an email with the tracking number to a customer using EasyPost API?

I'm a fairly new web developer and I have an ecommerce website that integrates EasyPost to create and print shipping labels.
EasyPost has an API. Also, in each shipping label, I see a JavaScript object (I think) that displays buyer_address... "email": "example#gmail.com",, which tells me that the email information is there.
My question is somewhat general in scope: What steps would I need to take to go about creating this automation? The website is built in Webflow, so I don't really have a "codebase" or "repository" to store whatever code is needed to build the automation.
Since the buyer email is making it into EasyPost with integrations already in place, I feel that I could create a simple program that emails the tracking number to the buyer email every time a label is generated, or perhaps when package is shipped, without the program needing to interact with Webflow or other integrations.
I attempted using Zapier, as well as Make.com. Neither worked, and OrderDesk doesn't have a way to send tracking number emails.
It looks like Webflow has some kind of support for Webhooks (https://webflow.com/feature/create-webhooks-from-project-settings). EasyPost offers webhooks for free as an add-on service. Basically, with webhooks, EasyPost would send tracking events to Webflow proactively, but Webflow (or you) would need to manage the logic for what to do with those tracking events after they are delivered.
EasyPost Webhook Guide
I'm unaware of any off the shelf products that could do this for you without writing any code. We have a guide that details how you might accomplish this with Ruby (you could then follow this as an example for any other language): https://www.easypost.com/email-tracking-tutorial
A few suggestions:
Integrate something into Webflow if possible (I'm unfamiliar with the platform so couldn't say).
Build a simple script that runs on a schedule (cronjob) that retrieves your trackers from EasyPost and sends an email to customers if they have not yet received one. To your point, this approach wouldn't require interacting with Webflow at all and could be done with some local code running on a server and just your EasyPost API key.
I've created a simple UI for EasyPost: https://github.com/Justintime50/easypost-tools-ui, it could be interesting to add this particular use-case as a feature to that project. If you're interested, feel free to open an issue on GitHub for the repo listed here and I'd consider it.
You'd use easypost's API webhooks, to detect when shipment tracking information is provided, or package information is updated.
https://www.easypost.com/docs/api#trackers
It looks like it has a lot of states, so you can keep the client updated regarding the package status from the moment the tracking # is assigned;
EZ1000000001 pre_transit
EZ2000000002 in_transit
EZ3000000003 out_for_delivery
EZ4000000004 delivered
EZ5000000005 return_to_sender
EZ6000000006 failure
EZ7000000007 unknown
You can install webhooks from these docs.
To send the email, you can use an automation service e.g. Make to capture those webhook events, and then compose and send an email to that customer. I like MailJet for that purpose, because it has excellent template support and you can send from your own company domain. But there are many email-sending options.
A bigger challenge, maybe, is getting the email address to send to. I didn't spot it glancing through the Trackers or Shipments data structures, and I am primarily seeing physical address info.
If EasyPost is not tracking the customer's email with the shipment, you may have some challenge in that you'd need to capture the client info through Webflow's order webhooks, and then associate that with EasyPost's shipmentid, and store those in a reference table.
Many automation services offer database-like functionality for this purpose, or you could use e.g. google sheets ( columns webflow OrderID, easypost ShipmentID, customer Email ) or airtable for that purpose.
But you'd have to look into the Easypost integration as well, and you may need to make that integration manual so that you can acquire all 3 of those pieces of information at the same point in your business data flow.

Whatsapp Cloud API

Can Whatsapp Cloud API be used for business as a reseller?
like what is the difference between the new Whatsapp Cloud API and the API we get from Resellers?
Also, is there an API to automate the signup process?
Those Resellers you mention are often Business Solution Providers (BSPs), or BSP partners.
So that implies, in order to be WhatsApp Cloud API reseller, you will need to be either a BSP or BSP partner.
The Cloud API architecture significantly simplifies the BSP’s operational and infrastructure requirements to integrate with WhatsApp Business Platform.
See "What is the architecture of the Cloud API?", in Cloud API FAQs
As a BSP or its partner, a reselling program is available to you both for On-premises/Managed WhatsApp Business API and Cloud API. However, you need to take into account Cloud API is relatively new and all BSPs are currently adapting/expanding their current solutions to new service offered by Meta.
In other words, Cloud API is not yet available everywhere and current services offered by BSPs are more versatile and feature rich than Cloud API until this will eventually change.
The largest WhatsApp BSP is 360dialog, offering WhatsApp Business API integration Platform as a Service, and on-premises plans.
Since you asked about differences between Cloud API and BSPs, let me give a short comparison between Cloud API and 360dialog key differences, as an example:
Differences
360dialog
Meta Cloud API
Message Throughput (Per Second)
Flexible scalability setups for small to large businesses. Send up to 70 text messages per second for single-connect. Send up to 250 text messages per second for multi-connect.
Up to 80 messages per second of combined sending and receiving (inclusive of text and media messages). In the event of high system loads, a business may experience reduced message throughput. Starting in July 2022, support up to 250 messages per second of combined sending and receiving (inclusive of text and media messages), by request
SLA - Uptime
Standard and Premium support with different SLAs: >99%, >98%
Goals of 99.9% at GraphAPI.
SLA - Disaster Recovery
Average response time of 4h. Escalation Path to Meta team after 360dialog investigation.
No SLA
Sources:
Full comparison table of differences between On-premises and Cloud API solutions.
360dialog Pricing
So, as you might've noticed, with BSP will work more closely with you as a solution provider and will offer you more flexibility depending on the business scale.
WhatsApp Business API requires some developer effort, but there are also different WhatsApp API based solutions that make this whole process a lot easier.
One of them is get.chat WhatsApp Business Team Inbox & WhatsApp Integration API which will help you to integrate with WhatsApp much faster. Plus, it will enable access to non-technical people in your team/company, too!
I am a co-founder and CTO so I am open to answer any questions if you want to know more about our solution. Here is also a link to the docs if you're interested in learning more by yourself.
Further reading:
An easy guide about WhatsApp Business API by get.chat
Cloud API FAQs - offered by Meta directly
On-premises WhatsApp Business API FAQs - hosted by BSPs and resellers
now there are two types of Whatsapp Business API. The ones from the diferent Busniness Solution Providers (BSP) and the one from Meta (Whatsapp CloudAPI).
I think that untill now, each BSP has develped it´s own APIS starting off the one provided by Meta. So each BSP offeres his own APIs (endpoints, libraries..).
Meta has now published the API offered to the BSP and now every business has direct access to it. No more BSP are needed, unless you want and easy to use solution.
The main difference I see between BSP and Meta API is that BSP are easier to use. MetaAPI is a huge complex system.
Now you don't need to look at BSP, all you can do is set up, create a business account and developer effort to make things work according to your business desire, and create message templates.
please have a below link for further eloboration.
https://www.facebook.com/business/help/338665938087159

How could i buy a package of sms verification codes to verify my mobile application.?

I am facing a problems to send the sms verification codes to my mobile application users,
Since some of telecom operators are blocking these kind of sms and not allowing the users to receive such sms,
So i am looking for verification code messeges provider to serve me in all over the countries (not blocked by local mobile networks operators)
The cost should be affordable not expensive, to use for mobile app verfication. Can you advise me how to do.?
I am still a little unsure whether this will solve your issue, but here is a suggestion. Search for two factor authentication providers on Google. There are several to choose from. Some of them offer trial plans so that you can test them. You have not stated clearly whether it is internationally you want to use this, or in certain countries. I would presume that the issue can be that a very inexpensive sms provider will not send international sms messages, due to the cost involved. I am not familiar with any blocking of such messages, so an example of your situation (e.g. Carrier or country, and the service you have already tried using) could make it easier to help.
The more information you provide in a question on so, the easier it is to get good help.

Address validation using Google Maps API

I have a task to validate addresses entered into a system I am currently creating. The system requires that address entered are validated against a valid data source. In the UK the dataset comes from the Royal Mail and is expensive to access.
The data needed is post code info for the whole of europe to start with accessed by an API into the web application.
There are a number of companies that offer this service,
QAS
Capscan
Postcode anywhere
These all offer the service I require. However this is expensive and in some cases not a complete data set. e.g. not Ireland
I was also wondering if there would be a way to utilize the Google Maps API to validate this data via postal code and country.
Would the google maps method be possible or do I have to go down the line of one of these expensive companies? Any thoughts on what line I should take.
The answer probably depends how critical it is for you to receive support and possible customization for this service.
Google can certainly do this. Look into their XML and Geocoding API's. You should be able to craft an XML message asking Google to return Map coordinates for a given address. If the address is not found (invalid), you will receive an appropriate response. Here's a useful page: http://code.google.com/apis/maps/documentation/services.html#XML_Requests
Note that Google's aim in providing the Maps API is to plot addresses on actual maps. While you can certainly use the data for other purposes, you are at the mercy of Google should one of their maps not exactly correspond to your legal or commercial address validation needs. If you paid for one of the services you mentioned, you would likely be able to receive support should certain addresses not resolve the way you expect them to.
In other words, you get what you pay for ;) . If you have the time, though, why not try implementing a Google-based solution then going from there? The API looks pretty slick, and it's free, after all.
Google's geocoding api does what want you want. As Xerus points out, as long as you are not using the geocoded points on a non-google Map, you should be good (terms of service). Specifically,
3.1 Use without a Google Map. Customer may use Google Maps Content from the Geocoding API in Customer Applications without a corresponding Google Map.
3.3 No use with a non-Google map. Customer must not use Google Maps Content from the Geocoding API in conjunction with a non-Google map.
I am both a web developer and a former employee of one of the companies you mentioned. I completely understand where you're coming from. Verifying addresses seems like a simple problem to tackle, but it's very much an iceberg. I suppose one workaround to the legal constraints of the Google or Yahoo! Maps APIs is to request your users verify their addresses on a map. If I were in your shoes, though, I wouldn't go that route.
The reason address verification services are so expensive is that they require licenses and ongoing relationships with grumpy, bureaucratic postal authorities (including the Royal Mail). Unfortunately, postal authorities are the best (and often the only) sources of data against which to verify addresses, so there really isn't any other way to go about it. The bottom line is you need to weigh the cost of bad addresses (usually a question of mail volume) against the cost of the software to verify them. Irish postal data is even more rubbish than Irish postal formats (which frequently omit building numbers), so there's little you can do about those addresses.
The answer depends upon the degree of confidence you place in the data and how your data is being used. For example, if you're using it for mailing or shipping, you'll want to be be confident that the data is correct. If you're just using it as another fraud-prevention mechanism then you could potentially allow a degree of error to creep into the data.
If you want any degree of real accuracy, you're need to go with a service that does real address verification and you're going to have to pay for it. As has been mentioned by Adam, address verification and validation at first seems simple and easy, but it's a black hole fraught with challenges and, unless you've some underlying data to work with, virtually impossible to do by yourself. Trust me, you're actually saving money by using a service. You're welcome to go down this road yourself to experience what I mean, but I can guarantee you'll see the light, so to speak, after even a few hours (or days) of spinning your wheels.
I should mention that I'm the founder of SmartyStreets. We do address validation and verification addresses and we offer this for the USA and international as well. I'm more than happy to personally answer any questions you have on the topic of address cleansing, standardization, and validation.
Another option is YADDRESS.
Validate it against FedEx's api. They have an API to generate labels from XML code. The process involves a step to validate the address.
Google basis (free) does not provide address verification (Geocoding) as there is no UK postcode license.
This means postcode searches are very in-accurate. The proximity search is very poor, even for town searches, often not recognising locations.
This is why Google have a premier and a enterprise solution which still is more expensive and not as good as business mapping specialists like bIng and Via Michelin who also have API's.
As a free lance developer, so serious business would use Google as the system is weak and really provides a watered down solution.
I know that this post is a bit old but incase anyone finds it still relevant you might want to check out the free geocoding services offered by USC College. This does included address validation via ajax and static calls. The only catch is that they request a link back and only offer allotments of 2500 calls. More than fair.
https://webgis.usc.edu/Services/AddressValidation/Default.aspx
You could consider using CDYNE's PAV-I API that validates international addresses. international-address-verification They cover over 240 countries, so it should cover all of the countries that you are looking to validate for.
A great blog describing 14 address finders:
https://www.conversion-uplift.co.uk/free-address-lookup-tools/
Many address autocomplete services, including Google's Places API, appears to offer international address support but it has limited accuracy.
For example, New Zealand address and geolocation data are free to download from Land Information New Zealand (LINZ). When a user search for an address such as 76 Francis St Hauraki from Google or Address Doctor, a positive match is returned. The land parcel was matched but not the postal/delivery address, which is either 76A or 76B. The problem is amplified with apartments and units on a single land parcel.
For 100% accuracy, use a country-specific address finder instead such as https://www.addy.co.nz for NZ address autocomplete.

Testing SMS code without access to a texting plan

Is there any way to test SMS messaging without having a texting plan?
There isn't any way to setup the equivalent of a mock email server for the purposes of testing an SMS service is there? Are there any other ways to accomplish the task? Perhaps setting up something like a GrandCentral account that can receive text messages?
I am looking to test SMS messages to multiple accounts without having to find multiple people with texting plans and coordinating the effort.
Google now has the answer for which I seek. With the roll-out of their new Google Voice (previously GrandCentral) they added the ability to received text messages to the phone number (which currently is free). While technically somewhat of a text plan, one could theoretically sign up for a few accounts and be able to test multiple phone numbers.
http://www.google.com/voice/
Update (Nov 2010):
Perhaps an even better way to do this now is to use either Tropo (tropo.com) or Twilio (twilio.com). Both of them offer low cost SMS messaging and Tropo is free for development. I've been using Tropo and it's very quick and easy to setup and write and code for.
It would depend on the method of how you're sending out the SMS messages. If you're using the email method (<ten digit number>#<cell provider's doman>) you can fake it with a regular email account that can be purged automatically. If you're using an actual SMS publisher your best bet would be to refactor the design so that you can test that your function gets called the expected number of times, but doesn't actually send the messages. Then when you want to test the production-ready code you actually round up a group of people and try it out.
Having a provider that doesn't charge for incoming text messaging (like US Cellular) comes in handy for situations like that.
SMS text can be done under a few different protocols. I've had success with SMPP using the Easy SMPP .NET library and this java-based SMPP server simulator. It saved me a bunch of overpriced service charges.
you can send email to their phone:
18005551212#txt.att.net (IIRC)