<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
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. 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 http://api.orange.com. Orange API are either free, or charged to your account, or revenue-making.Zend Framework: Zend_Service_OrangeApi Component Proposal
Proposed Component Name
Zend_Service_OrangeApi
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_OrangeApi
Proposers
Laurent ARTUSIO
Julien FILLIARD
Zend Liaison
TBD
Revision
0.1 - 23 June 2010 : Draft. (wiki revision: 53)
Table of Contents
1. Overview
With the Zend_Service_OrangeApi components, the Zend Framework developer can access the following services :
2. References
- the Orange API website http://api.orange.com
3. Component Requirements, Constraints, and Acceptance Criteria
- This component wraps Orange APis in a raw manner (i.e parameters names, methods names, returned values)
- This component does not restrict 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_VoiceMashup
- Zend_Service_OrangeApi_History
8. Use Cases
| UC-01 |
|---|
Define your proxy settings
Should you need to go through a proxy, you can use the setProxy method available for all API classes.
| UC-02 |
|---|
Send an SMS
| UC-03 |
|---|
Ask a mobile user to accept geolocation using Zend Orange API
| UC-04 |
|---|
Get a mobile device coordinates using Zend Orange API
| UC-05 |
|---|
Make a phone call using Zend Orange API
| UC-06 |
|---|
Create a phone conference using Zend Orange API
| UC-07 |
|---|
Add a caller to a phone conference using Zend Orange API
| UC-08 |
|---|
Call a conference using Zend Orange API
| UC-09 |
|---|
Get your history using Zend Orange API
| UC-10 |
|---|
Send a MMS using Zend Orange API
| UC-11 |
|---|
Make generated voice call using Zend Orange API
9. Class Skeletons
#1.Zend_Service_OrangeApi_ClientAbstract
#2.Zend_Service_OrangeApi_Exception
#3.Zend_Service_OrangeApi_Sms
#4.Zend_Service_OrangeApi_Location
#5.Zend_Service_OrangeApi_ClickToCall
#6.Zend_Service_OrangeApi_ClickToConf
#7.Zend_Service_OrangeApi_History
#8.Zend_Service_OrangeApi_MMS
#9.Zend_Service_OrangeApi_VoiceMashup