Skip to main content
shopMaster syncs your local product database with Digible’s cloud platform. You need an active Digible account to use the sync features.

Connect your account

Navigate to the Settings page to enter your Digible credentials.
1

Enter credentials

Provide your Digible account information:
Digible Email
string
required
The email address associated with your Digible account
Digible Password
string
required
Your Digible account password (displayed as asterisks for security)
# From main.py:126-136
tk.Label(settings_frame, text="Digible Email:").grid(row=0, column=0, padx=10, pady=10, sticky="e")
digible_username_entry = tk.Entry(settings_frame, width=30, textvariable=digible_username_var)

tk.Label(settings_frame, text="Digible Password:").grid(row=1, column=0, padx=10, pady=10, sticky="e")
digible_password_entry = tk.Entry(settings_frame, width=30, textvariable=digible_password_var, show="*")
2

Test the connection

Click Test Connection to verify your Digible credentials.shopMaster sends a login request to the Digible API:
# From helper.py:207-227
url = 'https://api.digible.one/v1/business/account/auth/login'

data = {
    "email": username,
    "password": password
}

response = requests.post(url, json=data)

if response.status_code == 200:
    return_data = response.json()
    access_token = return_data["data"]["token"]
    message = return_data["message"]
You’ll see a message indicating whether the login succeeded or failed.
3

Save your credentials

Click Configure to save your settings. shopMaster will:
  • Authenticate with Digible and retrieve an access token
  • Store the token in your .env file
  • Prepare your database for syncing
# From main.py:213-221
token = digible_connect(digible_username, digible_password)["token"]

with open(".env", "w") as env_file:
    env_file.write(f"access_token={token}\n")

Access token

When you configure shopMaster, it retrieves a JWT (JSON Web Token) from Digible’s API. This token authenticates all sync requests:
# From helper.py:118-134 (uploadInsertedContent)
url = 'https://api.digible.one/v1/business/stores/product/sync'
token = os.getenv('access_token')

headers = {
    'x-access-token': token,
    'Content-Type': 'application/json'
}

response = requests.post(url, data=product_json, headers=headers)
The token is stored in your .env file:
access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Your access token grants access to your Digible account. Keep your .env file secure and never share it.

Token expiration

Digible access tokens have an expiration time. shopMaster automatically checks token validity before syncing:
# From helper.py:243-257
def is_token_expired():
    token = os.getenv("access_token")
    try:
        decoded_token = jwt.decode(token, options={"verify_signature": False})
        exp_timestamp = decoded_token.get('exp')
        current_timestamp = int(time.time())
        
        if exp_timestamp and current_timestamp >= exp_timestamp:
            return True
        else:
            return False
    except Exception as e:
        return f"invalid token {e}"

When your token expires

If your token expires, shopMaster will:
  • Stop automatic syncing
  • Display “User Session expired please reconfigure” on manual sync attempts
  • Prevent product uploads
To renew your token, go to Settings and click Configure again. This re-authenticates with Digible and issues a new token.

API endpoints

shopMaster uses these Digible API endpoints:
EndpointPurpose
POST /v1/business/account/auth/loginAuthenticate and retrieve access token
POST /v1/business/stores/product/syncUpload new products
PUT /v1/business/stores/product/external/updateUpdate existing products
All requests include your access token in the x-access-token header.

Troubleshooting

Login failed

  • Verify your email and password are correct
  • Check that you have an active Digible account
  • Ensure you have internet connectivity

Session expired errors

  • Your access token has expired
  • Return to Settings and click Configure to re-authenticate
  • shopMaster will issue a fresh token

Connection timeout

  • Check your internet connection
  • Verify you can access https://api.digible.one from your network
  • Check if a firewall is blocking outbound HTTPS requests
See the troubleshooting guide for more help.

Build docs developers (and LLMs) love