As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Does anyone know of any SMS APIs that I can use in my web application to send SMS messages to users?
Most mobile providers support SNPP (Simple Network Paging Protocol). Despite the name, SNPP is also used to send text messages to cell phones. It's really easy to use. Just determine which mobile provider each user is using and then dispatch a "page" to the corresponding SNPP server.
For example, Sprint's SNPP server is snpp.messaging.sprint.com:444. The basic process goes like this:
Open a connection to the SNPP server.
Send PAGE The phone number
Check for status code 250 in the reply.
Send MESS Your message
Check for status code 250 in the reply.
Send SEND
Again, check for status code 250
Send QUIT
Some servers also support subject lines and delayed messages, along with two-way messaging.
I think you may have a problem here...
SMS's always end up costing someone, something... You may get lucky and find a provider that has a beta or test account that allows you to send out a handful, but they may not last that long.
I used to use a place that put a 20 character advert on the end of every message, but even they stopped.
Just did a quick google for you and could not come up with any... If you are more specific such as country, you may get better answers...
edit - Just seen someone else answering with a site that looks good! - My comment is based on the UK! I am still not aware of any free provider here.
They're not free, but without a doubt the best supplier I've worked with is Clickatell
http://www.clickatell.com/
They're in over 200 countries, 800 networks and their pricing is quite reasonable. They support REST HTTP/S, SOAP HTTP, FTP, SMTP, SMPP. They also support premium rate messages and MMS to generate revenue.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
I am trying to create a website which implements webrtc functionality.But in all the samples and reference documents , I was unable to find how to select for a specific user to chat with. Do i need to have some server kind of setup to list all available users or anything like that. Any sort of ideas will be helpful.
For eg:
In all the samples which i refered, the user was joining a particular room or a session and the other recipient also joins the same room for chat.But what i need is something similar to skype or hangout which shows the callee status before call, and want to get rid of this chat room concept.
There are three core areas of any real time communication service:
Presence - identifying who's online and who's available to speak for a call. (e.g showing a contact list and identifying who's online)
Signaling - initiating the call, exchanging IP addresses, negotiating capabilities, hanging up. In a lot of cases, Signaling and Presence can be combined into a single service.
Media connectivity and streaming - actually getting "connected" to the other endpoint and streaming audio/video. It typically requires some assistance from the signaling service to get the initial set of local, stun, and turn addresses exchanged in order to establish a connection with the other node. It also includes the codec technology, streaming code, and rendering.
Unless something has changed, WebRTC, to the best of my understanding, is just about #3 - media connectivity and streaming. It still requires the website to provide signaling (exchanging the SDP messages).
There are some companies and open source projects that indicate they provide the complete solution, but I've never used any.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
iam new on stackoverflow and this is my first question.
Sorry for my typo's or bad gramar, my english is not verry good.
Situation:
Iam doing research for a kind API.
We building an system for sending out messages and alerts to end users. Endusers can recieve the messages and alerts on mobilephones over an app (IOS, Android, Windows), over SMS or .........
For this an backend is in development by another team. This backend contains and user interface for add messages or alerts (notifications). This backend contains ALL the notifications. This backend need to push all actual notifications to an API system witch holds only the actual notifications.
This api need to send out an new alert as an push message to the app. Normal messages are not pushed to end devices.
End devices and 3th party users can be ask data (normal messages or alerts) on from the API (with an filter if they are configured) Example: Give me all the messages from the city Heerlen or all messages that contains the word "car".
When there are new messages or alerts inserted in the backend, the backend updates the api data. When the api recieves an new alert, he send out and new push notification for the new alert.
Update---------------------------------------
This all is necessary because the API and the Backend need to be operate separated from eachother. So when the backend goes offline the api will still work. Otherwise when the api goes down the backend still works.
END Update---------------------------------------
The api is allways online but don't need to handle a lot of requests. At the moment there is an alert, the api needs to send out 2.000.000 notifications so scalablity is an must! After an alert a lot of requests need to be handled.
Now my questions:
- Is there an existing software solution(s) that can be configured or used for my problem?
- Can we better build an own solution for this problem, maybe based on an framework?
- Are there frameworks that can be used for create an api with this functionality?
THANKS A LOT for understand my bad english, problem and trying to help me ;-)
EDIT---------------------------------------
Maybe this image make my situation a bit better understandable
Wished situation image
I think i found some solutions by my self but iam not sure if they can provide my requirements and iam not sure i can use it for my problem.
Amazon API Gateway
tyk.io
WSO2
END EDIT---------------------------------------
I couldn't find an solution so i talked with my teacher at school and he told me that it doesn't matter how i solve this. The only thing i need to do is unlink the api from the back end so the back end stays online when the API is timed-out or goes offline. Otherwise the API needs to stay online when the back end is in maintenance. I have updated my question with this information!
I did a lot of research and i couldn't find an software solution that solves my problem. BUT i have found an other solution that solves my problem.
I create an second backend with an own database. The main backend manages the data in the second backend, the "API_backend". This mini backend only provides data for the API. The API gateway (yes i found that this is the name of the API thing) gets his data from this "API_backend" and provides it on all the end devices.
I have make an diagram of it. visit it
The Alert push problem i solved by sending an push message to the app over google cloud message. In case of an alert the app regonizes that it is an alert in stead of an normal message and then it wil ask the new alert information to the API.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm starting my 3rd year in a Computer Science degree , and I need to pick a project and develop within the following year.
I'm searching for unique ideas for a project , I have some ideas , however I still have my doubts about them , whether or not they are good enough to develop and etc .
For example :
Client / Server application for supermarkets (food) with DB queries
Iphone application
Cellular dating system
...
I'm sure that all of you (SO members) at some point of your careers came across (and still are) an interesting project (or projects) , so any idea would be greatly appreciated.
4/ World grave database. Grave position (google maps) of every human (first and last name + birth and death date).
If this becomes some hit, I want % ;-)
A mobile app that lets people friend each other, supports location services, allows you to display a map showing you where all of your friends are and click to send an SMS telling them to stay put because you're on your way.
It really depends on what your interests are, but if it were me I would focus on a project that lets me explore the possibilities of solving a problem via the integration of a broad range of technologies and architectures: a web or iPhone app with a social element that makes use of cloud resources and scaling technologies like Hadoop or Cassandra.
I write networking code as my job. Here are some out-of-hours prototyping projects I've done recently, that might make it into our product in the next year. You want to pick something that's doable and has no external factors, so you can guarantee to get it working solidly.
A WOL service. A central server maintains connections to client nodes, which check in through a service that runs when the machines are awake. They send their MAC on checkin. The channel must be secure, and only registered accounts can authenticate with the central server. Each machine runs a low-frequency broadcast service (UPnP-style) that advertises its presence to other machines on the service's network. When a node thinks it's picked up a signal from another node, it exchanges a challenge with it, and sends the result to the central server. Thus, the central server can validate that the machines are indeed 'adjacent' (able to contact each other directly), and that neither machine is lying about the location of the other.The point of this: if you have the login details for a node, the hosted service will relay a WOL instruction to any other node on the network which was known to be adjacent to the target node when it was last up. You can therefore wake your machine remotely when you don't access to its subnet, assuming at least one other machine on the subnet is turned on and checked into the service.That's an ambitious project, but possible for a motivated student with a good grasp of networking.
Secondly, how about a VPN service? Do STUN on a central server to help two non-adjacent computers connect to each other and establish an SSH-style protocol with flow-controlled channels to perform port-forwarding (keep it simple: a SOCKS proxy on the client end is preferable to trying to do a full point-to-point network bridge with 'true' VPN capabilities).
I've got each of these to a working prototype in just under a day of coding each (using a few pre-written components from earlier), so for a student who's still learning C and network programming, they might be suitable year projects. I don't what level your university would push you to though.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I have to send text message reminder to cell phone of a customer. That should be handled from web application (or automated with windows service). Text message should be sent to Canadian cell phone and provider of that phone is not exactly known beforehand (can be Bell, Telus or anything else).
Is there any reliable API provider for such task? I need a web service that would be integrated with .NET application for doing it and it should be either free or inexpensive. I did Google search on the topic and it seems there some providers out there but it would be really great to hear from somebody who can have real experience with such API provider. My goal is to send about 10000 remainders per month.
I would appreciate if you could advise.
Thanks!
I have had good luck with TextMarks. You pick a keyword that your users send in an SMS message to the TextMarks shortcode number. This confirms that the mobile user has opted in to receive SMS messages from you. You can then send them SMS messages and even create programs that respond to a users input. For example, have the user send a zip code and get a response of stores nearby. They are relatively inexpensive and offer various tiers of pricing, including a free trial option.
I also came across ClickATell which is able to provide you with a unique shortcode. However, last time I checked getting a unique shortcode was in the range of $500 per month plus costs you would incur to send messages. Here's their pricing calculator:
http://www.clickatell.com/pricing/pricing_wizard.php
TextMarks doesn't work in Canada, but we do have a .NET API wrapper that we just released. If you were looking for this for the US, we could help you.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We have a pretty large website, which handles a couple million visitors a month, and we're currently developing an API for some of our partners. In the near future, we hope to expose the API to all of our visitors.
As we are trying to limit the number of requests to say, 100.000 / day and 1.000 / minute, I need to log the total number of requests per API key, and verify that the API user doesn't exceed this total. We won't check real-time whether the limit is exceeded at this point, but afterwords in the site's control panel. We also need to display a timeline per user in the control panel, so we have to get a quick per day or per hour overview if we need this.
My first idea was to build the following app:
API User => Webserver => Posts message with API key to a message queue => Service picks up the message => Posts to the database, where there is 1 item for each user-hour combo (key|hour|count). Which is gonna be quite fast, yet we'll remove quite some useful information (queries, requests / minute, etc.) Saving each and every request as separate record in the database will likely generate millions of records a day, and will (I guess, I'm not that much of a DBA) be quite slow when generating some chart. Even with the correct indices.
Our platform consists of around ten webservers, ten front end SQL servers, statsserver, some other servers for processing large tasks. All Windows (except our EMC), and MS SQL. Dev platform is ASP.Net WCF.
My advice would be to log everything - a simple append-only text file is simplest - and have a background task periodically read and summarize log segments into the database. This has several advantages over more 'sophisticated' approaches:
It's simpler.
It's really easy to debug.
You can keep individual log segments around until you need to delete them from disk, so you can get information on individual requests for debugging and accounting purposes.
You can easily extend it to collect more information, or improve and change your summarizer, because the components are loosely coupled.
It's easy to shard - just have each server keep its own logs.
I'd start with logging at first, and leave off enforcement. Your logging may show you that you don't need enforcement, or it may show you you need a different kind of enforcement.
I'd just start off creating a simple logging API: ApiLogger.Log(apiKey). I'd have the logger take authentication information etc. from HttpContext. I'd start at first just dumping it into a database table, and only get fancier if performance required it.
Later analysis could determine who is making how many calls, whether you want multiple tiers, charging different amounts per tier, etc. But for the moment, just store the data that your Business people will need.
As we are trying to limit the number of requests to say, 100.000 / day and 1.000 / minute, I need to log the total number of requests per api key, and verify that the api user doesn't exceed this total.
A feature like this will be part of WCF (if not already) in the very near future. I am currently racking my brain on where I heard it so I can point you in the right direct.
EDIT: FOUND IT!
This week on a podcast called "The Thirsty Developer", this very topic came up. Download the podcast here, and at 39:40 into the podcast the topic comes up. For those that do not want to listen there is a REST toolkit that has this feature in it. I think the toolkit can be found here