Yapoli is a digital asset management and distribution platform designed for industry 4.0.
That is why its mission is to integrate itself into the customer's ecosystem, fulfilling its mission of providing governance of digital assets providing a set of services to integrate with this ecosystem.
To operationalize these interactions, at Yapoli it is possible to configure integrations. each integration has a specific purpose and has permission criteria and scope that delimit its performance inside the platform.
Yapoli currently supports 2 types of onboarding processes:
- Distribution of assets via CDN.
- Importing assets and automation.
To support business processes Yapoli has the following entry points:
- API: Provides an API through which it is possible, within the given scope, to query items and their respective metadata and files.
- Import via S3: Provides parameters for directly importing platform assets from S3
And output:
-
Webhook (or messaging):
- Active: From predetermined events, Yapoli can trigger a service specific event, sending data relevant to the context of the given event.
- Passive: Yapoli can receive data change notification messages on items.
- CDN: Within the scope of an integration, Yapoli publishes the files for consumption by publicly accessible CDNs.
PS: Yapoli is a fast and constantly evolving platform. These functionalities will certainly expand and encompass more events, data and services in the future.
Context and scope of integration:
Each integration applies to a predetermined context. The scope delimits which items and assets an integration applies to based on a predetermined filter. In this way, it is possible to have several different integrations (with different scopes and functionalities).
Below we detail the technical specifications of each service, always considering that they all operate in the context of an integration. To configure them on the platform, contact our support team.
Inbound Integration Points
- API
- Yapoli API documentation can be consulted at: https://documenter.getpostman.com/view/7711620/UVeJM5pk#intro
Import via S3
For batch file imports, Yapoli provides access to its S3 repository, from where we capture the files and turn them into assets on the platform. If you have automation configured, the asset then starts the automation process to create a direct item. If there is no automation or if it gives any error, then the asset goes to the bucket on the platform. For the asset to proceed to automation, it is important that it respects the automation rules, either by structuring the name according to the corresponding regular expression or by defining the appropriate exif fields.
To import via S3, you must have a set of Access key and secret key credentials issued by Yapoli. For this, it is necessary to execute the Parameters for upload endpoint. The endpoint will then return the bucket and credentials to use. Once in possession, you must use the AWS CLI, AWS SDK, or AWS API to upload the files to the designated bucket.
Outbound Integration Points
Webhook
Yapoli can trigger services in the webhook model as soon as a relevant event occurs on the platform. For now we support two types of events:
- Asset created; It is
- Item updated.
When a configured event occurs, the registered endpoint is called, informing the relevant data resulting from that event. The services that are invoked must be HTTP REST endpoints for which you can specify the following data:
- Method: GET or POST;
- Endpoint: A URL that receives and returns data in JSON and gives responses following the REST pattern. If using dynamic parameters the values must be specified as a query string parameter with the keys {KEY1}, {KEY2}, etc. Example: https:://endpoint.client.com?chave1={KEY1}&chave2={KEY2} ;
- Authorization: data for API authentication, respecting the OAuth and OAuth v2 standard. It is possible to specify headers and a specific “payload” for this call, as well as determine which return path to be obtained. If not informed, the access credentials must be in the headers. PS: service access credentials are stored in a secret storage service (AWS Secrets Manager);
- Headers: The headers of the request;
- Response Path: Path of the response to be obtained;
- Indication whether to take the parameters of the event;
The return of webhook calls, when they must be handled, must return only one record (specified by the “response path”).
Error handling
Any errors that occur will be reported to Yapoli's support and operations team who will act on the case. In the event of a failure in the registered endpoint / service, the customer's technical manager will be contacted. Therefore, it is necessary to inform a technical contact for each registered webhook.
CDN
The integrations that have a registered CDN distribute the items / assets configured in the integration to a specific storage to be consumed by the CDN. In addition to specific storage, files are published with the taxonomy of the corresponding item, thus generating relevant and searchable URLs. To configure distribution via CDN, the following parameters are required:
- URL: The public URL to which the files will be published. It must be informed because the URL of the asset published on the CDN will be informed in the API.
- Recipe: the recipe with the parameters for generating the file to be distributed on the CDN.
The files will be updated on the CDN with each occurrence that changes either the content of the files of an item or its taxonomy and, consequently, the name of the files.
Integration processes
Distribution of assets via CDN
The distribution of assets via CDN is done through a configured integration. Furthermore, the scope of the application must be defined, which is the filter that defines the items for which the distribution must be made. For now the filters support the following parameters, which can be combined:
- Category;
- Segment;
- Tags
Once filters and parameters are defined, the assets of the items will start to be distributed, with the file names respecting the structure of the taxonomy defined for the items. To query distributed items and corresponding files, you must use the Distributed Items List endpoint. Only through this endpoint is it possible to be sure which files and which file names were generated. This is important because the structure of the taxonomy is dynamic and can be changed by users with proper authorization on the platform.
To be notified of updates to items and their effect on distribution as soon as they happen, you can register a webhook to the item updated event. The data structure is the same as that returned in the distributed list endpoint.
Asset import and automation
Loading data into Yapoli via automation from input files has two paths: via bucket on the platform; or via bucket directly on S3. In the first case, the necessary parameters can be in the file being defined in the upload on the platform itself. In the second, it is necessary to import directly via S3. In both cases, once the file has the parameters for automation it follows the automation path.
Automation by file name
In order to automate a file using its name, it is necessary to configure an automation webhook with the necessary parameters to call a REST API that returns an expected data structure. You must then define a regular expression that extracts the API query keys from the filename for the call to succeed and return the right data. With the result of the API, the process can then proceed to the item creation cycle.
Automation by Exif fields
So that the automation can follow the exif fields, it is necessary to define which exif fields will be extracted. These fields formed an output structure that will be routed through the item creation cycle.
Automation via direct upload to S3
If integration is sought by directly uploading the assets without going through the platform, the upload can be done directly in an S3 repository under the control of Yapoli. Once uploaded, the file will be processed and will follow the defined automation flow.
Item creation
So that the creation of items can be processed in an automation cycle, it is necessary to define a mapper (still without specific documentation) made in JSON format that defines the criteria for mapping the input parameters (result of the previous automation steps) with the data of the Yapoli. With this mapper defined, the process will then be able to register the item and make it available in the DAM.
Handling of faults
In case of failure in the automation process, the assets will be made available in the platform bucket, with an indication of the reason for the failure, and may be reprocessed if the factors originating the failure are corrected.
Comments
0 comments
Please sign in to leave a comment.