Back to top

Configure AR

Last updated July 26th, 2023

Refer to the following instructions for creating Knox Capture AR templates.

Configure Search-and-find template

To create an AR template that allows users to search for a reference barcode:

  1. Tap the menu button (three vertical dots) next to the search icon on the Knox Capture home screen, then select Augmented reality > Configure AR.

  2. On the template selection screen, tap Search and find.

  3. In AR overlay settings, give your template a name and provide an optional Template URL. The Template URL field is used if you want to connect Knox Capture AR to you product database in order to display additional product information whenever a reference barcode is located. See Connecting AR to a database server for more information.

  4. In Barcode types, select the barcode technologies that you want Knox Capture AR to scan.

  5. Tap Continue to save your template.

    • If you entered a database server address in the Tempalte URL field, you’ll be taken to the AR overlay field selection screen. See Customize AR overlay information to learn more.
    • If you left the URL field empty, you’ll be taken to the AR templates screen.

Configure View-and-update template

To create an AR template that allows users to view product information and make updates to a database after each barcode scan:

  1. Tap the menu buton (three vertical dots) next to the search icon on the Knox Capture home screen, then select Augmented reality > Configure AR.
  2. On the template selection screen, tap View and update.
  3. In AR overlay settings, give your template a name and provide your database server address in the Template URL field. This field is mandatory, and it allows Knox Capture AR to connect to your database in order to view and update product information during each barcode scan. See Connecting AR to a database server for more information.
  4. In Barcode types, select the barcode technologies that you want Knox Capture AR to scan.
  5. Tap Continue to save your template. You’ll be taken to the AR overlay field selection screen. See Customize AR overlay information to learn more.

Customize AR overlay information

After you connect Knox Capture AR to a product database server, the AR overlay can display important product information on-screen whenever a barcode is scanned. This information is presented in a pop-up above the barcode, and contains the following:

  • Title — This is the main text that appears in the pop-up whenever a barcode is scanned.
  • Image — This image appears as a thumbnail in the pop-up, and as a larger image in the product details whenever the user taps the > button.
  • Fields — This information appears in the the product details after the user taps the > button.

To configure the AR overlay information:

  1. On the AR templates screen, find the template that you want to customize and tap the menu button (three vertical dots), then tap Edit.

  2. In Title, select the data that you want to display as the main title in the pop-up.

  3. In Image, select how you want the image to appear — whether a thumbnail or full size image — when the user expands the Product details. Note that this step affects the image in the product details. The thumbnail image always appears in the pop-up, regardless of the size you select.

  4. In Fields, select the information that appears when the user the > button to expand the product details in the pop-up.

    For View-and-update AR templates, admins can specify which fields can be updated by the user by tapping the edit icon (pencil) next to a field name. The edit icon turns blue to indicate fields that can be overwritten. Note that fields only display the edit icon if they were given WRITE permissions in the database.

  5. Tap Done to save the settings.

Connecting AR to a database server

For customers who want to display important product details in the AR overlay every time a barcode is scanned, a connection between Knox Capture and the database server must first be set up.

Enterprise organizations are responsible for setting up their own database servers, either through their own IT departments, or from a third-party vendor of their choosing. This section mainly provides guidelines for setting up the database server, focusing primarily on the REST APIs required for server setup.

REST API guidelines

URI: /login

  • Description: This API is used to check user/client credential requirements.
  • HTTP request method: GET
Request structure Expected HTTP response structure:
/login

Headers:

  • User-Agent: com.samsung.android.app.smartscan/{App_version}
  • (Optional) Authorization: Basic: Base64_encoded{username:password}
  • 200: success
  • 401: invalid/missing credentials
  • Other codes will be treated as connection failure

If 200 is returned without authorization header, the client assumes authorization is not required for other requests. Similarly if authorization is required for this API, then the authorization header will be included for other APIs. In other words, the client assumes all APIs in this table have the same realm or scope of protection.

URI: /arcontentfields

  • Description: This API provides all list of attributes (fields) that can be shown on for an item identified by a barcode.
  • HTTP request method: GET
  • HTTP request content type: application/json
Request structure Expected HTTP response structure:
/arcontentfields

Headers:

  • User-Agent: com.samsung.android.app.smartscan/{App_version}
  • (Optional) Authorization: Basic: Base64_encoded{username:password}
  • 200: success
  • 401: invalid/missing credentials
  • Other codes will be treated as connection failure

Response body for 200 (Success)

            [{
                "fieldName": "identifier of this entry",
                "label": "label for this entry",
                "editable": "editable property for this entry"
                "fieldType": "TEXT/IMAGE_URI"
            }]
            

Description of json fields:

  • fieldName: This field represents the unique identifier of a field/attribute
  • label: This field contains the label (title) to show on client UI for this field.
  • fieldType: Represents the type of data contained in this field
    • TEXT: Represents a text field
    • IMAGE_URI: represents a URI to a downloadable image resource
  • editable: Indicates whether the value of this field can be modified by client or not.
    • true: Indicates this field can be modified
    • false: Indicates this field is read only

Example response:

            [{
                "fieldName": "_id",
                "label": "Item ID",
                "editable": "false"
                "fieldType": "TEXT"
            }, {
                "fieldName": "_price",
                "label": "Sale price",
                "editable": "true"
                "fieldType": "TEXT"
            }, {
                "fieldName": "_image",
                "label": "Image",
                "editable": "false"
                "fieldType": "IMAGE_URI"
            }]
            

URI: /arinfo

  • Description: This API is for retrieving a list of attribute values for an item identified by a barcode.
  • HTTP request method: GET
  • HTTP request content type: application/json
Request structure Expected HTTP response structure:
/arinfo

Headers:

  • User-Agent: com.samsung.android.app.smartscan/{App_version}
  • (Optional) Authorization: Basic: Base64_encoded{username:password}
  • 200: success
  • 401: invalid/missing credentials
  • Other codes will be treated as connection failure

Response body for 200 (Success)

            [{
                "fieldName": "identifier of this entry",
                "label": "label for this entry",
                "value": "the attribute/field value for this entry",
                "editable": "editable property for this entry"
                "fieldType": "TEXT/IMAGE_URI"
            }]
            

Example response:

            [{
                "fieldName": "_id",
                "label": "Item ID",
                "editable": "false"
                "fieldType": "TEXT"
            }, {
                "fieldName": "_price",
                "label": "Sale price",
                "editable": "true"
                "fieldType": "TEXT"
            }, {
                "fieldName": "_image",
                "label": "Image",
                "editable": "false"
                "fieldType": "IMAGE_URI"
            }]
            

URI: /arinfo

  • Description: API for updating one or more values of attributes (fields) returned from GET /arInfo API. (Optional API if all attributes are readonly.)
  • HTTP request method: POST
  • HTTP request content type: application/json
Request structure Expected HTTP response structure:
/arinfo?barcode={barcode value}

Headers:

  • User-Agent: com.samsung.android.app.smartscan/{App_version}
  • (Optional) Authorization: Basic: Base64_encoded{username:password}

Body

            [{
                "fieldName": "identifier of this entry",
                "label": "label for this entry",
                "value": "the attribute/field value for this entry",
                "editable": "editable property for this entry"
                "fieldType": "TEXT/IMAGE_URI"
            }]
            

Example body:

            [{
                "fieldName": "_id",
                "label": "Item ID",
                "editable": "false"
                "fieldType": "TEXT"
            }, {
                "fieldName": "_price",
                "label": "Sale price",
                "editable": "true"
                "fieldType": "TEXT"
            }, {
                "fieldName": "_image",
                "label": "Image",
                "editable": "false"
                "fieldType": "IMAGE_URI"
            }]
            
  • 200: success
  • 401: invalid/missing credentials
  • 404: unknown barcode
  • Other codes will be treated as connection failure

Is this page helpful?