Integrating INSIGHT Photo Mode into your own Application
Seamless Photo Documentation with ProGlove INSIGHT Enhance
When it comes to handling high-value goods, returns, or secure loading in logistics operations, the ability to capture visual proof is a powerful tool. With the Photo Documentation feature in INSIGHT Enhance, ProGlove enables shopfloor workers to take process-relevant images directly from their wearable scanner — without disrupting their workflow.
This post explores how the feature works, how to configure it, how image data flows into the ProGlove INSIGHT platform, and how to access it programmatically for downstream use in your own environment.
Why Photo Documentation Matters
Photo Documentation provides a quick, reliable way to:
- Record exceptions, such as broken items or misplaced inventory
- Verify secure handling of high-value or sensitive goods
- Capture proof of delivery or load carrier conditions at dispatch
This can reduce costly disputes, increase accountability, and streamline operations by removing manual steps like using clipboards or smartphones.
How It Works
Photo capture is triggered through a workflow on the scanner (e.g., via button press or after a scan event). The image is uploaded via a connected Android gateway running the ProGlove INSIGHT Mobile app.
These images are then:
- Attached to a photo report within the INSIGHT platform
- Linked to metadata like device ID, location, timestamp and last scanned barcode
- Available for download via the REST API
Configuration Steps
To enable Photo Documentation:
- Set up an Android Device with INSIGHT Mobile (most recent version recommended) — or a ProGlove Gateway (Gateway Plus recommended for best performance)
- Create or edit a Device Configuration in INSIGHT. In the configuration, add a Workflow Rule to trigger a photo report on specific scan events or on double/triple tap. Assign this configuration to the relevant devices or levels to activate the feature.
Ensure the Android Device has a network connection and is permitted to upload images to INSIGHT.
Accessing Photo Reports via the API
Once uploaded, photo reports can be accessed via the ProGlove INSIGHT API or directly through the INSIGHT frontend at insight.proglove.com. Here’s how to retrieve and download them programmatically.
Step 1: Authenticate with INSIGHT
In this section, we’ll walk through a sample Python script to authenticate with the ProGlove INSIGHT API. This code uses AWS Cognito to obtain a valid token required for authorized access to photo reports. Make sure to set your INSIGHT_USERNAME
and INSIGHT_PASSWORD
as environment variables before running the script.
import requests
import os
import json
from urllib.parse import urlparse, parse_qs
# Replace these values with your own customer-specific details
# You can find them at:
# https://insight.proglove.com/account-settings?tab=integration (base_url, cognito_url)
# https://insight.proglove.com/account-settings?tab=details (customer_id)
customer_id = os.environ.get("INSIGHT_CUSTOMER_ID")
username = os.environ.get("INSIGHT_USERNAME")
password = os.environ.get("INSIGHT_PASSWORD")
cognito_url = os.environ.get("COGNITO_URL")
base_url = os.environ.get("INSIGHT_BASE_URL")
# Get Auth Info
auth_pool_url = f"{base_url}/auth-information?id={customer_id}"
response = requests.get(auth_pool_url)
user_pool_client_id = response.json().get("user_pool_client_id")
# Login
login_url = f"{cognito_url}/login"
headers = {
"Content-Type": "application/x-amz-json-1.1",
"X-Amz-Target": "AWSCognitoIdentityProviderService.InitiateAuth"
}
body = {
"AuthFlow": "USER_PASSWORD_AUTH",
"ClientId": user_pool_client_id,
"AuthParameters": {
"USERNAME": username,
"PASSWORD": password
}
}
response = requests.post(login_url, headers=headers, json=body)
id_token = response.json()["AuthenticationResult"]["IdToken"]
Step 2: Fetch Reports with Pagination
Now that we have a valid authentication token, we can start querying the photo reports. This example demonstrates how to use the ProGlove INSIGHT API to paginate through available reports. Each report contains metadata and references to any image attachments captured through the workflow.
The code initializes a list to collect reports, constructs the API URL, and continues fetching results as long as there is a next_token indicating more pages. This ensures you retrieve all available photo reports even if the number exceeds a single page of API results.
photo_reports = []
photos_url = f"{base_url}/{customer_id}/reports?level_id=_"
headers = {"Authorization": id_token}
while photos_url:
response = requests.get(photos_url, headers=headers)
data = response.json()
photo_reports.extend(data.get("items", []))
next_link = data.get("links", {}).get("next")
if next_link:
next_token = parse_qs(urlparse(next_link).query).get("next_token", [None])[0]
photos_url = f"{base_url}/{customer_id}/reports?level_id=_&next_token={next_token}"
else:
break
Step 3: Download Photo Attachments
Once the list of photo reports is retrieved, each report may include one or more image attachments. These attachments are stored as accessible URLs that can be fetched using a simple HTTP GET request. This step of the script iterates over each report, retrieves its full metadata from the API, then loops through all attachments and saves the binary image data to local files.
This enables you to programmatically archive image evidence of shipping conditions, product damages, or other exception scenarios directly into your internal systems or audit processes.
for report in photo_reports:
report_id = report.get("id")
report_url = f"{base_url}/{customer_id}/reports/{report_id}"
report_data = requests.get(report_url, headers=headers).json()
for attachment in report_data.get("attachments", []):
img_data = requests.get(attachment.get("url")).content
with open(f"photo_{report_id}_{attachment['attachment_sort_key']}.jpg", "wb") as f:
f.write(img_data)
Summary
INSIGHT Enhance’s Photo Documentation allows organizations to seamlessly integrate visual documentation into their logistics process — from damage reporting to loading verification. Through the ProGlove INSIGHT API, these images and associated metadata can be accessed securely and efficiently for integration into your internal systems.
With just a few lines of Python, teams can unlock powerful traceability and drive operational accountability without disrupting workflows.