Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ NPM package: `@picturepark/sdk-v1-pickers`
| `11.13.x` | `11.13.x` | [11.13.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.13.x)
| `11.14.x` | `11.14.x` | [11.14.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.14.x)
| `11.15.x` | `11.15.x` | [11.15.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.15.x)
| `11.16.x` | `11.16.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master)
| `11.16.x` | `11.16.x` | [11.16.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.16.x)
| `11.17.x` | `11.17.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master)

SDK Development

Expand Down
2 changes: 1 addition & 1 deletion swagger/PictureparkSwagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"openapi": "3.0.0",
"info": {
"title": "Fotoware Alto API V1",
"description": "\r\n# Getting started\r\n\r\nWelcome to the reference for the Fotoware Alto REST API.\r\n\r\n> **Note:** The platform has been renamed from Fotoware Fotoware Alto to **Fotoware Alto**, but the project name remains **Fotoware**. You may encounter both names in documentation, code, and resources.\r\n\r\n## Client registration\r\nTo use the Fotoware Alto API, you need first to create a new API Client. You can create clients via an Identity Server (IDS) interface directly from Fotoware Alto.\r\n\r\nGo to `Settings` / `API Clients` (https://{{customerHost}}/Settings/APIClients) and create a new API Client based on your desired authentication flow.\r\n\r\n### Client attributes\r\n\r\n| Attribute | Description |\r\n| -------------- | ----------- |\r\n| **Allowed scopes** | Scopes which the client is allowed to access. Use can find scope name beside the respective API endpoints. |\r\n| **Redirect Uris** | Which URI's is IDS allowed to send the authentication information to. |\r\n| **Urls (masks) safe to load** | IDS has to load some information from the Fotoware Alto customer instance like customer terms of service or logos. This lists the paths which are safe to load by IDS. Usually similar to Redirect Uris. |\r\n| **Allowed CORS origins** | Adds to the list of origins allowed to access the IDS authentication API. |\r\n\r\n## Authentication\r\nThe authentication process is based on [OpenID Connect](http://openid.net/connect/).\r\n\r\nThe following OAuth 2.0 flows are supported:\r\n\r\n| Flow | Description |\r\n| ------------ | ----------- |\r\n| **Hybrid** | Interactive user authentication with server based validation |\r\n| **Password** | Server to server, create access tokens that do not expire |\r\n| **Authorization code** with PKCE | Interactive user authentication recommended for SPA's |\r\n| **Implicit** | Not recommended anymore, used mostly in legacy SPA's |\r\n\r\n### Examples\r\nExample authentication implementations can be found here:\r\n- Angular: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-angular\r\n- HTML5 Fetch: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-fetch\r\n- .NET: https://github.com/Picturepark/Picturepark.SDK.DotNet/tree/master/docs\r\n\r\n### Access token lifetime\r\nFor **Implicit**, **Hybrid** and **Authentication code** flows, the access tokens are short-lived (1 hour). You need to refresh your access token after it's expired.\r\nYou can silently refresh the token using a hidden Iframe in the browser: [Angular example](https://damienbod.com/2017/06/02/implementing-a-silent-token-renew-in-angular-for-the-openid-connect-implicit-flow/)\r\n\r\nFor the **Password** flow, you can create an access token that never expires.\r\nGo to `Settings` / `API Clients` in Fotoware Alto (https://{{customerHost}}/Settings/APIClients) and click on Tokens beside the respective client (or create a new client).\r\n\r\n**Attention: Adding long lived access tokens to a web application (adding token to Javascripts source code) will expose that token to anyone. Use with care and a very limited set of scopes.**\r\n\r\n### Urls\r\n\r\n- Live: https://ids-cp-ch.picturepark.com\r\n- Stage: https://identity.current-picturepark.com\r\n- POC: https://identity.poc-picturepark.com\r\n- Preview: https://identity.preview-picturepark.com\r\n\r\n## SDKs\r\nTo simplify building applications, SDKs for the following languages/frameworks are provided and released as open source under MIT license:\r\n\r\n- .NET\r\n - [https://github.com/Picturepark/Picturepark.SDK.DotNet](https://github.com/Picturepark/Picturepark.SDK.DotNet)\r\n - Supports .NET 4.5+ / .NET Standard 1.3+\r\n- JavaScript / TypeScript\r\n - [https://github.com/Picturepark/Picturepark.SDK.TypeScript](https://github.com/Picturepark/Picturepark.SDK.TypeScript)\r\n - Supports [Angular](https://angular.io/) 4.3+ / [HTML 5 Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\r\n\r\n# Concepts\r\n\r\n## HTTP Requests\r\nTo perform API calls, you can specify the following HTTP headers:\r\n\r\n| HTTP Header | Value | Required |\r\n| ------------------------- | -------------------- | -------- |\r\n| Accept | application/json | Yes |\r\n| Authorization | Bearer {accessToken} | Yes |\r\n| Picturepark-CustomerAlias | Customer identifier | Yes |\r\n| Picturepark-Language | en / de | No |\r\n\r\n## Error responses\r\nErrors in Fotoware Alto API are returned using HTTP status codes, as well as a JSON error response object.\r\n\r\nHTTP status 4xx\r\n- Client errors (e.g. wrong data provided by client)\r\n\r\nHTTP status 5xx\r\n- Server errors (something went wrong on the server)\r\n\r\n## Request limits / quota\r\nTo protect the Fotoware Alto API you are limited in the number of API requests per interval.\r\n\r\nIf that limit is exceeded you will get an exception with HTTP status code 429 (Too many requests).\r\n\r\nIf you need more calls per interval, contact Fotoware Alto sales (sales@picturepark.com).\r\n\r\n## Permissions / Scopes\r\n\r\nIn order to be able to perform requests, you need the permissions.\r\n\r\n### User permissions\r\nThe authenticated user needs the permission in Fotoware Alto to perform the request.\r\n\r\n### Scopes\r\n\r\nAdditionally, your application needs to define which scopes are required.\r\n\r\nFor all the scopes requested by your application, the users need to confirm these in the consent screen.\r\n\r\n[List of scopes](#section/Authentication)\r\n\r\n\r\n# Search\r\n\r\nMost entities have a search endpoint to search and filter.\r\n\r\nFor list items and contents, the search and filters depend on the available schemas and search configurations.\r\n\r\n\r\n## Simple search\r\n\r\n([Elastic search query string reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html))\r\n\r\nWith the simple search a multi field query is executed.\r\n\r\nallow_leading_wildcard is disabled.\r\n\r\nThe applicable query string syntax can be found [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html).\r\n\r\nThe query is executed against all indexed schema fields with a boolean flag *SimpleSearch* set to `true`.\r\n\r\nRunning the query against multiple fields enables to put the searched fields under thight control and also to expand each query term to an OR clause (field1=\"value\" or field2=\"value\").\r\n\r\n\r\n## Filtering\r\n\r\nAvailable filters:\r\n\r\n- AndFilter\r\n- OrFilter\r\n- NotFilter\r\n- DateRangeFilter\r\n- NumericRangeFilter\r\n- ExistsFilter\r\n- PrefixFilter\r\n- TermFilter\r\n- TermsFilter\r\n- GeoBoundingBoxFilter\r\n- GeoDistanceFilter\r\n- NestedFilter\r\n- ChildFilter\r\n- ParentFilter",
"description": "\r\n# Getting started\r\n\r\nWelcome to the reference for the Fotoware Alto REST API.\r\n\r\n> **Note:** The platform has been renamed from Picturepark Content Platform to **Fotoware Alto**, but the project name remains **Picturepark**. You may encounter both names in documentation, code, and resources.\r\n\r\n## Client registration\r\nTo use the Fotoware Alto API, you need first to create a new API Client. You can create clients via an Identity Server (IDS) interface directly from Fotoware Alto.\r\n\r\nGo to `Settings` / `API Clients` (https://{{customerHost}}/Settings/APIClients) and create a new API Client based on your desired authentication flow.\r\n\r\n### Client attributes\r\n\r\n| Attribute | Description |\r\n| -------------- | ----------- |\r\n| **Allowed scopes** | Scopes which the client is allowed to access. Use can find scope name beside the respective API endpoints. |\r\n| **Redirect Uris** | Which URI's is IDS allowed to send the authentication information to. |\r\n| **Urls (masks) safe to load** | IDS has to load some information from the Fotoware Alto customer instance like customer terms of service or logos. This lists the paths which are safe to load by IDS. Usually similar to Redirect Uris. |\r\n| **Allowed CORS origins** | Adds to the list of origins allowed to access the IDS authentication API. |\r\n\r\n## Authentication\r\nThe authentication process is based on [OpenID Connect](http://openid.net/connect/).\r\n\r\nThe following OAuth 2.0 flows are supported:\r\n\r\n| Flow | Description |\r\n| ------------ | ----------- |\r\n| **Hybrid** | Interactive user authentication with server based validation |\r\n| **Password** | Server to server, create access tokens that do not expire |\r\n| **Authorization code** with PKCE | Interactive user authentication recommended for SPA's |\r\n| **Implicit** | Not recommended anymore, used mostly in legacy SPA's |\r\n\r\n### Examples\r\nExample authentication implementations can be found here:\r\n- Angular: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-angular\r\n- HTML5 Fetch: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-fetch\r\n- .NET: https://github.com/Picturepark/Picturepark.SDK.DotNet/tree/master/docs\r\n\r\n### Access token lifetime\r\nFor **Implicit**, **Hybrid** and **Authentication code** flows, the access tokens are short-lived (1 hour). You need to refresh your access token after it's expired.\r\nYou can silently refresh the token using a hidden Iframe in the browser: [Angular example](https://damienbod.com/2017/06/02/implementing-a-silent-token-renew-in-angular-for-the-openid-connect-implicit-flow/)\r\n\r\nFor the **Password** flow, you can create an access token that never expires.\r\nGo to `Settings` / `API Clients` in Fotoware Alto (https://{{customerHost}}/Settings/APIClients) and click on Tokens beside the respective client (or create a new client).\r\n\r\n**Attention: Adding long lived access tokens to a web application (adding token to Javascripts source code) will expose that token to anyone. Use with care and a very limited set of scopes.**\r\n\r\n### Urls\r\n\r\n- Live: https://ids-cp-ch.picturepark.com\r\n- Stage: https://identity.current-picturepark.com\r\n- POC: https://identity.poc-picturepark.com\r\n- Preview: https://identity.preview-picturepark.com\r\n\r\n## SDKs\r\nTo simplify building applications, SDKs for the following languages/frameworks are provided and released as open source under MIT license:\r\n\r\n- .NET\r\n - [https://github.com/Picturepark/Picturepark.SDK.DotNet](https://github.com/Picturepark/Picturepark.SDK.DotNet)\r\n - Supports .NET 4.5+ / .NET Standard 1.3+\r\n- JavaScript / TypeScript\r\n - [https://github.com/Picturepark/Picturepark.SDK.TypeScript](https://github.com/Picturepark/Picturepark.SDK.TypeScript)\r\n - Supports [Angular](https://angular.io/) 4.3+ / [HTML 5 Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\r\n\r\n# Concepts\r\n\r\n## HTTP Requests\r\nTo perform API calls, you can specify the following HTTP headers:\r\n\r\n| HTTP Header | Value | Required |\r\n| ------------------------- | -------------------- | -------- |\r\n| Accept | application/json | Yes |\r\n| Authorization | Bearer {accessToken} | Yes |\r\n| Picturepark-CustomerAlias | Customer identifier | Yes |\r\n| Picturepark-Language | en / de | No |\r\n\r\n## Error responses\r\nErrors in Fotoware Alto API are returned using HTTP status codes, as well as a JSON error response object.\r\n\r\nHTTP status 4xx\r\n- Client errors (e.g. wrong data provided by client)\r\n\r\nHTTP status 5xx\r\n- Server errors (something went wrong on the server)\r\n\r\n## Request limits / quota\r\nTo protect the Fotoware Alto API you are limited in the number of API requests per interval.\r\n\r\nIf that limit is exceeded you will get an exception with HTTP status code 429 (Too many requests).\r\n\r\nIf you need more calls per interval, contact Fotoware Alto sales (sales@picturepark.com).\r\n\r\n## Permissions / Scopes\r\n\r\nIn order to be able to perform requests, you need the permissions.\r\n\r\n### User permissions\r\nThe authenticated user needs the permission in Fotoware Alto to perform the request.\r\n\r\n### Scopes\r\n\r\nAdditionally, your application needs to define which scopes are required.\r\n\r\nFor all the scopes requested by your application, the users need to confirm these in the consent screen.\r\n\r\n[List of scopes](#section/Authentication)\r\n\r\n\r\n# Search\r\n\r\nMost entities have a search endpoint to search and filter.\r\n\r\nFor list items and contents, the search and filters depend on the available schemas and search configurations.\r\n\r\n\r\n## Simple search\r\n\r\n([Elastic search query string reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html))\r\n\r\nWith the simple search a multi field query is executed.\r\n\r\nallow_leading_wildcard is disabled.\r\n\r\nThe applicable query string syntax can be found [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html).\r\n\r\nThe query is executed against all indexed schema fields with a boolean flag *SimpleSearch* set to `true`.\r\n\r\nRunning the query against multiple fields enables to put the searched fields under thight control and also to expand each query term to an OR clause (field1=\"value\" or field2=\"value\").\r\n\r\n\r\n## Filtering\r\n\r\nAvailable filters:\r\n\r\n- AndFilter\r\n- OrFilter\r\n- NotFilter\r\n- DateRangeFilter\r\n- NumericRangeFilter\r\n- ExistsFilter\r\n- PrefixFilter\r\n- TermFilter\r\n- TermsFilter\r\n- GeoBoundingBoxFilter\r\n- GeoDistanceFilter\r\n- NestedFilter\r\n- ChildFilter\r\n- ParentFilter",
"contact": {
"name": "Fotoware Alto sales",
"url": "https://www.picturepark.com",
Expand Down