<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Orange API provide to web developers and integrators, a set of web services allowing to easily integrate telecom services into web sites and applications. The Orange APIs, available on » Orange APIs, are currently the following :
The Zend_Service_OrangeApi components provides a clean and simple interface to the » Orange APIs and additionally offers functionality to improve handling and performance. In order to make such APIs easy to use for Zend developers, Orange supplies a core Zend component.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: 18)
Table of Contents
1. Overview
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)
- This component is as exhaustive as possible, regarding APIs functionalities.
- This component does not include parameters validity control, it will be done on the server side.
- This component relay server-side returned errors by throwing exceptions, containing errors codes and errors messages.
- This component allow subclassing, for any useful purpose.
4. Dependencies on Other Framework Components
- Zend_Http_Client_Adapter_Proxy
- Zend_Rest_Client
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 official Orange API denomination. Each API class instanciation is done by passing the mandatory Orange access key ("id" parameter) to the constructor.
6. Milestones / Tasks
Describe some intermediate state of this component in terms of design notes, additional material added to this page, and / code. Note any significant dependencies here, such as, "Milestone #3 can not be completed until feature Foo has been added to ZF component XYZ." Milestones will be required for acceptance of future proposals. They are not hard, and many times you will only need to think of the first three below.
- Milestone 1: [DONE] Set a common architecture for all APIs
- Milestone 2: [DONE] Working prototype checked into the incubator supporting use cases #1, #2, ...
- Milestone 3: [DONE] Working prototype checked into the incubator supporting use cases #3 and #4.
- Milestone 4: Unit tests exist, work, and are checked into SVN.
- Milestone 5: [DONE] Initial documentation exists.
If a milestone is already done, begin the description with "[DONE]", like this:
- Milestone #: [DONE] Unit tests ...
7. Class Index
- Zend_Service_OrangeApi_ClientAbstract
- Zend_Service_OrangeApi_Exception
- Zend_Service_OrangeApi_ClickToCall
- Zend_Service_OrangeApi_ClickToConf
- Zend_Service_OrangeApi_History
- Zend_Service_OrangeApi_Mms
- Zend_Service_OrangeApi_Sms
- Zend_Service_OrangeApi_Location
- Zend_Service_OrangeApi_VoiceMashup
8. Use Cases
| UC-01 |
|---|
Send an SMS
| UC-02 |
|---|
Create a phone call
| UC-03 |
|---|
Ask a mobile user to accept geolocation
| UC-04 |
|---|
Get a mobile device coordinates
| UC-05 |
|---|
Create a phone conference right now, with a secret code access and a single access number
9. Class Skeletons
Zend_Service_OrangeApi_ClientAbstract
Zend_Service_OrangeApi_Exception
Zend_Service_OrangeApi_Sms
Zend_Service_OrangeApi_ClickToCall
Zend_Service_OrangeApi_ClickToConf
Zend_Service_OrangeApi_Location