BTC: BC1Q9N0V6L3CH2PJFHLD4RJ9Y2EPH3M9WL9XPMZNLX
ตอนนี้เป็นไปได้ที่จะเลือกระหว่างสบู่ผ่าน HTTPS หรือสตรีม TCP (ค่าเริ่มต้น) สำหรับการโต้ตอบกับ Broadworks API เกณฑ์มาตรฐานพื้นฐานแนะนำ 15/คำขอ/วินาทีด้วยสบู่และ 150/คำขอ/วินาทีสำหรับสตรีม TCP UserGetRequest17SP4 ใช้สำหรับเกณฑ์มาตรฐาน
เซสชั่นสามารถส่งออกและเข้าไปในไคลเอนต์สิ่งนี้ถูกเพิ่มเข้ามาเพื่ออนุญาตให้ใช้สคริปต์ Broadworks OCI-P ที่ถูกเรียกโดยวิธีการเช่น Cronjobs เพื่อดำเนินการโดยใช้ข้อมูลเซสชันภายนอก เซสชันการพอร์ตเป็นวิธีที่ปลอดภัยในการดำเนินการคำสั่งในฐานะผู้ใช้ที่ร้องขอเป็นรหัสผ่านไม่ได้ถูกเก็บไว้จะใช้คุกกี้/เซสชัน SessionID สำหรับการตรวจสอบความถูกต้อง
องค์ประกอบทั้งหมดของเฟรมเวิร์กถูกสร้างขึ้นโดยคำนึงถึงการปรับตัวอัตโนมัติของ IDE ดังนั้นจึงไม่จำเป็นต้องจดจำรายละเอียดของประเภทข้อมูลด้านล่างเป็นตัวอย่างของการปิดการใช้งาน CallForwardingalways สำหรับผู้ใช้ทั้งหมดภายในกลุ่ม
CLI ที่มีปฏิสัมพันธ์ถูกสร้างขึ้นในที่ต้องใช้ความรู้การเขียนโปรแกรมเป็นศูนย์ ผู้ใช้นำทางผ่านสคีมาในลักษณะเดียวกับที่คุณต้องการไดเรกทอรีและไฟล์ในระบบไฟล์ Linux คำสั่งสามารถดำเนินการใน CLI พร้อมผลลัพธ์ที่พิมพ์ไปยังหน้าจอ TAB AUTOCOMPLETION WORKS - (เสียในรุ่นล่าสุด)
วัตถุรองรับการทำให้เป็นอนุกรมเพื่ออนุญาตให้บันทึกข้อความในรูปแบบข้อความธรรมดาที่สามารถกลับมาเป็นประเภทข้อมูลได้ที่เฟรมเวิร์กสามารถเข้าใจได้
$ composer require lukebeer/broadworks-ocip
$ composer require lukebeer/broadworks-ocip:development
<?php
require_once ' vendor/autoload.php ' ;
// Use the ComplexType required for this example.
use Broadworks_OCIP api Rel_17_sp4_1_197_OCISchemaAS OCISchemaUser UserServiceGetAssignmentListRequest ;
// Create a Client and login. CoreFactory also has getSOAPClient()
$ client = BroadworksOCIP Factory:: getTCPClient ( ' ocip.example.com ' );
$ client -> login ( ' user ' , ' pass ' );
// Generate a request, send and assign the response to $response
$ request = new UserServiceGetAssignmentListRequest ( ' [email protected] ' );
$ response = $ request -> get ( $ client );
// This response type returns a TableType object, getValue() renders a table.
echo $ response -> getServicePacksAssignmentTable ()-> getValue ();
?>
/* Spits out:
+--------------------------------------------------+----------+
| Service Name | Assigned |
+--------------------------------------------------+----------+
| Anonymous Call Rejection | true |
| Authentication | true |
| Call Forwarding Always | true |
| Call Forwarding Busy | true |
| Call Forwarding No Answer | true |
| Call Notify | false |
| Calling Line ID Delivery Blocking | true |
| CommPilot Express | true |
| CommPilot Call Manager | true |
| Do Not Disturb | true |
| Intercept User | true |
| Last Number Redial | true |
| Sequential Ring | true |
+--------------------------------------------------+----------+
*/ComplexTypes เช่น UserGetRequest17SP4 เป็นประเภทที่อาจมีส่วนผสมของประเภทองค์ประกอบรวมถึง ComplexTypes คิดว่าพวกเขาเป็น XML กับเด็กซ้อน
หากหนึ่งในองค์ประกอบที่จะตั้งค่าคือ ComplexType ComplexType ต้องการการสร้างก่อนที่จะถูกตั้งค่าในวัตถุหลัก ตัวอย่างเช่น StreetAddress เป็นคอมเพล็กซ์:
<?php
$ address = new StreetAddress ();
$ address -> setAddressLine1 ( ' 1337 Street ' );
$ address -> setCountry ( ' England ' );
$ request = new UserAddRequest17sp4 ();
$ request -> setStreetAddress ( $ address ); Broadworks_OCIPapiRel_17_sp4_1_197_OCISchemaASOCISchemaDataTypesStreetAddress Object
(
[elementName] => StreetAddress
[addressLine1:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 80
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] => 1337 Street
[elementName:protected] => addressLine1
)
[addressLine2:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 80
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] =>
[elementName:protected] => addressLine2
)
[city:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 50
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] =>
[elementName:protected] => city
)
[stateOrProvince:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 50
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] =>
[elementName:protected] => stateOrProvince
)
[stateOrProvinceDisplayName:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 50
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] =>
[elementName:protected] => stateOrProvinceDisplayName
)
[zipOrPostalCode:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 50
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] =>
[elementName:protected] => zipOrPostalCode
)
[country:protected] => Broadworks_OCIPcoreBuilderTypesSimpleContent Object
(
[annontation:protected] =>
[attributes:protected] =>
[restrictions:protected] => Array
(
[0] => Broadworks_OCIPcoreBuilderRestrictionsMinLength Object
(
[value:protected] => 1
[detail:protected] =>
)
[1] => Broadworks_OCIPcoreBuilderRestrictionsMaxLength Object
(
[value:protected] => 50
[detail:protected] =>
)
)
[errors:protected] =>
[elementValue:protected] => Enngland
[elementName:protected] => country
)
[elements:protected] => Array
(
)
[responseType:protected] =>
[errors:protected] =>
[params:protected] => Array
(
)
[args:protected] =>
[elementValue:protected] =>
)
TABLETYPES ใช้สำหรับการจัดการข้อมูลที่เป็นไปได้ อาร์เรย์มิติเดียวจะถูกส่งผ่านสำหรับส่วนหัวคอลัมน์และข้อมูลถูกตั้งค่าโดยใช้ addrow หรือ addrows ด้วยอาร์เรย์มิติเดี่ยวหรือหลายอาร์เรย์
เป็นไปได้ที่จะทำให้ตาราง ASCII สวยด้วย echo $table->getValue() ด้วยข้อมูลและค้นหาด้วย $table->findRow('something')
หากจำเป็นต้องมีคอลัมน์เดียวเมธอด $table->getColumn($id) จะส่งคืนคอลัมน์เฉพาะของข้อมูลจากทุกแถวในชุดข้อมูล ค่าหนึ่งสามารถใช้สำหรับคีย์และอีกค่าสำหรับค่า
<?php
$ data = $ table -> getColummn ( 0 , 3 );
$ newTable = new TableType ([ ' User Id ' , ' Phone Number ' );
$ newTable -> addRows ( $ data );
echo $ newTable -> getValue ();ผลตอบแทน:
+------------------------+---------------+
| User Id | Phone Number |
+------------------------+---------------+
| [email protected] | 01234123456 |
| [email protected] | 01234123456 |
| [email protected] | 01234123456 |
| [email protected] | 01234123456 |
| [email protected] | 01234123456 |
| [email protected] | 01234123456 |
+------------------------+---------------+
โปรดใช้ตัวติดตามปัญหาเพื่อรายงานข้อบกพร่องหรือคำขอไฟล์ใด ๆ
ยินดีต้อนรับ PRS เพื่อเริ่มพัฒนาทำสิ่งนี้:
$ curl -X POST -u " GITHUB_USERNAME:GITHUB_PASSWORD " https://api.github.com/repos/lukebeer/broadworks-ocip/forks && history -c
$ git clone github:GITHUB_USERNAME/broadworks-ocip &&
$ cd broadworks-ocip Builder
Builder.php # Takes a ComplexType and converts to XML or XML string then wraps it in an envelope ready for shipping.
Restrictions
Enumeration.php # Defines a list of acceptable values.
Length.php # Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero.
MaxExclusive.php # Specifies the upper bounds for numeric values (the value must be less than this value).
MaxInclusive.php # Specifies the upper bounds for numeric values (the value must be less than or equal to this value).
MaxLength.php # Specifies the maximum number of characters or list items allowed. Must be equal to or greater than zero.
MinExclusive.php # Specifies the lower bounds for numeric values (the value must be greater than this value).
MinInclusive.php # Specifies the lower bounds for numeric values (the value must be greater than or equal to this value).
MinLength.php # Specifies the minimum number of characters or list items allowed. Must be equal to or greater than zero.
Pattern.php # Defines the exact sequence of characters that are acceptable.
Restriction.php # Abstract base class all restrictions must extend.
RestrictionInterface.php # Interface all Restrictins must implement.
Types
ComplexInterface.php # Interface all ComplexTypes must implement.
ComplexType.php # Defines a complex type element.
PrimitiveType.php # Primitive type such as bool/int/string.
SimpleContent.php # Contains extensions or restrictions on a text-only complex type or on a simple type as content and contains no elements.
SimpleInterface.php # Interface all SimpleTypes must implement.
SimpleType.php # Defines a simple type and specifies the constraints and information about the values of attributes or text-only elements.
TableType.php # Used for OCITable responses only, never in requests.
TypeCheck.php # Not implemented yet.
TypeMap.php # Converts xs types to PHP types.
TypeTrait.php # Common trait all types have.
Client
Client.php # Main controller for the whole framework exposing methods for requests and responses.
Transport
SOAPTransport.php # Communicates with Broadworks via http(s), this is the slowest but most robust transport type.
TCPTransport.php # Communicates with Broadworks via a TCPStream on port 2208, this is the fastest transport type.
TransportInterface.php # Interface all Transport types must implement.
Console
Console.php # Generates an array of commands for the interactive console.
Logging
ErrorControl.php # Crappy logging object, needs nuking and starting again.
Output
ConsoleOutput.php # Output type for the interactive console.
JSONOutput.php # Generates and echos JSON.
OutputInterface.php # Output interface all Outputs must implement.
Response
Response.php # Takes XML input and returns response object specified or false if error.
ResponseOutput.php # Convenience class for selecting response output format.
Serializer
SerializerInterface.php # Interface all Serializers must implement.
XMLSerializer.php # Converts XML into the requested object type automatically, very much the brain of this.
Session
Session.php # Portable Session object used to store details of the current authenticated session.