Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Service_OrangeApi Component Proposal

Proposed Component Name Zend_Service_OrangeApi
Developer Notes
Proposers Laurent ARTUSIO
Zend Liaison TBD
Revision 0.1 - 23 June 2010 : Draft. (wiki revision: 82)

Table of Contents

1. Overview

Orange API provides to web developers and integrators, a set of web services and solutions allowing to easily integrate telecom services into web sites and applications.
With the Zend_Service_OrangeApi components, the Zend Framework developer can access the following services :

  • send and receive text messages (Send SMS), and multimedia messages (send MMS).
  • get the location of Orange mobile phones, for any device
  • call-control service
  • conference management
  • interactive vocal services

In order to make such APIs easy to use for Zend developers, Orange supplies a core Zend component.

All API requests are authenticated with a unique API key. In order to get an API key, you need to register on the Orange API website
Orange API are either free, or charged to your account, or revenue-making.

All API response are sent in xml with a common structure. Those xml responses contain a "status_code" and a "status_msg" to report how the call occcured. Those response also contain a specific
"Call_id" which can be used for getting specific history calls.
If something failed, two kind of errors can be displayed:

  • A functionalException
  • A technicalException

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component wraps Orange APis in a raw manner (i.e parameters names, methods names, returned values), and does not restrict in any way the original features of Orange Apis.
  • This component does not include parameters validity check, it will be done on the API server side.
  • This component tranforms server-side errors in thrown exceptions, with full error codes and error messages.
  • This component allow subclassing, for any useful purpose.

4. Dependencies on Other Framework Components

  • Zend_Http_Client_Adapter_Proxy
  • Zend_Rest_Client
  • Zend_Service_Exception

5. Theory of Operation

Every Orange API is accessed through a single class which inherits the common Zend_Service_OrangeApi_Client class.
Each API class is named after the original Orange API name.
Each API class instanciation is done by passing the mandatory Orange access key ("id" parameter) to the constructor.

6. Milestones / Tasks

  • Milestone 1: [DONE] Set a common architecture for all APIs
  • Milestone 2: [DONE] Working prototype checked into the incubator supporting use cases.
  • Milestone 4: [DONE] Initial documentation exists.

7. Class Index

  • Zend_Service_OrangeApi_ClientAbstract
  • Zend_Service_OrangeApi_Exception
  • Zend_Service_OrangeApi_Sms
  • Zend_Service_OrangeApi_Mms
  • Zend_Service_OrangeApi_Location
  • Zend_Service_OrangeApi_ClickToCall
  • Zend_Service_OrangeApi_ClickToConf
  • Zend_Service_OrangeApi_InteractiveVoice
  • Zend_Service_OrangeApi_WebPhone
  • Zend_Service_OrangeApi_History

8. Use Cases

Here's uses cases of each orange API. You can find a description of response codes in responseCodes.php in the common folder.

Define your proxy settings

Should you need to go through a proxy, you can use the setProxy method available for all API classes.

Send an SMS
sendSms sample
Send an MMS
sendMMS sample
Request a mobile owner to opt-in for geolocation
Location authorization sample
Get a mobile device geolocation
Get Location sample
Make a phone call
Click-to-call sample
Create a conference call
Click-to-conf createConference sample
Add a caller to an existing conference call
Click-to-conf addCaller sample
Create an outgoing call from a conference to a callee
Click-to-conf createCall sample
Make interactive voice conferences – createConference
InteractiveVoice createConference sample
Make interactive voice outgoing calls – Connect
InteractiveVoice Connect sample
Make interactive voice mute a participant
InteractiveVoice Mute sample
Make interactive voice release calls
InteractiveVoice ReleaseCall sample
Make WebPhone calls
WebPhone sample
Get your API requests history
getHistory sample

9. Class Skeletons












Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.