{"id":15018581,"url":"https://github.com/bandwidth/php-bandwidth-iris","last_synced_at":"2025-04-05T10:08:24.378Z","repository":{"id":34795497,"uuid":"38779976","full_name":"Bandwidth/php-bandwidth-iris","owner":"Bandwidth","description":"PHP Library for Bandwidth's Phone Number Dashboard (AKA Dashboard, Iris)","archived":false,"fork":false,"pushed_at":"2025-02-13T12:50:10.000Z","size":1845,"stargazers_count":12,"open_issues_count":1,"forks_count":20,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-04-05T10:08:20.265Z","etag":null,"topics":["bandwidth","cpaas","portin","sdk","sip-peers","sip-trunking","tns"],"latest_commit_sha":null,"homepage":"https://bandwidth.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bandwidth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-07-08T21:06:48.000Z","updated_at":"2025-02-13T12:50:14.000Z","dependencies_parsed_at":"2024-06-19T17:10:57.775Z","dependency_job_id":"78fdf1e9-474f-4b65-b68f-9dc29920d1de","html_url":"https://github.com/Bandwidth/php-bandwidth-iris","commit_stats":{"total_commits":200,"total_committers":23,"mean_commits":8.695652173913043,"dds":0.5900000000000001,"last_synced_commit":"0e77d4272e2a15ec1ec0720175ce4bdee9f0280b"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bandwidth%2Fphp-bandwidth-iris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bandwidth%2Fphp-bandwidth-iris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bandwidth%2Fphp-bandwidth-iris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bandwidth%2Fphp-bandwidth-iris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bandwidth","download_url":"https://codeload.github.com/Bandwidth/php-bandwidth-iris/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318744,"owners_count":20919484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bandwidth","cpaas","portin","sdk","sip-peers","sip-trunking","tns"],"created_at":"2024-09-24T19:52:08.624Z","updated_at":"2025-04-05T10:08:24.348Z","avatar_url":"https://github.com/Bandwidth.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"PHP Client library for Bandwidth's Phone Number Dashboard (AKA: Dashboard, Iris)\n=========================================================\n[![Build Status](https://travis-ci.org/Bandwidth/php-bandwidth-iris.svg?branch=master)](https://travis-ci.org/Bandwidth/php-bandwidth-iris)\n\n## Supported PHP Versions\n\n| Version | Support Level            |\n|:--------|:-------------------------|\n| 8.0     | Supported |\n| 8.1     | Supported |\n| 8.2     | Supported |\n| 8.3     | Supported |\n\n## Install\n\nRun\n\n```bash\ncomposer require bandwidth/iris\n```\n\n## Usage\n\n```PHP\n$client = new \\Iris\\Client($login, $password, ['url' =\u003e 'https://dashboard.bandwidth.com/api/']);\n\n```\n\n## Run tests\n\n```bash\ncomposer install\nphp ./bin/phpunit --bootstrap ./vendor/autoload.php tests/\n```\n=======\n## Examples\nThere is an 'examples' folder in the source tree that shows how each of the API objects work with simple example code.  To run the examples:\n\n```bash\n$ cd examples\n$ composer install\n$ cp config.php.example config.php\n```\nEdit the config.php to match your IRIS credentials and run the examples individually.  e.g.\n\n```bash\nphp availableNumbers-sample.php\n```\nIf the examples take command line parameters, you will get the usage by just executing the individual script.\n\n## API Objects\n### General principles\nIn most cases you should use Account object as start point.\n\n```PHP\n$account = new \\Iris\\Account($your_account_id, $client);\n```\n\nAccount has related entities such Orders, Sites, etc.\n\nExample:\n```PHP\n$sites = $account-\u003esites();\n```\n\nTo get stored Sites you should create $sites object and execute get() method.\n\n```PHP\n$items = $sites-\u003egetList(); // Array(Site1, Site2)\n```\n\nTo reflect object structure:\n```PHP\necho json_encode($site-\u003eto_array());\n```\n\n## Available Numbers\n```PHP\n$account-\u003eavailableNumbers([ \"areaCode\" =\u003e \"818\" ]);\n```\n\n## Available NpaNxx\n```PHP\n$account-\u003eavailableNpaNxx([\"state\" =\u003e \"CA\"]);\n```\n\n## Cities\n```PHP\n$cities = new \\Iris\\Cities($client);\n$items = $cities-\u003egetList([\"state\" =\u003e \"NC\"]);\n```\n\n## Covered Rate Centers\n```PHP\n$rcs = new Iris\\CoveredRateCenters($client);\n$rateCenters = $rcs-\u003egetList([\"page\" =\u003e 1, \"size\" =\u003e 10 ]);\n```\n\n## Disconnected Numbers\n```PHP\n$account-\u003edisnumbers([\"areaCode\" =\u003e \"919\"]);\n```\n\n## Disconnect Numbers\nThe Disconnect object is used to disconnect numbers from an account.  Creates a disconnect order that can be tracked\n\n### Create Disconnect\n```PHP\n$disconnect = $account-\u003edisconnects()-\u003ecreate([\n    \"name\" =\u003e \"test disconnect order 4\",\n    \"CustomerOrderId\" =\u003e \"Disconnect1234\",\n    \"DisconnectTelephoneNumberOrderType\" =\u003e [\n        \"TelephoneNumberList\" =\u003e [\n            \"TelephoneNumber\" =\u003e [ \"9192755378\", \"9192755703\" ]\n        ]\n    ]\n]);\n```\n\n### Get Disconnect\n```PHP\n$disconnect = $account-\u003edisconnects()-\u003edisconnect(\"b902dee1-0585-4258-becd-5c7e51ccf5e1\", true); // tnDetails: true\n```\n\n### Add Note to Disconnect\n```PHP\n$disconnect-\u003enotes()-\u003ecreate([ \"UserId\" =\u003e \"byo_dev\", \"Description\" =\u003e \"Test Note\"]);\n```\n\n### Get Notes for Disconnect\n```PHP\n$items = $disconnect-\u003enotes()-\u003egetList();\n```\n\n## Dlda\n\n### Create Ddla\n```PHP\n$order_data = [\n    \"CustomerOrderId\" =\u003e \"123\",\n    \"DldaTnGroups\" =\u003e [\n        \"DldaTnGroup\" =\u003e [\n            [\n                \"TelephoneNumbers\" =\u003e [\n                    \"TelephoneNumber\" =\u003e \"4352154856\"\n                ],\n                \"AccountType\" =\u003e \"RESIDENTIAL\",\n                \"ListingType\" =\u003e \"LISTED\",\n                \"ListAddress\" =\u003e \"true\",\n                \"ListingName\" =\u003e [\n                    \"FirstName\" =\u003e \"FirstName\",\n                    \"FirstName2\" =\u003e \"FirstName2\",\n                    \"LastName\" =\u003e \"LastName\",\n                    \"Designation\" =\u003e \"Designation\",\n                    \"TitleOfLineage\" =\u003e \"TitleOfLineage\",\n                    \"TitleOfAddress\" =\u003e \"TitleOfAddress\",\n                    \"TitleOfAddress2\" =\u003e \"TitleOfAddress2\",\n                    \"TitleOfLineageName2\" =\u003e \"TitleOfLineageName2\",\n                    \"TitleOfAddressName2\" =\u003e \"TitleOfAddressName2\",\n                    \"TitleOfAddress2Name2\" =\u003e \"TitleOfAddress2Name2\",\n                    \"PlaceListingAs\" =\u003e \"PlaceListingAs\",\n                ],\n                \"Address\" =\u003e [\n                    \"HousePrefix\" =\u003e \"HousePrefix\",\n                    \"HouseNumber\" =\u003e \"915\",\n                    \"HouseSuffix\" =\u003e \"HouseSuffix\",\n                    \"PreDirectional\" =\u003e \"PreDirectional\",\n                    \"StreetName\" =\u003e \"StreetName\",\n                    \"StreetSuffix\" =\u003e \"StreetSuffix\",\n                    \"PostDirectional\" =\u003e \"PostDirectional\",\n                    \"AddressLine2\" =\u003e \"AddressLine2\",\n                    \"City\" =\u003e \"City\",\n                    \"StateCode\" =\u003e \"StateCode\",\n                    \"Zip\" =\u003e \"Zip\",\n                    \"PlusFour\" =\u003e \"PlusFour\",\n                    \"Country\" =\u003e \"Country\",\n                    \"AddressType\" =\u003e \"AddressType\"\n                ]\n            ]\n        ]\n    ]\n];\n\n$dlda = $account-\u003edldas()-\u003ecreate($order_data);\n```\n\n### Get Dlda\n```PHP\n$dlda = $account-\u003edldas()-\u003edlda(\"7802373f-4f52-4387-bdd1-c5b74833d6e2\");\n```\n\n### Get Dlda History\n```PHP\n$dlda-\u003ehistory();\n```\n\n### List Dldas\n```PHP\n$account-\u003edldas()-\u003egetList([\"telephoneNumber\" =\u003e \"9195551212\"]);\n```\n\n## In Service Numbers\n\n### List InService Numbers\n```PHP\n$account-\u003einserviceNumbers([\"areaCode\" =\u003e \"919\"]);\n```\n\n## Lidb\n\n### Create\n```PHP\n$order_data = [\n    \"LidbTnGroups\" =\u003e [\n        \"LidbTnGroup\" =\u003e [\n            [\n                \"TelephoneNumbers\" =\u003e [\n                    \"TelephoneNumber\" =\u003e \"4352154856\"\n                ],\n                \"SubscriberInformation\" =\u003e \"Steve\",\n                \"UseType\" =\u003e \"RESIDENTIAL\",\n                \"Visibility\" =\u003e \"PUBLIC\"\n            ],\n            [\n                \"TelephoneNumbers\" =\u003e [\n                    \"TelephoneNumber\" =\u003e \"4352154855\"\n                ],\n                \"SubscriberInformation\" =\u003e \"Steve\",\n                \"UseType\" =\u003e \"RESIDENTIAL\",\n                \"Visibility\" =\u003e \"PUBLIC\"\n            ]\n        ]\n    ]\n];\n\n$lidb = $account-\u003elidbs()-\u003ecreate($order_data);\n```\n### Get Lidb\n```PHP\n$lidb = $account-\u003elidbs()-\u003elidb(\"7802373f-4f52-4387-bdd1-c5b74833d6e2\");\n```\n### List Lidbs\n```PHP\n$lidbs = $account-\u003elidbs()-\u003egetList([\"lastModifiedAfter\" =\u003e \"mm-dd-yy\", \"telephoneNumber\"=\u003e \"888\"]);\n```\n\n## LNP Checker\n### Check LNP\n```PHP\n$account-\u003elnpChecker([\"4109255199\", \"9196190594\"], \"true\");\n```\n\n## Orders\n### Create Order\n```PHP\n$order = $account-\u003eorders()-\u003ecreate([\n    \"Name\" =\u003e \"Available Telephone Number order\",\n    \"SiteId\" =\u003e \"2297\",\n    \"CustomerOrderId\" =\u003e \"123456789\",\n    \"ExistingTelephoneNumberOrderType\" =\u003e [\n        \"TelephoneNumberList\" =\u003e [\n            \"TelephoneNumber\" =\u003e [ \"9193752369\", \"9193752720\", \"9193752648\"]\n        ]\n    ]\n]);\n```\n### Get Order\n```PHP\n$response = $account-\u003eorders()-\u003eorder(\"f30a31a1-1de4-4939-b094-4521bbe5c8df\", true); // tndetail=true\n$order = $response-\u003eOrder;\n```\n### List Orders\n```PHP\n$items = $account-\u003eorders()-\u003egetList();\n```\n\n### Add note to order\n```PHP\n$order-\u003enotes()-\u003ecreate([ \"UserId\" =\u003e \"byo_dev\", \"Description\" =\u003e \"Test Note\"]);\n```\n\n### Get all Tns for an order\n```PHP\n$order-\u003etns()-\u003egetList();\n```\n## Port Ins\n### Create PortIn\n```PHP\n$portin = $account-\u003eportins()-\u003ecreate(array(\n    \"BillingTelephoneNumber\" =\u003e \"6882015002\",\n    \"Subscriber\" =\u003e array(\n        \"SubscriberType\" =\u003e \"BUSINESS\",\n        \"BusinessName\" =\u003e \"Acme Corporation\",\n        \"ServiceAddress\" =\u003e array(\n            \"HouseNumber\" =\u003e \"1623\",\n            \"StreetName\" =\u003e \"Brockton Ave\",\n            \"City\" =\u003e \"Los Angeles\",\n            \"StateCode\" =\u003e \"CA\",\n            \"Zip\" =\u003e \"90025\",\n            \"Country\" =\u003e \"USA\"\n        )\n    ),\n    \"LoaAuthorizingPerson\" =\u003e \"John Doe\",\n    \"ListOfPhoneNumbers\" =\u003e array(\n        \"PhoneNumber\" =\u003e array(\"9882015025\", \"9882015026\")\n    ),\n    \"SiteId\" =\u003e \"365\",\n    \"Triggered\" =\u003e \"false\"\n));\n```\n\n## Get PortIn\n```PHP\n$portin = $account-\u003eportins()-\u003eportin(\"d28b36f7-fa96-49eb-9556-a40fca49f7c6\"));\n```\n## List PortIns\n```PHP\n$portins = $account-\u003eportins()-\u003egetList([\"pon\" =\u003e \"a pon\" ]);\n```\n### PortIn Instance methods\n```PHP\n$portin-\u003eupdate();\n$portin-\u003edelete();\n$portin-\u003eget_activation_status();\n$status = $portin-\u003eset_activation_status([\n    \"AutoActivationDate\" =\u003e \"2014-08-30T18:30:00+03:00\"\n]);\n$portin-\u003ehistory();\n$portin-\u003etotals();\n$portin-\u003enotes()-\u003egetList();\n```\n\n### PortIn File Management\n```PHP\n$portin-\u003elist_loas(true); // metadata = true\n$portin-\u003eloas_send(\"./1.txt\");\n$portin-\u003eloas_update(\"./1.txt\", \"1.txt\");\n$portin-\u003eloas_delete(\"1.txt\");\n$portin-\u003eget_metadata(\"1.txt\");\n$meta_new = array(\n    \"DocumentName\" =\u003e \"text.txt\",\n    \"DocumentType\" =\u003e \"INVOICE\"\n);\n$portin-\u003eset_metadata('test.txt', $meta_new);\n$portin-\u003edelete_metadata('test.txt');\n```\n\n#### PortIn File Management: Grab filename\n```PHP\n$response = $portin-\u003eloas_send('./hello.txt', array(\"Content-Type\" =\u003e \"text/plain\"));\n$tmp = explode(\"/\", $response);\n$id = end($tmp);\nprint_r($id);\n```\n\n## Rate Centers\n### List Ratecenters\n```PHP\n$rc = new \\Iris\\RateCenter($client);\n$cities = $rc-\u003egetList([\"state\" =\u003e \"CA\", \"available\" =\u003e \"true\"]);\n```\n\n## SIP Peers\n### Create SIP Peer\n```PHP\n$sippeer = $account-\u003esippeers()-\u003ecreate(array(\n        \"PeerName\" =\u003e \"Test5 Peer\",\n        \"IsDefaultPeer\" =\u003e false,\n        \"ShortMessagingProtocol\" =\u003e \"SMPP\",\n        \"VoiceHosts\" =\u003e array(\n            \"Host\" =\u003e array(\n                \"HostName\" =\u003e \"192.168.181.90\"\n            )\n        ),\n        \"SmsHosts\" =\u003e array(\n            \"Host\" =\u003e array(\n                \"HostName\" =\u003e \"192.168.181.90\"\n            )\n        ),\n        \"TerminationHosts\" =\u003e array(\n            \"TerminationHost\" =\u003e array(\n                \"HostName\" =\u003e \"192.168.181.90\",\n                \"Port\" =\u003e 0,\n                \"CustomerTrafficAllowed\" =\u003e \"DOMESTIC\",\n                \"DataAllowed\" =\u003e true\n            )\n        )\n));\n```\n### Get SIP Peer\n```PHP\n$sippeer = $account-\u003esippeers-\u003esippeer(\"500651\");\n```\n### List SIP Peers\n```PHP\n$sippeers = $account-\u003esippeers()-\u003egetList();\n```\n### Delete SIP Peer\n```PHP\n$sippeer-\u003edelete();\n```\n### Move TNs\n```PHP\n$sippeer-\u003emovetns([ \"FullNumber\" =\u003e [ \"9192000046\", \"9192000047\", \"9192000048\" ]]);\n```\n### Get TNs\n```PHP\n$tns = $sippeer-\u003etns()-\u003egetList();\n```\n### Get TN\n```PHP\n$tn = $sippeer-\u003etns()-\u003etn(\"8183386251\");\n```\n\n### Total TNs\n```PHP\n$count = $sippeer-\u003etotaltns();\n```\n\n### Set TN Options\n```PHP\n$sippeer-\u003etns()-\u003etn(\"8183386251\")-\u003eset_tn_options([\n    \"FullNumber\" =\u003e \"8183386251\",\n    \"CallForward\" =\u003e \"9194394706\",\n    \"RewriteUser\" =\u003e \"JohnDoe\",\n    \"NumberFormat\" =\u003e \"10digit\",\n    \"RPIDFormat\" =\u003e \"e164\"\n]);\n```\n\n## Sites\n\n### Create A Site\n```PHP\n$site = $account-\u003esites()-\u003ecreate(\n    array(\"Name\" =\u003e \"Test Site\",\n        \"Address\" =\u003e array(\n            \"City\" =\u003e \"Raleigh\",\n            \"AddressType\" =\u003e \"Service\",\n            \"HouseNumber\" =\u003e \"1\",\n            \"StreetName\" =\u003e \"Avenue\",\n            \"StateCode\" =\u003e \"NC\"\n    )));\n```\n\n### Updating a Site\n```PHP\n$site-\u003eName = \"New Name\";\n$site-\u003eupdate();\n```\n### Deleting a Site\n```PHP\n$site-\u003edelete();\n```\n### Listing All Sites\n```PHP\n$sites = $account-\u003esites()-\u003egetList();\n```\n\n### Orders of a site\n```PHP\n$site-\u003eorders()-\u003egetList([\"status\" =\u003e \"disabled\"]);\n```\n### Total TNs of a site\n```PHP\n$site-\u003etotaltns();\n```\n### Portins of a site\n```PHP\n$site-\u003eportins()-\u003egetList([\"status\" =\u003e \"disabled\" ]);\n```\n### Sippeers\n```PHP\n$site-\u003esippeers()-\u003ecreate([...])\n```\n[see SIP Peers]\n\n## Subscriptions\n### Create Subscription\n```PHP\n$subscription = $account-\u003esubscriptions()-\u003ecreate([\n    \"OrderType\" =\u003e \"portins\",\n    \"OrderId\" =\u003e \"98939562-90b0-40e9-8335-5526432d9741\",\n    \"EmailSubscription\" =\u003e [\n        \"Email\" =\u003e \"test@test.com\",\n        \"DigestRequested\" =\u003e \"DAILY\"\n    ]\n]);\n```\n### Get Subscription\n```PHP\n$subscription = $account-\u003esubscriptions()-\u003esubscription($id);\n```\n### List Subscriptions\n```PHP\n$account-\u003esubscriptions()-\u003egetList([\"orderType\" =\u003e \"portins\"]);\n```\n### Update\n```PHP\n$subscription-\u003eOrderType = \"portins\";\n$subscription-\u003eupdate();\n```\n### DELETE\n```PHP\n$subscription-\u003edelete();\n```\n\n## TNs\n### Get TN\n```PHP\n$tns = new Iris\\Tns(null, $client);\n$tn = $tns-\u003etn($id);\n```\n### List TNs\n```PHP\n$tns = new Iris\\Tns(null, $client);\n$tns_items = $tns-\u003egetList([\"page\" =\u003e 1, \"size\" =\u003e 10 ]);\n```\n### TN Instance Methods\n```PHP\n$tn = $tns-\u003etn(\"7576768750\");\n$site = $tn-\u003esite();\n$sippeer = $tn-\u003esippeer();\n$tnreservation = $tn-\u003etnreservation();\n$tn-\u003etndetails();\n$rc = $tn-\u003eratecenter();\n$lata = $tn-\u003elata();\n$lca = $tn-\u003elca();\n```\n## TN Reservation\n### Create TN Reservation\n```PHP\n$resertation = $account-\u003etnsreservations()-\u003ecreate([\"ReservedTn\" =\u003e \"2512027430\"]);\n```\n### Get TN Reservation\n```PHP\n$resertation = $account-\u003etnsreservations()-\u003etnsreservation(\"0099ff73-da96-4303-8a0a-00ff316c07aa\");\n```\n### Delete TN Reservation\n```PHP\n$resertation = $account-\u003etnsreservations()-\u003etnsreservation(\"0099ff73-da96-4303-8a0a-00ff316c07aa\");\n$resertation-\u003edelete();\n```\n\n## Billing reports\n\n### Listing all Billing Report instances\n```PHP\n$billingReports = $account-\u003ebillingreports()-\u003egetList();\n```\n\n### Request new billing report\n```PHP\n$billingReport = $account-\u003ebillingreports()-\u003erequest(\n    array(\"Type\" =\u003e \"bdr\",\n        \"DateRange\" =\u003e array(\n            \"StartDate\" =\u003e \"2018-02-05\",\n            \"EndDate\" =\u003e \"2018-02-06\",\n    )));\n```\n\n### Checking status of the billing report\n```PHP\n$billingReport = $account-\u003ebillingreports()-\u003ebillingreport('a12b456c8-abcd-1a3b-a1b2-0a2b4c6d8e0f2');\n```\n\n### Download zip with content of the billing report\n```PHP\n$zipStream = $billingReport-\u003efile();\n```\n\n### Download zip with content of the billing report and save to file\n```PHP\n$outFile = '/tmp/report.zip';\n$billingReport-\u003efile(['stream' =\u003e true, 'sink' =\u003e $outFile]);\n```\n\n## TN Options\n\n### Get TN Option Orders\n```PHP\n$tnoptions = $account-\u003etnoptions();\n$response = $tnoptions-\u003egetList();\nprint_r($response[0]-\u003eOrderId);\n```\n\n### GET TN Option Order\n```PHP\n$tnoptions = $account-\u003etnoptions();\n$response = $tnoptions-\u003etnoption(\"order_id\");\nprint_r($response-\u003eOrderCreateDate);\n```\n\n### Get TN Option Order (error)\n```PHP\n$tnoptions = $account-\u003etnoptions();\n$response = $tnoptions-\u003etnoption(\"error_order_id\");\nprint_r($response-\u003eErrorList-\u003eError-\u003eDescription); //note: Error could be an array or a single object\n//depending on how many errors are returned\n```\n\n### Create Portout Passcode\n```PHP\n$tnoptions = $account-\u003etnoptions();\n$data = array(\n    \"TnOptionGroups\" =\u003e array(\n        \"TnOptionGroup\" =\u003e array(\n            \"PortOutPasscode\" =\u003e \"12abd38\",\n            \"TelephoneNumbers\" =\u003e array(\n                \"TelephoneNumber\" =\u003e \"2018551020\"\n            )\n        ),\n    )\n);\n$response = $tnoptions-\u003ecreate($data);\nprint_r($response-\u003eOrderCreateDate);\n```\n\n### Create Call Forward Number\n```PHP\n$tnoptions = $account-\u003etnoptions();\n$data = array(\n    \"TnOptionGroups\" =\u003e array(\n        \"TnOptionGroup\" =\u003e array(\n            \"CallForward\" =\u003e \"2018551022\",\n            \"TelephoneNumbers\" =\u003e array(\n                \"TelephoneNumber\" =\u003e \"2018551020\"\n            )\n        ),\n    )\n);\n$response = $tnoptions-\u003ecreate($data);\nprint_r($response-\u003eOrderCreateDate);\n```\n\n### Enable SMS\n```PHP\n$tnoptions = $account-\u003etnoptions();\n$data = array(\n    \"TnOptionGroups\" =\u003e array(\n        \"TnOptionGroup\" =\u003e array(\n            \"Sms\" =\u003e \"on\",\n            \"TelephoneNumbers\" =\u003e array(\n                \"TelephoneNumber\" =\u003e \"2018551020\"\n            )\n        ),\n    )\n);\n$response = $tnoptions-\u003ecreate($data);\nprint_r($response-\u003eOrderCreateDate);\n```\n\n## Hosted Messaging Functions\n\n### Get Import TN Orders\n```PHP\n$resp = $account-\u003egetImportTnOrders(array(\n    \"createdDateFrom\" =\u003e \"2013-10-22T00:00:00.000Z\",\n    \"createdDateTo\" =\u003e \"2013-10-25T00:00:00.000Z\"\n));\n\nprint_r($resp-\u003eImportTnOrderSummary[0]-\u003eOrderId);\n```\n\n### Create Import TN Order\n```PHP\n$importTnOrder = new \\Iris\\ImportTnOrder(array(\n    \"CustomerOrderId\" =\u003e \"id\",\n    \"TelephoneNumbers\" =\u003e array(\n        \"TelephoneNumber\" =\u003e array(\"5554443333\")\n    ),\n    \"SiteId\" =\u003e \"12345\",\n    \"Subscriber\" =\u003e array(\n        \"Name\" =\u003e \"Company INC\",\n        \"ServiceAddress\" =\u003e array(\n            \"HouseNumber\" =\u003e \"1\",\n            \"StreetName\" =\u003e \"Street\",\n            \"City\" =\u003e \"City\",\n            \"StateCode\" =\u003e \"XY\",\n            \"Zip\" =\u003e \"54345\",\n            \"County\" =\u003e \"County\"\n        )\n    ),\n    \"LoaAuthorizingPerson\" =\u003e \"Test Person\"\n));\n\nprint_r($account-\u003ecreateImportTnOrder($importTnOrder)-\u003eImportTnOrder-\u003eOrderId);\n```\n\n### Get Import TN Order By ID\n```PHP\nprint_r($account-\u003egetImportTnOrder(\"some_id_value\")-\u003eProcessingStatus);\n```\n\n### Get Import TN Order History\n```PHP\nprint_r($account-\u003egetImportTnOrderHistory(\"some_id_value\")-\u003eOrderHistory[0]-\u003eStatus);\n```\n\n### Get Import TN Order LOAs\n```PHP\n$response = $account-\u003egetImportTnOrderLoas(\"order_id\");\nprint_r($response-\u003eresultMessage);\necho \"\\n\";\nprint_r($response-\u003efileNames); //this can be a single string (if there's 1 file) or an array of strings (if there's multiple files)\n```\n\n### Upload LOA file for an Import TN Order\nValid `mime_types` can be found on the [Dashboard API Reference](https://dev.bandwidth.com/numbers/apiReference.html) under `/accounts /{accountId} /importTnOrders /{orderid} /loas`\n\nMime types are expected to be in the format `x/y`, such as `application/pdf` or `text/plain`\n\n```PHP\n$account-\u003euploadImportTnOrderLoaFile(\"order_id\", \"binary_file_contents\", \"mime_type\");\n```\n\n```PHP\n$filename = \"loa.pdf\";\n$file = fopen($filename, \"rb\") or die(\"Unable to open file\");\n$file_contents = fread($file, filesize($filename));\n$account-\u003euploadImportTnOrderLoaFile(\"order_id\", $file_contents, \"application/pdf\");\nfclose($file);\n```\n\n### Download LOA file for an Import TN Order (bonked. come back to this)\nNote: Make sure to grab the desired file ID from the response of `$account-\u003egetImportTnOrderLoas($order_id)` in the field `$response-\u003efileNames`\n\n```PHP\n$response = $account-\u003edownloadImportTnOrderLoaFile(\"order_id\", \"file_id\");\n$file = fopen(\"write.pdf\", \"wb\") or die(\"Unable to open file\");\nfwrite($file, $response);\nfclose($file);\n```\n\n### Replace LOA file for an Import TN Order\n```PHP\n$account-\u003ereplaceImportTnOrderLoaFile(\"order_id\", \"file_id\", \"binary_file_contents\", \"mime_type\");\n```\n\n### Delete LOA file for an Import TN Order\n```PHP\n$account-\u003edeleteImportTnOrderLoaFile(\"order_id\", \"file_id\");\n```\n\n### Get LOA file metadata for an Import TN Order\n```PHP\n$response = $account-\u003egetImportTnOrderLoaFileMetadata(\"order_id\", \"file_id\");\nprint_r($response-\u003eDocumentName);\necho \"\\n\";\nprint_r($response-\u003eDocumentType);\n\n```\n\n### Update LOA file metadata for an Import TN Order\n```PHP\n$file_metadata = new \\Iris\\FileMetaData(array(\n    \"DocumentName\" =\u003e \"Updated\",\n    \"DocumentType\" =\u003e \"LOA\"\n));\n$account-\u003eupdateImportTnOrderLoaFileMetadata(\"order_id\", \"file_id\", $file_metadata);\n```\n\n### Delete LOA file metadata for an Import TN Order\n```PHP\n$account-\u003edeleteImportTnOrderLoaFileMetadata(\"order_id\", \"file_id\");\n```\n\n### Check TNs Portability\n```PHP\nprint_r($account-\u003echeckTnsPortability(array(\"5554443333\", \"5553334444\"))-\u003eImportTnCheckerPayload);\n```\n\n### Get In Service Numbers\n```PHP\nprint_r($account-\u003egetInserviceNumbers(array(\"areacode\" =\u003e \"919\"))-\u003eTelephoneNumbers-\u003eCount);\n```\n\n### Check In Service Number\n```PHP\nprint_r($account-\u003echeckInserviceNumber(\"5554443333\"));\n```\n\n### Get Remove Imported TN Orders\n```PHP\n$resp = $account-\u003egetRemoveImportedTnOrders(array(\n    \"createdDateFrom\" =\u003e \"2013-10-22T00:00:00.000Z\",\n    \"createdDateTo\" =\u003e \"2013-10-25T00:00:00.000Z\"\n));\n\nprint_r($resp-\u003eRemoveImportedTnOrderSummary[0]-\u003eOrderStatus);\n```\n\n### Create A Remove Imported TN Order\n```PHP\n$removeImportedTnOrder = new \\Iris\\RemoveImportedTnOrder(array(\n    \"CustomerOrderId\" =\u003e \"custom string\",\n    \"TelephoneNumbers\" =\u003e array(\n        \"TelephoneNumber\" =\u003e array(\"5554443333\", \"5553332222\")\n    )\n));\n\nprint_r($account-\u003ecreateRemoveImportedTnOrder($removeImportedTnOrder)-\u003eLocation);\n```\n\n### Get Removed Imported TN Order\n```PHP\nprint_r($account-\u003egetRemoveImportedTnOrder(\"some_id_value\")-\u003eProcessingStatus);\n```\n\n### Get Removed Imported TN Order History\n```PHP\nprint_r($account-\u003egetRemoveImportedTnOrderHistory(\"some_id_value\")-\u003eOrderHistory[0]-\u003eStatus);\n```\n\n## CSR\n\n### Create CSR Order\n\n```PHP\n$csrOrder = new \\Iris\\Csr(array(\n    \"CustomerOrderId\" =\u003e \"order id\",\n    \"WorkingOrBillingTelephoneNumber\" =\u003e \"5554443333\"\n));\n\n$response = $account-\u003ecreateCsrOrder($csrOrder);\nprint_r($response-\u003eOrderId);\n```\n\n### Replace CSR Order\n\n```PHP\n$csrOrder = new \\Iris\\Csr(array(\n    \"CustomerOrderId\" =\u003e \"order id\",\n    \"WorkingOrBillingTelephoneNumber\" =\u003e \"5554443333\"\n));\n\n$response = $account-\u003ereplaceCsrOrder(\"order_id\", $csrOrder);\nprint_r($response-\u003eOrderId);\n```\n\n### Get CSR Order\n\n```PHP\n$response = $account-\u003egetCsrOrder(\"order_id\");\nprint_r($response-\u003eOrderId);\n```\n\n### Get CSR Order Notes\n\n```PHP\n$response = $account-\u003egetCsrOrderNotes(\"order_id\");\nprint_r($response-\u003eNote[0]-\u003eDescription);\n```\n\n### Add CSR Order Note\n\n```PHP\n$note = new \\Iris\\CsrNote(array(\n    \"UserId\" =\u003e \"id\",\n    \"Description\" =\u003e \"description\"\n));\n\n$account-\u003eaddNoteToCsr(\"order_id\", $note);\n```\n\n### Update CSR Order Note\n\n```PHP\n$note = new \\Iris\\CsrNote(array(\n    \"UserId\" =\u003e \"id\",\n    \"Description\" =\u003e \"description\"\n));\n\n$account-\u003eupdateCsrOrderNote(\"order_id\", \"note_id\", $note);\n```\n\n## Emergency Notification Recipients\n\n### Create Emergency Notification Recipient\n\n```php\n$data = array(\n  \"Description\" =\u003e \"Email to Bldg. 3 Front Desk\",\n  \"Type\" =\u003e \"EMAIL\",\n  \"EmailAddress\" =\u003e \"foo@bar.com\"\n);\n$response = $account-\u003ecreateEmergencyNotificationRecipient($data);\n```\n\n### Get Emergency Notification Recipients\n\n```php\n$response = $account-\u003egetEmergencyNotificationRecipients();\n```\n\n### Get Emergency Notification Recipient\n\n```php\n$response = $account-\u003egetEmergencyNotificationRecipient(\"id\");\n```\n\n### Replace Emergency Notification Recipient\n\n```php\n$data = array(\n  \"Description\" =\u003e \"Email to Bldg. 3 Front Desk\",\n  \"Type\" =\u003e \"EMAIL\",\n  \"EmailAddress\" =\u003e \"foo@bar.com\"\n);\n$response = $account-\u003ereplaceEmergencyNotificationRecipient(\"id\", $data);\n```\n\n### Delete Emergency Notification Recipient\n\n```php\n$account-\u003edeleteEmergencyNotificationRecipient(\"id\");\n```\n\n## Emergeny Notification Group\n\n### Create Emergency Notification Group Order\n\n```php\n$data = array(\n  \"CustomerOrderId\" =\u003e \"value\",\n  \"AddedEmergenyNotificationGroup\" =\u003e array(\n    \"EmergencyNotificationRecipient\" =\u003e array(\n      \"Identifier\" =\u003e \"123\"\n    )\n  )\n);\n$response = $account-\u003ecreateEmergencyNotificationGroupOrder($data);\n```\n\n### Get Emergency Notification Group Orders\n\n```php\n$response = $account-\u003egetEmergencyNotificationGroupOrders();\n```\n\n### Get Emergency Notification Group Order\n\n```php\n$response = $account-\u003egetEmergencyNotificationGroupOrder(\"id\");\n```\n\n### Get Emergency Notification Groups\n\n```php\n$response = $account-\u003egetEmergencyNotificationGroups();\n```\n\n### Get Emergency Notification Group\n\n```php\n$response = $account-\u003egetEmergencyNotificationGroup(\"id\");\n```\n\n## Emergency Notification Endpoint\n\n### Create Emergency Notification Endpoint Order\n\n```php\n$data = array(\n  \"CustomerOrderId\" =\u003e \"123\",\n  \"EmergencyNotificationEndpointAssociations\" =\u003e array(\n    \"EmergenyNotificationGroup\" =\u003e array(\n      \"Identifier\" =\u003e \"456\"\n    )\n  )\n);\n$response = $account-\u003ecreateEmergencyNotificationEndpointOrder($data);\n```\n\n### Get Emergency Notification Endpoint Orders\n\n```php\n$response = $account-\u003egetEmergencyNotificationEndpointOrders();\n```\n\n### Get Emergency Notification Endpoint Order\n\n```php\n$response = $account-\u003egetEmergencyNotificationEndpointOrder(\"id\");\n```\n\n## Alternate End User Identiy\n\n### Get Alternate End User Information\n\n```php\n$response = $account-\u003egetAlternateEndUserInformation();\n```\n\n### Get Alternate Caller Information\n\n```php\n$response = $account-\u003egetAlternateCallerInformation(\"id\");\n```\n\n## Application Management\n\n### Get Applications\n\n```php\n$response = $account-\u003egetApplications();\nprint_r($response);\n```\n\n### Get Application\n\n```php\n$response = $account-\u003egetApplication(\"id\");\nprint_r($response);\n```\n\n### Create Application\n\n```php\n$data = array(\n    'ServiceType' =\u003e 'Messaging-V2',\n    'AppName' =\u003e 'sample',\n    'MsgCallbackUrl' =\u003e 'https://test.com'\n);\n$response = $account-\u003ecreateApplication($data);\nprint_r($response);\n```\n\n### Update Application\n\n```php\n$data = array(\n    'ServiceType' =\u003e 'Messaging-V2',\n    'AppName' =\u003e 'sample',\n    'MsgCallbackUrl' =\u003e 'https://test2.com'\n);\n$response = $account-\u003eupdateApplication(\"id\", $data);\nprint_r($response);\n```\n\n### Delete Application\n\n```php\n$account-\u003edeleteApplication(\"id\");\n```\n\n### Get Application SipPeers\n\n```php\n$response = $account-\u003egetApplicationSippeers(\"id\");\nprint_r($response);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbandwidth%2Fphp-bandwidth-iris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbandwidth%2Fphp-bandwidth-iris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbandwidth%2Fphp-bandwidth-iris/lists"}