LogoLogo
Changelog
18.5
18.5
  • Welcome
    • Welcome to Airkit 👋
    • Quickstart
  • Concepts
    • Sessions
      • Linking to Sessions
    • Actors
      • Conversations with Actors
  • Tutorials
    • Building A Contact Form
      • Building the Web UI
      • Building the Database
      • Finalizing the App
      • Connecting Forms to Salesforce
    • Styles, Themes, and Templates
      • Changing the header
      • Changing the Theme
      • Using a custom font
      • Using Animations
    • Multi-Page Form
      • Creating the App Object in AirData
      • Building the Form’s UI
      • Creating the Data Flow to insert data
      • Connecting the Data Flow to the UI
      • Previewing and Publishing the app
    • Scheduling and Follow-Up App
      • Collecting Contact Information
      • Creating Appointment Times
      • Saving Appointment Information
      • Scheduling Appointment Reminder
      • Automating Proactive Follow-Up
      • Requesting Feedback
    • Custom Integrations (Petfinder App)
      • Querying the Petfinder API
      • Displaying Petfinder Data
  • Platform
    • Console
      • Apps
      • Activity
      • App Health
      • Datastores
      • Integrations
      • Conversations
      • Resources
      • API
      • Settings
    • Studio
      • Builder Bar
        • Triggers Builder
        • Web Flows Builder
        • Chat Bots Builder
        • Answer Flows Builder
        • Voice Bots Builder
        • Connections Builder
        • Notifications Builder
        • AirData Builder
        • Media Library
        • Theme Builder
        • Schedules Builder
        • Settings
      • App Preview
      • Data Flows
      • Variable Tree
      • Data Model Editor
      • Events
        • Session Started Events
        • Trigger Events
        • Control Events
        • Session Events
        • Activity Group Events
        • Action Chains
  • Data and Integrations
    • Working with Data
      • Variable Namespaces
      • Standard Session Data
      • AirData
        • AirData App Objects
        • Datastores
        • Identity Objects
        • Place Objects
        • Schedule Objects
      • Airscript Quickstart
        • Working with Dates and Times
        • Working with Missing Values
        • Working with URLs and Base64
      • Pull Values from Lists and Objects
        • Path Expressions
        • Query Expressions
      • Making Forms from Data Models
    • Integrations
      • First Party Integrations
        • Creating A Salesforce Lead
        • Creating a Zendesk Ticket
        • Creating SFTP Credentials
        • Swagger Schema Validation
        • First Party Integration Reference
          • Airtable Integration
          • Genesys Widget Integration
          • Google Integration
          • Guidewire Integration
          • Hubspot Integration
          • Kustomer Integration
          • MX Integration
          • Plaid Integration
          • Salesforce Integration
          • SendGrid Integration
          • SFTP Integration
          • Shopify Integration
          • Stripe Integration
          • Twilio Integration
          • Zendesk Integration
      • Custom Integrations
        • OAuth 2.0
        • API Token
        • HTTP Basic Auth
        • Custom Token
        • SFTP
        • Examples: Twitter and Giphy
      • App APIs
        • Building an App API
      • Subscriptions (Web Hooks)
  • Texts, Calls and Emails
    • SMS
      • SMS Notification Basics
      • Chat Bot Basics
      • Texting Journey Links
      • Data from Inbound Calls/SMS
      • Connecting Twilio Numbers
    • Emails
      • Email Notification Basics
      • Sending Emails by Data Operation
      • Connecting Email Addresses
    • Voice Bots
      • Voice Bot Basics
    • Conversation Chat Bots
      • Setting Up Answer Groups
      • Configuring Conversation Chat Bots
        • Salesforce Relays
        • Kustomer Relays
  • Web Apps
    • Forms
      • Displaying Controls Dynamically
      • Repeating Elements
      • Prefilling Forms
      • Validation of User Data
      • Capture Secure User Data
      • Progress Bars
      • Dropdown Menus
      • Electronic Signatures
    • Calendars
      • Customizing Schedule Availability
      • Using Availability Schedules
      • Rescheduling Deflected Calls
      • Integrating to External Calendars
    • Maps and Addresses
      • Maps
      • Addresses
      • User's Current Location
      • Address Search Map Binding
    • Payments
      • Creating a Stripe Integration
    • Timers and Reminders
      • Setting Timers
      • Setting up Periodic Tasks
    • PDFs
      • Creating a PDF
      • Working with Existing PDFs
      • Adding Assets to PDF
    • Assets and Media
      • Using the File Upload Web Control
      • Working with Files and Media
      • Assets and Data Operations
      • Sending Assets to Remote Servers
    • Styling Overview
      • Web Control Styling Properties
        • Animations
      • Themes and Control Variants
        • Importing and Exporting Themes
      • Working with Custom Assets
      • Page Layouts
        • Creating an App Header
    • Publishing
      • Publish and Manage Deployments
      • Configure Application Resources
      • Editing an Application
      • Importing/Exporting Apps
      • Tying Variables to Deployments
    • Advanced
      • Custom Controls
      • Creating Custom Functions
    • Accessibility
      • Accessibility in Airkit
      • Connecting Labels to Input Controls
  • Authentication
    • SAML Authentication
    • OAuth 2.0 - Google
    • OAuth 2.0 - Okta
    • OAuth 2.0 - Auth0
    • Azure AD B2C
    • Authentication Apps and Secure Apps
  • Embeds
    • SDK Overview
      • SDK Quickstart
      • SDK Authentication
      • Passing Data
      • Configuration
      • Configuration Examples
      • Airkit Lightning Component (Salesforce)
  • Analytics and Administration
    • Airkit Organizations
    • Adding Users to Airkit
    • User Roles
      • Working with Custom Roles
    • JIT Provisioning for an Organization
    • SAML SSO for an Organization
    • Managing the Application Lifecycle
    • Environments
      • Environmental Governance
    • Getting Application Metadata
    • Custom Domains
    • Analytics Overview
      • App Events to Splunk
      • App Events to AWS S3 Buckets
      • Audit Logs to AWS S3 Buckets
      • View Data in Activity Explorer
      • Snowflake Analytics Schema
      • Power BI
      • Heap and GTM Integrations
        • Setting up Analytics with GTM
        • Setting up Analytics with Heap
    • Error Management
      • Logging Errors
      • Setting up Email Notifiers
      • Integrating Error Notifiers to Slack
  • Security and Compliance
    • App Security FAQ
    • Data Masking and Auditing
    • IP Ranges
    • Encrypting Data
    • SSL Auth
    • TCPA
    • Cookie Policies
    • Supported Browsers
    • Realms
  • Reference Docs
    • Reference Documentation Overview
    • Airscript
      • Text Functions
        • CAPITALIZE
        • CONCAT
        • ISSTRING
        • LOWERCASE
        • PADSTRING
        • REPLACE
        • REPT
        • SPLIT
        • STRING_COMPARE
        • STRING_FIND
        • STRIP
        • SUBSTITUTE
        • SUBSTRING
        • TITLECASE
        • TRIM
        • UPPERCASE
      • DateTime Functions
        • ADD_TO_DATE
        • ADD_TO_DATETIME
        • DATE
        • DATETIME
        • DATETIME_DELTA
        • DATETIME_FROM_FORMAT
        • DATETIME_FROM_TIMESTAMP
        • DATE_DELTA
        • DATE_FROM_DATETIME
        • DATE_FROM_FORMAT
        • DAY
        • DAYS
        • FORMAT_DATE
        • FORMAT_DATETIME
        • FORMAT_TIME
        • HOUR
        • ISO_WEEK
        • MINUTE
        • MONTH
        • NOW
        • SECOND
        • SUBTRACT_FROM_DATE
        • SUBTRACT_FROM_DATETIME
        • TIME
        • TIMESTAMP_FROM_DATETIME
        • TIME_DELTA
        • TIME_FROM_DATETIME
        • TIME_FROM_FORMAT
        • TODAY
        • UPDATE_DATE
        • UPDATE_DATETIME
        • UPDATE_DAY
        • UPDATE_HOUR
        • UPDATE_MILLISECOND
        • UPDATE_MINUTE
        • UPDATE_MONTH
        • UPDATE_SECOND
        • UPDATE_TIME
        • UPDATE_TIMEZONE
        • UPDATE_YEAR
        • WEEK
        • WEEKDAY
        • YEAR
      • List Functions
        • CONTAINS
        • FIRST
        • FLAT
        • JOIN
        • LAST
        • LENGTH
        • REMOVE_EMPTY
        • REVERSE
        • SHUFFLE
      • Object Functions
        • KEYS
        • MERGE_OBJECTS
        • OBJECT_TO_SOAP
        • OBJECT_TO_XML
        • SOAP_TO_OBJECT
        • SOAP_HEADER_TO_OBJECT
        • VALUES
        • XML_TO_OBJECT
      • Math Functions
        • ABS
        • ACOS
        • ACOSH
        • ACOT
        • ACOTH
        • ASIN
        • ASINH
        • ATAN
        • ATAN2
        • ATANH
        • CEILING
        • COMBIN
        • COMBINA
        • COS
        • COSH
        • COT
        • COTH
        • CSC
        • CSCH
        • DEGREES
        • EVEN
        • EXP
        • FACT
        • FACTDOUBLE
        • FLOOR
        • GCD
        • ISEVEN
        • ISNUMBER
        • ISODD
        • LATLNGDISTANCE
        • LCM
        • LN
        • LOG
        • MAX
        • MIN
        • MROUND
        • MULTINOMIAL
        • ODD
        • PI
        • POWER
        • PRODUCT
        • RADIANS
        • RANDOM
        • RANGE
        • ROUND
        • ROUNDDOWN
        • ROUNDUP
        • SEC
        • SECH
        • SIGN
        • SIN
        • SINH
        • SQRT
        • SQRTPI
        • SUM
        • SUMSQ
        • TAN
        • TANH
        • TRUNC
      • Conditional Functions
        • EQUAL
        • IF
        • ISEMPTY
        • ISNOTEMPTY
        • NOT
      • Currency Functions
        • CURRENCY
        • FORMAT_CURRENCY
        • PARSE_CURRENCY
      • Phone Functions
        • FORMAT_PHONE
        • ISPHONE
        • PARSE_PHONE
      • Email Functions
        • ISEMAIL
      • Number Formatting Functions
        • ARABIC
        • FORMAT_NUMBER
        • PARSE_NUMBER
        • ROMAN
      • Data Type Functions
        • FROM_JSON
        • TO_JSON
        • TYPEOF
      • Asset Functions
        • ASSET_SIZE
        • ASSET_STATE
        • ASSET_THUMBNAIL_URL
        • ASSET_TO_URI
        • ASSET_TYPE
        • URI_TO_ASSET
      • Encoding Functions
        • BASE
        • BASE64_DECODE
        • BASE64_ENCODE
        • HMAC_MD5
        • HMAC_SHA1
        • HMAC_SHA256
        • MD5
        • SHA1
        • SHA256
        • URL_DECODE
        • URL_ENCODE
        • UUID
        • VALUE_OF
      • Error Handling Functions
        • THROW
        • TRY
      • Form and Validation Functions
        • FIRST_VALIDATION
        • RUN_VALIDATIONS
      • Arithmetic Operators
        • Addition (+)
        • Subtraction (-)
        • Multiplication (*)
        • Division (/)
        • Remainder (%)
      • Comparison Operators
        • Equality (=)
        • Inequality (<>, !=)
        • Ordering (<, <=, > , >=)
      • Logical Operators
        • AND
        • OR
        • XOR
        • Null Coalescing Operator (??)
      • Advanced Expressions
        • LET...IN
        • User Defined Functions
    • Web Controls
      • Button
      • Checkbox
      • Chat
      • Simple Checkbox List
      • Container
      • Container List
      • Credit Card
      • Currency Input
      • Date Input
      • Date Picker
      • Dropdown List
      • Email Input
      • Embedded External Content (iFrame)
      • Fieldset Container
      • File Upload
      • Form
      • Hyperlink
      • Image
      • Inline Container
      • Label
      • Map
      • Markdown
      • Number Input
      • Payment Request Button
      • Phone Input
      • Place Search Input
      • Progress Bar
      • QR Code
      • Radio Button
      • Simple Radio List
      • Scheduler
      • Secure String Input
      • Selectable Container
      • Signature Input
      • Text Area
      • Text Input
      • Time Input
      • Web Flow
      • Web Page
    • Voice and Chat Controls
      • Decision Menu
      • Forward Call
      • Secure Touchtone Capture
      • Text Response Capture
      • Touchtone Capture
    • Data Operations
      • AirData Request
        • DELETE
        • PUT
        • INSERT
        • PATCH
        • QUERY
        • DEPRECATED_QUERY
      • Calendar Search
      • Close Conversation
      • Conversation Transcript
      • Create File
      • Delete Assets
      • Download Encoded Asset
      • Early Return
      • Fetch Agent Information
      • Fetch Asset Details
      • Fetch Routing Flow Stats
      • Find Conversations by Customer Identifier
      • Fill PDF Form
      • Google
      • HTML to PDF
      • HTTP Request
        • Using an API With Paging
      • JWT Generation
      • Merge PDF
      • Move Conversation to Routing Flow
      • Opt Out Search
      • Opt Out List
      • Run Data Flow
      • Run Event in Journey
      • Salesforce
      • Secure Value Retrieval
      • Send Email
      • Send Message to Conversation
      • SFTP
      • Start Journey
      • Swagger Schema Validation
      • Transform
      • Update Customer Identifier
      • Wait
      • XML to JSON
      • Zendesk
      • ZIP File
    • Actions
      • Analytics Identify
      • Analytics Send Event
      • Close Modal
      • Condition
      • End Session
      • Extend Session Expiration Time
      • Initialize Actor
      • Log Custom Event
      • Metric: Count
      • Metric: Field
      • Metric: Start Timer
      • Metric: Statistic
      • Metric: Stop Timer
      • Navigate To Web Flow
      • Navigate to Web Page
      • Open Modal
      • Run Data Flow
      • Run Data Flow Repeatedly
      • Run Embedded Outgoing Event
      • Run Event
      • Send Email
      • Send SMS
      • Set Authentication
      • Set Identifier
      • Set Variable
      • Start Chat Bot
      • Start Voice Bot
      • Start Timer
      • Stop Timer
      • Throw
      • Trigger Form Validation
      • Try
    • Conversation Actions
      • Ask A Question
      • Capture User Response
      • Close Conversation
      • Move Customer to Resource
      • Move Conversation to Routing Flow
      • Quick Replies
      • Run Answer Flow
      • Start Conversation Chat Bot
      • Start Conversation
      • Send Link
      • Text Answer
      • Update Customer Identifier
    • Primitive Data Types
      • Any (JSON)
      • Asset
        • Detailed Asset
      • Boolean
      • Currency
      • Date
      • DateTime
      • Email
      • List
      • Null
      • Number
      • Phone
      • Text
      • Time
  • Transportation Products Catalog
    • The Transportation Products API
      • GET products
      • GET product-by-id
  • Release Notes
    • CXR Overview
    • CXR Upgrades and Migrations
Powered by GitBook
On this page
  • Structure
  • Examples

Was this helpful?

  1. Reference Docs
  2. Primitive Data Types
  3. Asset

Detailed Asset

PreviousAssetNextBoolean

Last updated 1 year ago

Was this helpful?

An Asset represents a file within an Airkit Application and contains the information necessary to access that file. This means that there are certain properties an Asset is required to have (which includes properties such as the assetKey and id).

In addition to the required properties, an Asset can also include other properties that describe information such as the file type, size, and state of the Asset. These are not required in order to classify a Data Type as an "Asset", but they are required to classify a Data Type as a "Detailed Asset".

Structure

A Detailed Asset is a subcategory of Asset that contains the following properties in addition to the properties contained by all Assets:

displayName (string) - the filename of the Asset like "textfile.txt" or "myimage.jpg".

description (string) - currently an unused property; will be NULL.

size (number) - the size of the Asset in bytes. The maximum limit is 10 megabytes.

expiration (number) - refers the to the number of milliseconds that the Asset still has before expiration. This value is updated each time the download link is fetched. Private Assets expire after a maximum of seven days. Global Assets do not expire; expiration values associated Global Assets are not valid.

scope (string) - refers to the scope of the Asset. Can have a value of APP, in which case it is tied to the application and be accessed by any instance, or SESSION which means that Asset is tied to the user session. If an Asset contains personal info, it is probably best to ensure the scope is SESSION and if the Asset should be accessible to anyone through , it should be set to APP.

region (string) - specifies where the Asset should be available for public CDNs. This is only relevant to Public assets.

createdTime (string) - Timestamp indicating when the Asset was created.

modifiedTime (string) - Timestamp of the last modification of the Asset.

deletedTime (string) - If the Asset has been deleted, this is the is the timestamp of the deletion time. NULL otherwise.

validationErrors (string) - this message is text generated by Airkit to display errors with creation of Assets, for various reasons like size issues, viruses, and invalid kinds. NULL if no errors.

extraInfo (any) - used by some integrations to store information about the creation of an Asset. You can write to it to store extra information on your Asset. NULL otherwise.

downloadUrl (string) - a URL for downloading this Asset.

thumbnailUrl (string) - the URL for an Asset's thumbnail if it has one. NULL otherwise.

state (string) - to the state of the Data. Available options are "DRAFT", "PENDING", or "ACTIVE".

  • "DRAFT" means the Asset has been declared but hasn't been fully received yet.

  • "PENDING" is the state after the Asset has been fully received, but the server side processing is not yet finished.

  • "ACTIVE" is a fully queryable Asset.

type (string) - refers the MIME type of the Asset. It can be text, image, or any other valid type. Here is a table of supported data types:

Mime Type
Type of Data

image/jpeg

Jpeg Image

image/png

PNG Image

application/pdf

PDF

image/svg+xml

An SVG XML file

image/gif

GIF image

audio/mpeg

MPEG Audio data

audio/mp3

An MP3 file

audio/wav

WAV audio file

video/mp4

MP4 Video file

text/html

HTML file

application/zip

Compressed Zip file

application/pgp-encrypted

First part of PGP encrypted data, body

application/vnd.ms-excel

Microsoft Excel file

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Microsoft Excel (OpenXML)

font/otf

OpenType font

font/ttf

TrueType Font

font/woff

Web Open Font Format (WOFF)

font/woff2

Web Open Font Format (WOFF)

Examples

For the sake of example, assume all of the following Airscript expressions have access to the following Detailed Asset, example_detailed_asset:

example_detailed_asset = {
  "id": "ead7b376-6560-415a-917a-0fb1cc58f3eb",
  "assetKey": "d527500a-502d-463b-8fe0-eddf7397fbe2",
  "organizationId": "8e52c37f-4071-4dbb-8a98-d9096d9b69d2",
  "displayName": "placekitten.jpeg",
  "description": null,
  "type": "image/jpeg",
  "size": 6483,
  "version": 0,
  "expiration": 600000,
  "visibility": "GLOBAL",
  "state": "ACTIVE",
  "scope": "APP",
  "region": "us-west-2",
  "createdTime": "2022-05-02T17:31:27.517Z",
  "modifiedTime": "2022-05-02T17:31:29.187Z",
  "deletedTime": null,
  "validationErrors": null,
  "extraInfo": null,
  "downloadUrl": "https://us.api.prod.airkit.com/internal/assets/8e52c37f-4071-4dbb-8a98-d9096d9b69d2/d527500a-502d-463b-8fe0-eddf7397fbe2/ead7b376-6560-415a-917a-0fb1cc58f3eb/0",
  "thumbnailUrl": "https://us.api.prod.airkit.com/internal/assets/8e52c37f-4071-4dbb-8a98-d9096d9b69d2/d527500a-502d-463b-8fe0-eddf7397fbe2/ead7b376-6560-415a-917a-0fb1cc58f3eb/0_t",
  "storageClass": "v1",
  "hash": "7R9Xl32QisD+9kMlW5nde0ESFiSdO1LCgGwaqL4aXuo=",
  "hashType": "SHA256"
}
ASSET_SIZE(example_detailed_asset) -> 6483

The size of a Detailed Asset can also be referenced with dot notation, such as in the following example. Note that this returns the same value as the example above:

example_detailed_asset.size -> 6483

The following example shows how the thumbnailUrl can be accessed via dot notation by referencing the thumbnailUrl property of example_detailed_asset:

example_detailed_asset.thumbnailUrl -> "https://us.api.prod.airkit.com/internal/assets/8e52c37f-4071-4dbb-8a98-d9096d9b69d2/d527500a-502d-463b-8fe0-eddf7397fbe2/ead7b376-6560-415a-917a-0fb1cc58f3eb/0_t"

The following example shows that the downloadUrl can be referenced similarly:

example_detailed_asset.downloadUrl -> "https://us.api.prod.airkit.com/internal/assets/8e52c37f-4071-4dbb-8a98-d9096d9b69d2/d527500a-502d-463b-8fe0-eddf7397fbe2/ead7b376-6560-415a-917a-0fb1cc58f3eb/0"

A Detailed Asset is returned by the . The also interprets files uploaded by users as Detailed Assets, which is accessible within the Control as event.value.asset.

Detailed Assets are useful when you need to access specific and detailed information pertaining to an Asset, such as its file type, size, or state. Additionally, there are some Airscript Functions, such as and , that require input in the form of a Detailed Asset.

The function takes a Detailed Asset as input and returns the Detail Asset's size in bytes. In the following example, ASSET_SIZE returns the size of example_detailed_asset:

When Assets are collected from users as part of an application flow, it is often useful to display either the thumbnail or the full image of the uploaded Asset shortly after. This can be done by using referencing the thumbnailUrl or downloadUrl property in the Image URL property of an Web Control. Accessing the thumbnailUrl or downloadUrl property of a particular Detailed Asset is done with dot notation.

Media Library
Fetch Asset Details Data Operation
File Upload Control
ASSET_TYPE
ASSET_STATE
ASSET_SIZE
Image