Skip to content

Commit

Permalink
2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
PureCloud Jenkins committed Sep 5, 2019
1 parent 5657c7d commit bb5094f
Show file tree
Hide file tree
Showing 3,462 changed files with 404,430 additions and 6 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
86 changes: 84 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,84 @@
# platform-client-sdk-ios
An iOS library to interface with the PureCloud Platform API
---
title: Platform API Client SDK - iOS (Swift 4)
---

Documentation can be found at [https://developer.mypurecloud.com/api/rest/client-libraries/ios/](https://developer.mypurecloud.com/api/rest/client-libraries/ios/)

## Install using CocoaPods

This package can be found at https://cocoapods.org/pods/PureCloudPlatformClientV2

Add the following to your project's Podfile:

```
pod 'PureCloudPlatformClientV2'
```

Then install this dependency in your project:

```
$ pod install
```


## Using the SDK

### Import the SDK:

~~~ swift
import PureCloudPlatformClientV2
~~~

### Configure the SDK Client:

#### Setting an access token

The iOS SDK does not currently contain helper methods to complete an OAuth flow. The consuming applicaiton must complete an OAuth flow to get an access token outside the scope of the SDK. For more information about authenticating with OAuth, see the Developer Center article [Authorization](https://developer.mypurecloud.com/api/rest/authorization/index.html). Once an access token is obtained, it should be set on the SDK as follows:

~~~ swift
PureCloudPlatformClientV2API.accessToken = "YOUR_ACCESS_TOKEN"
~~~


#### Setting the environment

If connecting to a PureCloud environment other than mypurecloud.com (e.g. mypurecloud.ie), set the new base path before constructing any API classes. The new base path should be the base path to the Platform API for your environment.

~~~ swift
PureCloudPlatformClientV2API.basePath = "https://api.mypurecloud.ie"
~~~


### Making requests

In order to make a request, call the desired method on one of the SDK's API classes. For example, to get details for the authenticated user:

~~~ swift
let getUsersMeExpand = [UsersAPI.Expand_getUsersMe.presence].map { $0.rawValue }
UsersAPI.getUsersMe(expand: getUsersMeExpand) { (userMe, error) in
if let error = error {
// handle error
print("Error: \(error.localizedDescription)\n\(error)")
} else if let userMe = userMe {
// handle response UserMe object
print("Success: \(String(describing: userMe.name))")
}
}
~~~


## SDK Source Code Generation

The SDK is automatically regenerated and published from the API's definition after each API release. For more information on the build process, see the [platform-client-sdk-common](https://github.com/MyPureCloud/platform-client-sdk-common) project.


## Versioning

The SDK's version is incremented according to the [Semantic Versioning Specification](https://semver.org/). The decision to increment version numbers is determined by [diffing the Platform API's swagger](https://github.com/purecloudlabs/platform-client-sdk-common/blob/master/modules/swaggerDiff.js) for automated builds, and optionally forcing a version bump when a build is triggered manually (e.g. releasing a bugfix).


## Support

This package is intended to be forwards compatible with v2 of PureCloud's Platform API. While the general policy for the API is not to introduce breaking changes, there are certain additions and changes to the API that cause breaking changes for the SDK, often due to the way the API is expressed in its swagger definition. Because of this, the SDK can have a major version bump while the API remains at major version 2. While the SDK is intended to be forward compatible, patches will only be released to the latest version. For these reasons, it is strongly recommended that all applications using this SDK are kept up to date and use the latest version of the SDK.

For any issues, questions, or suggestions for the SDK, visit the [PureCloud Developer Forum](https://developer.mypurecloud.com/forum/).
63 changes: 63 additions & 0 deletions build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md

fastlane/report.xml
fastlane/screenshots
23 changes: 23 additions & 0 deletions build/.swagger-codegen-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Swagger Codegen Ignore
# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
#ApiClient.cs

# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux

# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# Thsi matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux

# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
Empty file added build/Cartfile
Empty file.
15 changes: 15 additions & 0 deletions build/PureCloudPlatformClientV2.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Pod::Spec.new do |s|
s.name = 'PureCloudPlatformClientV2'
s.ios.deployment_target = '10.0'
s.osx.deployment_target = '10.11'
s.version = '2.0.0'
s.source = { :git => 'git@github.com:MyPureCloud/platform-client-sdk-ios.git', :tag => '2.0.0' }
s.authors = 'Genesys Developer Evangelists'
s.social_media_url = 'https://twitter.com/PureCloud_Dev'
s.license = 'MIT'
s.homepage = 'https://developer.mypurecloud.com/'
s.summary = 'An iOS library to interface with the PureCloud Platform API'
s.description = 'An iOS library to interface with the PureCloud Platform API'
s.documentation_url = 'https://developer.mypurecloud.com/api/rest/client-libraries/ios/'
s.source_files = 'src/**/*.swift'
end
84 changes: 84 additions & 0 deletions build/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Platform API Client SDK - iOS (Swift 4)
---

Documentation can be found at [https://developer.mypurecloud.com/api/rest/client-libraries/ios/](https://developer.mypurecloud.com/api/rest/client-libraries/ios/)

## Install using CocoaPods

This package can be found at https://cocoapods.org/pods/PureCloudPlatformClientV2

Add the following to your project's Podfile:

```
pod 'PureCloudPlatformClientV2'
```

Then install this dependency in your project:

```
$ pod install
```


## Using the SDK

### Import the SDK:

~~~ swift
import PureCloudPlatformClientV2
~~~

### Configure the SDK Client:

#### Setting an access token

The iOS SDK does not currently contain helper methods to complete an OAuth flow. The consuming applicaiton must complete an OAuth flow to get an access token outside the scope of the SDK. For more information about authenticating with OAuth, see the Developer Center article [Authorization](https://developer.mypurecloud.com/api/rest/authorization/index.html). Once an access token is obtained, it should be set on the SDK as follows:

~~~ swift
PureCloudPlatformClientV2API.accessToken = "YOUR_ACCESS_TOKEN"
~~~


#### Setting the environment

If connecting to a PureCloud environment other than mypurecloud.com (e.g. mypurecloud.ie), set the new base path before constructing any API classes. The new base path should be the base path to the Platform API for your environment.

~~~ swift
PureCloudPlatformClientV2API.basePath = "https://api.mypurecloud.ie"
~~~


### Making requests

In order to make a request, call the desired method on one of the SDK's API classes. For example, to get details for the authenticated user:

~~~ swift
let getUsersMeExpand = [UsersAPI.Expand_getUsersMe.presence].map { $0.rawValue }
UsersAPI.getUsersMe(expand: getUsersMeExpand) { (userMe, error) in
if let error = error {
// handle error
print("Error: \(error.localizedDescription)\n\(error)")
} else if let userMe = userMe {
// handle response UserMe object
print("Success: \(String(describing: userMe.name))")
}
}
~~~


## SDK Source Code Generation

The SDK is automatically regenerated and published from the API's definition after each API release. For more information on the build process, see the [platform-client-sdk-common](https://github.com/MyPureCloud/platform-client-sdk-common) project.


## Versioning

The SDK's version is incremented according to the [Semantic Versioning Specification](https://semver.org/). The decision to increment version numbers is determined by [diffing the Platform API's swagger](https://github.com/purecloudlabs/platform-client-sdk-common/blob/master/modules/swaggerDiff.js) for automated builds, and optionally forcing a version bump when a build is triggered manually (e.g. releasing a bugfix).


## Support

This package is intended to be forwards compatible with v2 of PureCloud's Platform API. While the general policy for the API is not to introduce breaking changes, there are certain additions and changes to the API that cause breaking changes for the SDK, often due to the way the API is expressed in its swagger definition. Because of this, the SDK can have a major version bump while the API remains at major version 2. While the SDK is intended to be forward compatible, patches will only be released to the latest version. For these reasons, it is strongly recommended that all applications using this SDK are kept up to date and use the latest version of the SDK.

For any issues, questions, or suggestions for the SDK, visit the [PureCloud Developer Forum](https://developer.mypurecloud.com/forum/).
20 changes: 20 additions & 0 deletions build/docs/ADFS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: ADFS
---
## ADFS

## Properties

|Name | Type | Description | Notes|
|------------ | ------------- | ------------- | -------------|
| **_id** | **String** | The globally unique identifier for the object. | [optional] |
| **name** | **String** | | [optional] |
| **relyingPartyIdentifier** | **String** | | [optional] |
| **certificate** | **String** | | [optional] |
| **issuerURI** | **String** | | [optional] |
| **ssoTargetURI** | **String** | | [optional] |
| **disabled** | **Bool** | | [optional] |
| **selfUri** | **String** | The URI for this object | [optional] |
{: class="table table-striped"}


21 changes: 21 additions & 0 deletions build/docs/Action.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Action
---
## Action

## Properties

|Name | Type | Description | Notes|
|------------ | ------------- | ------------- | -------------|
| **_id** | **String** | The globally unique identifier for the object. | [optional] |
| **name** | **String** | | [optional] |
| **integrationId** | **String** | The ID of the integration for which this action is associated | [optional] |
| **category** | **String** | Category of Action | [optional] |
| **contract** | [**ActionContract**](ActionContract.html) | Action contract | [optional] |
| **version** | **Int** | Version of this action | [optional] |
| **secure** | **Bool** | Indication of whether or not the action is designed to accept sensitive data | [optional] |
| **config** | [**ActionConfig**](ActionConfig.html) | Configuration to support request and response processing | [optional] |
| **selfUri** | **String** | The URI for this object | [optional] |
{: class="table table-striped"}


15 changes: 15 additions & 0 deletions build/docs/ActionConfig.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: ActionConfig
---
## ActionConfig
Defines components of the Action Config.

## Properties

|Name | Type | Description | Notes|
|------------ | ------------- | ------------- | -------------|
| **request** | [**RequestConfig**](RequestConfig.html) | Configuration of outbound request. | [optional] |
| **response** | [**ResponseConfig**](ResponseConfig.html) | Configuration of response processing. | [optional] |
{: class="table table-striped"}


15 changes: 15 additions & 0 deletions build/docs/ActionContract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: ActionContract
---
## ActionContract
This resource contains all of the schemas needed to define the inputs and outputs, of a single Action.

## Properties

|Name | Type | Description | Notes|
|------------ | ------------- | ------------- | -------------|
| **output** | [**ActionOutput**](ActionOutput.html) | The output to expect when executing this action. | [optional] |
| **input** | [**ActionInput**](ActionInput.html) | The input required when executing this action. | [optional] |
{: class="table table-striped"}


15 changes: 15 additions & 0 deletions build/docs/ActionContractInput.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: ActionContractInput
---
## ActionContractInput
Contract definition.

## Properties

|Name | Type | Description | Notes|
|------------ | ------------- | ------------- | -------------|
| **input** | [**PostInputContract**](PostInputContract.html) | Execution input contract | |
| **output** | [**PostOutputContract**](PostOutputContract.html) | Execution output contract | |
{: class="table table-striped"}


22 changes: 22 additions & 0 deletions build/docs/ActionEntityListing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: ActionEntityListing
---
## ActionEntityListing

## Properties

|Name | Type | Description | Notes|
|------------ | ------------- | ------------- | -------------|
| **entities** | [**[Action]**](Action.html) | | [optional] |
| **pageSize** | **Int** | | [optional] |
| **pageNumber** | **Int** | | [optional] |
| **total** | **Int64** | | [optional] |
| **firstUri** | **String** | | [optional] |
| **selfUri** | **String** | | [optional] |
| **lastUri** | **String** | | [optional] |
| **previousUri** | **String** | | [optional] |
| **nextUri** | **String** | | [optional] |
| **pageCount** | **Int** | | [optional] |
{: class="table table-striped"}


Loading

0 comments on commit bb5094f

Please sign in to comment.