The minimal set of parameters needed for sending/receiving a SMS are: (a) either an app ID or app’s shortcode, (b) MSISDN of user and (c) the message. One of the more troublesome aspects of dealing with SMS/MMS is that each aggregator or operator expose different APIs. Even if they do support HTTP, there are a whole lot of variation in the way HTTP is supported.
In it’s simplest form there’s HTTP Get where the messaging parameters are part of the query string eg. src=8987&tgt=+44987654321&msg=Hello. Of course, you need to take note of all the URL encode/decode issues.
HTTP based APIs also come in the form of HTTP Post. In this case, the payload could be a XML or a SOAP envelope.
Sometimes, operators expose APIs on their gateways using standard SMS protocols eg. SMPP, CIMD2. To hook up to these you will need to either implement the protocol (major pain!) or obtain one of the available libraries (usually not free).