AccountScan

Attributes

Asset

Assets store information on a physical or digital object which in turn is usually represented by a QR Code. Assets allow you to organize your QR Codes in a Project.

Custom attributes allow you to add any additional information that you would like to be stored along with the asset. For example, in our real estate listing, we would like to include a custom attribute that has the listing ID of the property along with the type of listing (Sale vs Rental).

Note: The name of an Asset cannot be updated after creation.

Attributes

AssetContact

This entity is created whenever a Contact is created against an Asset. A contact can also be linked or unlinked to an Asset by using the LinkContactToAsset and UnlinkContactToAsset functions.

Attributes

AssetHistory

Attributes

Contact

Create and store customer Contacts once a QR code is scanned. Capture customer consent and programmatically send communications via text or email!

As QR Codes are typically scanned by people, it can be helpful to capture information about individuals scanning specific QR Codes. Openscreen provides the native ability to store Contact objects.

Developers may want to have a QR Code direct a user to a form to fill out information for marketing purposes. Openscreen’s Contact object provides a simple way to capture Contact information and correlate these Contacts back to specific projects, Scans or Assets.

Consent

Contact objects have an optional field used to store consent given from the user. The consent field provides visibility of contacts subscribing, unsubscribing, and resubscribing to communications by keeping a record of all previous forms of consent along with a timestamp of when they were given. The last object within the consent array is the most recent consent status that has been added.

As a developer, it is your responsibility to enforce any anti-spam legislation in the region(s) that you operate in.

Cell Phone

Contact cell phone numbers must be input using the E. 164 International Standard for Phone Numbers:

[+][country code][area code][local phone number] Example: +16478225146

Attributes

ContactAccountCustomConsent

Attributes

ContactAccountDataConsent

Attributes

ContactAccountEmailConsent

Attributes

ContactAccountSmsConsent

Attributes

ContactConsent

ContactConsent entity captures a customer's consent to your communications and/or data collection policies. As an application developer using Openscreen, it is your responsibility to capture appropriate consent before communications are sent. Openscreen communications will fail if a Contact does not have a valid Consent.

For a valid Consent, the scope of the consent applies at the account level by default. This would be valid across all your projects. To limit Consent scope to an Openscreen Project, you may pass a valid projectId is passed in the ContactConsent object.

Attributes

ContactMailingAddress

Object representing the mailing address of a Contact.

Attributes

ContactProjectCustomConsent

Attributes

ContactProjectDataConsent

Attributes

ContactProjectEmailConsent

Attributes

ContactProjectSmsConsent

Attributes

LastScan

Attributes

NestedAsset

Represents the Asset object.

Attributes

NestedContact

Represents an Openscreen Contact object.

Attributes

NestedQrCode

A QR Code object. Using this object, you may create a QR code in the same call as creating an Asset.

Attributes

Project

Projects encapsulate an entire campaign including Assets, QR Codes and Scans, capturing first-party data from customer touch points.

In the example of an ad campaign, a Project would represent the campaign itself, containing multiple Assets, gathering scan data which is directly relevant to the ad campaign. A future ad campaign should be instantiated with a new Project.

Attributes

ProjectAccount

Attributes

ProjectContact

This entity is created whenever a Contact is against a Project. While Contacts always reside in the Openscreen Account, this entity helps associate a Contact to a Project.

Attributes

ProjectEmailContact

Attributes

ProjectPhoneContact

Attributes

ProjectScan

Attributes

QrCode

Create and update dynamic QR Codes programatically and start building engaging solutions. Generate valuable data each time the QR code is scanned.

Openscreen QR Codes are created against an Asset. They can be created at the same time as an Asset, or they can be created after the fact against an existing assetId. An Asset Object represents the physical object being scanned and the QR Code Object determines the operation being performed when a QR Code image is scanned.

Openscreen offers both static and dynamic QR Codes:

Dynamic QR Codes can be tracked, updated, and modified over their lifecycle. They can redirect a user to a different location based on the status of a QR Code, who the scanner is, and much more. Dynamic QR Codes provide the capabilities for asset and contact management of physical and digital products.

Static QR Codes are the most basic QR Code available. They can redirect a user to a URL, send an email, or send an SMS. Static QR Codes do not offer tracking capabilities such as providing visibility on the number of scans, location of scans, or who is scanning it.

Bulk QR Generation: Using the Openscreen platform you can bulk generate up to 150 unique QR Codes at once.

Intent and Intent State

Dynamic QR Codes can be programmed using the Intent State and Intent attributes. An Intent State can be used to determine how a user is redirected when they scan a QR Code. For example, if you have a product that does not have an owner, set the Intent State to "Pending Ownership". The Intent State can be changed to "Owner" once a user has claimed ownership of the product. The Intent attribute allows you to input an operation that will determine how a QR Code reacts when it is scanned. For example, if the person scanning the QR Code is the owner of the product then they can access all of the information on his/her product and have the capability to transfer ownership. If the person scanning the QR Code is not the owner, then he/she can be presented with the basic product information along with the owner's name.

Intent Types

There are 2 different intent types that can be used for your QR Code. The intent type determines the type of redirect that will occur when a QR Code is scanned.

The 2 intent types are:

  • STATIC_REDIRECT: Redirect a user directly to the intent address without capturing any information.

  • DYNAMIC_REDIRECT: Redirect a user to the intent address while first capturing scan data and generating a Scan Object. Using Dynamic Redirect, there are no changes or updates made to a QR Code.

Dynamic Redirect Types

  • NO_SCAN_ID: The user is redirected to the QR Code intent and a Scan Object is generated.

  • SCAN_ID_IN_PATHPARAMETER: The user is redirected to the QR Code intent and a Scan Object is captured. The Scan ID will be added to the URL as a path parameter. This means that when a user scans the QR Code, the scanId will be appended to the intent (URL) that the scanner is directed to upon scan. For example, if the intent of the web application that you created has the URL 'https://www.myrealestatelisting.com'. The user will be taken to a final destination of 'https://www.myrealestatelisting.com/scanId'. Example: 'https://www.myrealestatelisting.com/c262c53e-3ec0-4f48-823e-de5539dd85dc'. Choosing this QR Code parameter will allow your application to understand which QR Code was scanned when taking the user to your web application. Knowing which QR Code was scanned will allow you to create asset & contact relationships, update your QR Code, and much more.

  • SCAN_ID_IN_QUERY_STRING_PARAMETER: The user is redirected to the QR Code intent and a Scan Object is captured. The Scan ID will be added to the URL as a query string parameter. This means that when a user scans the QR Code, the scanId will be appended to the intent (URL) that the scanner is directed to upon scan. For example, if the intent of the web application that you created has the URL 'https://www.myrealestatelisting.com'. The user will be taken to a final destination of 'https://www.myrealestatelisting.com?scanId'. Example: https://www.myrealestatelisting.com?c262c53e-3ec0-4f48-823e-de5539dd85dc. Choosing this QR Code parameter will allow your application to understand which QR Code was scanned when taking the user to your web application. Knowing which QR Code was scanned will allow you to create asset & contact relationships, update your QR Code, and much more.

Status - Inactive vs. Active

QR Codes can be toggled between Active and Inactive. This feature can be particularly useful when using QR Codes for dynamic campaigns. When a QR Code is made Inactive, the individual who scans it is no longer brought to the pre-established intent for that QR Code; instead, the individual is redirected to a page informing them that the QR Code is not currently active. Inactive QR Codes do not track scan data allowing for data tracking only when the campaign is active. When the campaign is up and running again, the QR Code can be brought back to an Active status and when it is scanned, the individual is brought to the intent (destination) of the QR Code upon scanning. Toggling between an Active and Inactive status can increase the longevity of QR Codes and reduce costs associated with creating and distributing new physical QR Codes for each campaign. When QR Codes are created they are automatically set to an Active status.

Attributes

QrCodeImage

Entity representing a QR Code Image including any ImageOptions that may be applied.

Attributes

QrCodeImageOptions

This object corresponds to the possible customizations for a QR Code. All attributes for this object have default values which would generate a typical QR Code.

ImageOptions can be passed at the time of creation of a QR Code or when fetching a QR Code using the GetAsset, GetQrCodesByAssetId and GetQRCode, functions. Passing ImageOptions when fetching a QR code will add the customizations to the QR code. This does not overwrite any existing ImageOptions. Passing ImageOptions in the UpdateQRCode or UpdateAsset functions will overwrite the existing ImageOptions, if any.

In order to revert a QR code to the default settings, you must call the UpdateQRCode function with an empty ImageOptions object.

Attributes

QrCodeLocator

Attributes

QrCodeStylingTemplate

Attributes

ResponseAsset

Enveloped Asset object.

Attributes

ResponseBodyUser

Attributes

ResponseQrCode

Attributes

Scan

Scan objects are created each time a dynamic QR Code is scanned. They capture information on the user scanning the QR code which is displayed on your dashboard.

Scans can be identified using their unique scanId which is generated for each new scan. The Scan data is updated in real-time, making it useful to gather customer data.

Attributes

ScanContact

This entity is created whenever a Contact is created against a ScanId. This allows you to associate a Contact to a QR Code Scan, which allows you to create SMS and Email workflows.

Attributes

Sms

Create engaging workflows for your customers with the ability to send SMS communications to consented Contacts using Openscreen's SDKs.

Openscreen SMS messages are associated with a dynamic QR Code scan. In order to send an SMS, an SMS templates must be created and a valid Contact (containing a phone-number and SMS consent) must exist. An SMS Template is simply a standardized message to be sent upon scan. After the SMS template is created, a user can trigger the SMS to be sent to Contact(s) right after a QR Code is scanned.

Attributes

SmsResponse

Attributes

SmsTemplate

Attributes

CreateProjectByAccountIdPathParameters

Attributes

CreateProjectByAccountIdRequestBody

Attributes

CreateProjectByAccountIdResponseBody

Attributes

CreateQrCodeLogoByAccountPathParameters

Attributes

CreateQrCodeLogoByAccountRequestBody

Attributes

CreateQrCodeLogoByAccountResponseBody

Attributes

CreateQrCodeStylingTemplateByAccountPathParameters

Attributes

CreateQrCodeStylingTemplateByAccountRequestBody

Attributes

CreateQrCodeStylingTemplateByAccountResponseBody

Attributes

DeleteContactsByAccountIdPathParameters

Attributes

DeleteContactsByAccountIdQueryStringParameters

Attributes

DeleteContactsByAccountIdResponseBody

Attributes

GetAssetsByAccountIdPathParameters

Attributes

GetAssetsByAccountIdQueryStringParameters

Attributes

GetAssetsByAccountIdResponseBody

Attributes

GetConsentByAccountIdPathParameters

Attributes

GetConsentByAccountIdQueryStringParameters

Attributes

GetConsentByAccountIdResponseBody

Attributes

GetContactsByAccountIdPathParameters

Attributes

GetContactsByAccountIdQueryStringParameters

Attributes

GetContactsByAccountIdResponseBody

Attributes

GetProjectsByAccountIdPathParameters

Attributes

GetProjectsByAccountIdQueryStringParameters

Attributes

GetProjectsByAccountIdResponseBody

Attributes

GetQrCodeLogosByAccountIdPathParameters

Attributes

GetQrCodeLogosByAccountIdQueryStringParameters

Attributes

GetQrCodeLogosByAccountIdResponseBody

Attributes

GetQrCodeStylingTemplatesByAccountIdPathParameters

Attributes

GetQrCodeStylingTemplatesByAccountIdQueryStringParameters

Attributes

GetQrCodeStylingTemplatesByAccountIdResponseBody

Attributes

GetQrCodesByAccountIdPathParameters

Attributes

GetQrCodesByAccountIdQueryStringParameters

Attributes

GetQrCodesByAccountIdResponseBody

Attributes

GetScansByAccountIdPathParameters

Attributes

GetScansByAccountIdQueryStringParameters

Attributes

GetScansByAccountIdResponseBody

Attributes

UploadQrCodeLogoByAccountPathParameters

Attributes

UploadQrCodeLogoByAccountRequestBody

Attributes

UploadQrCodeLogoByAccountResponseBody

Attributes

CreateContactByAssetIdPathParameters

Attributes

CreateContactByAssetIdRequestBody

Attributes

CreateContactByAssetIdResponseBody

Attributes

CreateQrCodeByAssetIdPathParameters

Attributes

CreateQrCodeByAssetIdRequestBody

Attributes

CreateQrCodeByAssetIdResponseBody

Attributes

DeleteAssetPathParameters

Attributes

DeleteAssetResponseBody

Attributes

GetAssetPathParameters

Attributes

GetAssetQueryStringParameters

Attributes

GetAssetResponseBody

Attributes

GetAssetHistoryPathParameters

Attributes

GetAssetHistoryQueryStringParameters

Attributes

GetAssetHistoryResponseBody

Attributes

GetContactsByAssetIdPathParameters

Attributes

GetContactsByAssetIdQueryStringParameters

Attributes

GetContactsByAssetIdResponseBody

Attributes

GetQrCodesByAssetIdPathParameters

Attributes

GetQrCodesByAssetIdQueryStringParameters

Attributes

GetQrCodesByAssetIdResponseBody

Attributes

GetScansByAssetIdPathParameters

Attributes

GetScansByAssetIdQueryStringParameters

Attributes

GetScansByAssetIdResponseBody

Attributes

LinkContactToAssetPathParameters

Attributes

LinkContactToAssetRequestBody

Attributes

LinkContactToAssetResponseBody

Attributes

UnlinkContactToAssetPathParameters

Attributes

UpdateAssetPathParameters

Attributes

UpdateAssetRequestBody

Attributes

UpdateAssetResponseBody

Attributes

CreateConsentByContactIdPathParameters

Attributes

CreateConsentByContactIdRequestBody

Attributes

CreateConsentByContactIdResponseBody

Attributes

DeleteConsentByContactIdPathParameters

Attributes

DeleteConsentByContactIdQueryStringParameters

Attributes

DeleteConsentByContactIdResponseBody

Attributes

DeleteContactPathParameters

Attributes

DeleteContactResponseBody

Attributes

GetConsentByContactIdPathParameters

Attributes

GetConsentByContactIdQueryStringParameters

Attributes

GetConsentByContactIdResponseBody

Attributes

GetContactPathParameters

Attributes

GetContactResponseBody

Attributes

GetContactExportByContactIdPathParameters

Attributes

GetContactExportByContactIdQueryStringParameters

Attributes

GetContactExportByContactIdResponseBody

Attributes

GetScansByContactIdPathParameters

Attributes

GetScansByContactIdResponseBody

Attributes

LinkContactToScanPathParameters

Attributes

LinkContactToScanResponseBody

Attributes

UpdateContactPathParameters

Attributes

UpdateContactRequestBody

Attributes

UpdateContactResponseBody

Attributes

CreateAssetByProjectIdPathParameters

Attributes

CreateAssetByProjectIdRequestBody

Attributes

CreateAssetByProjectIdResponseBody

Attributes

CreateAssetsByProjectIdPathParameters

Attributes

CreateAssetsByProjectIdRequestBody

Attributes

CreateAssetsByProjectIdResponseBody

Attributes

CreateContactByProjectIdPathParameters

Attributes

CreateContactByProjectIdRequestBody

Attributes

CreateContactByProjectIdResponseBody

Attributes

CreateContactsByProjectIdPathParameters

Attributes

CreateContactsByProjectIdRequestBody

Attributes

CreateContactsByProjectIdResponseBody

Attributes

CreateSmsTemplateByProjectIdPathParameters

Attributes

CreateSmsTemplateByProjectIdRequestBody

Attributes

CreateSmsTemplateByProjectIdResponseBody

Attributes

DeleteContactsByProjectIdPathParameters

Attributes

DeleteContactsByProjectIdQueryStringParameters

Attributes

DeleteContactsByProjectIdResponseBody

Attributes

DeleteProjectPathParameters

Attributes

DeleteProjectResponseBody

Attributes

DeleteSmsTemplateByProjectIdPathParameters

Attributes

DeleteSmsTemplateByProjectIdResponseBody

Attributes

GetAssetsByProjectIdPathParameters

Attributes

GetAssetsByProjectIdQueryStringParameters

Attributes

GetAssetsByProjectIdResponseBody

Attributes

GetConsentByProjectIdPathParameters

Attributes

GetConsentByProjectIdQueryStringParameters

Attributes

GetConsentByProjectIdResponseBody

Attributes

GetContactsByProjectIdPathParameters

Attributes

GetContactsByProjectIdQueryStringParameters

Attributes

GetContactsByProjectIdResponseBody

Attributes

GetProjectByProjectIdPathParameters

Attributes

GetProjectByProjectIdResponseBody

Attributes

GetQrCodesByProjectIdPathParameters

Attributes

GetQrCodesByProjectIdQueryStringParameters

Attributes

GetQrCodesByProjectIdResponseBody

Attributes

GetScansByProjectIdPathParameters

Attributes

GetScansByProjectIdQueryStringParameters

Attributes

GetScansByProjectIdResponseBody

Attributes

GetSmsTemplateByProjectIdPathParameters

Attributes

GetSmsTemplateByProjectIdResponseBody

Attributes

GetSmsTemplatesByProjectIdPathParameters

Attributes

GetSmsTemplatesByProjectIdQueryStringParameters

Attributes

GetSmsTemplatesByProjectIdResponseBody

Attributes

UpdateProjectByProjectIdPathParameters

Attributes

UpdateProjectByProjectIdRequestBody

Attributes

UpdateProjectByProjectIdResponseBody

Attributes

UpdateSmsTemplatePathParameters

Attributes

UpdateSmsTemplateRequestBody

Attributes

UpdateSmsTemplateResponseBody

Attributes

GetQrCodeLogoByQrCodeLogoIdPathParameters

Attributes

GetQrCodeLogoByQrCodeLogoIdResponseBody

Attributes

UpdateQrCodeLogoByQrCodeLogoIdPathParameters

Attributes

UpdateQrCodeLogoByQrCodeLogoIdRequestBody

Attributes

UpdateQrCodeLogoByQrCodeLogoIdResponseBody

Attributes

DeleteQrCodePathParameters

Attributes

DeleteQrCodeResponseBody

Attributes

GetQrCodePathParameters

Attributes

GetQrCodeQueryStringParameters

Attributes

GetQrCodeResponseBody

Attributes

UpdateQrCodePathParameters

Attributes

UpdateQrCodeRequestBody

Attributes

UpdateQrCodeResponseBody

Attributes

CreateContactByScanIdPathParameters

Attributes

CreateContactByScanIdRequestBody

Attributes

CreateContactByScanIdResponseBody

Attributes

GetScanPathParameters

Attributes

GetScanResponseBody

Attributes

SendSmsByScanIdPathParameters

Attributes

SendSmsByScanIdRequestBody

Attributes

SendSmsByScanIdResponseBody

Attributes

DeleteQrCodeStylingTemplateByStylingTemplateIdPathParameters

Attributes

DeleteQrCodeStylingTemplateByStylingTemplateIdResponseBody

Attributes

GetQrCodeStylingTemplateByStylingTemplateIdPathParameters

Attributes

GetQrCodeStylingTemplateByStylingTemplateIdResponseBody

Attributes

UpdateQrCodeStylingTemplateByStylingTemplateIdPathParameters

Attributes

UpdateQrCodeStylingTemplateByStylingTemplateIdRequestBody

Attributes

UpdateQrCodeStylingTemplateByStylingTemplateIdResponseBody

Attributes

DeleteSessionApiKeySessionResponseBody

Attributes

GetSessionRequestBody

Attributes

GetSessionApiKeySessionResponseBody

Attributes

GetSessionRefreshApiKeySessionResponseBody

Attributes