This is an old revision of the document!
Table of Contents
This system is in development
But over some time it should replace CasperVend for me and maybe others.
π¦ Merchant System Overview
This system is a modular web-based platform for managing virtual product sales, deliveries, and transaction tracking. It is designed for merchants in Second Life.
π§Ύ Core Features
- Product catalog management
- Transaction history and manual logging
- Redelivery of purchased items
- Customer purchase lookup
- Vendor control and product assignment
- Delivery box registration and cleanup
- Script-accessible product browsing
- Automatic transaction recording via HTTP
π¦ Product Management
Merchants can:
- View all products in a table
- Add, edit, or delete products
- Deliver products manually to customers
- Assign products to vendors
Each product includes:
- Name, version, price
- Permissions (copy, modify, transfer)
- Creator and image UUID
π§Ύ Transaction History
Merchants can:
- View all past deliveries
- Add new transactions manually
- Delete incorrect entries
- Redeliver products to previous buyers
Each transaction stores:
- Product name, quantity, price
- Sender and recipient info
- Source, location, and timestamp
π§ Customer Lookup
Merchants can:
- Search for a customer by name
- View all products delivered to them
- Redeliver any item with one click
π Vendor Management
Merchants can:
- View all registered vendors
- Assign products via dropdown
- Send commands to vendors:
- online / offline
- refresh / mark / hovertext
- changeproduct
Each vendor includes:
- Region, position, product, price
- Image preview and creator info
π¦ Delivery Boxes
Merchants can:
- View all delivery boxes
- See region, position, and creator
- Delete boxes from the system
π Transaction Endpoint
External systems can:
- Send GET requests to record transactions
- Include product, payer, receiver, and payment info
- Automatically store the transaction in the merchantβs database
π My Vendors Usage Guide
This guide explains how merchants use the βMy Vendorsβ interface to manage in-world vendor objects, assign products, and send commands to update their behavior.
π§ Overview
The βMy Vendorsβ page displays all vendor objects registered by the merchant. Each vendor includes:
- Region and position
- Product name and image
- Price
- Action buttons for remote control
π Viewing Vendors
Each row in the vendor table shows:
- Region β the simulator name
- Position β coordinates in-world
- Picture β product image (UUID-based)
- Product β currently assigned product
- Price β listed price in L$
- Actions β buttons to control the vendor
π Changing Products
To assign a new product to a vendor:
- Use the dropdown menu in the Product column
- Select a product from your catalog
π§ Vendor Commands
Each vendor can receive the following commands:
π’ online β mark vendor as active
π΄ offline β mark vendor as inactive
β» refresh β reload vendor state
β mark β highlight or flag the vendor inworld
hovertext β update hover text display
To send a command:
Click the corresponding button in the Actions column
ποΈ Deleting Vendors
To remove a vendor:
Click the ποΈ Delete button
Confirm the prompt
The vendor is deleted from your database
This does not affect the in-world object directly.
π¦ My Delivery Boxes Usage Guide
This guide explains how merchants use the βMy Delivery Boxesβ interface to view and manage their in-world delivery boxes.
π§ Overview
The βMy Delivery Boxesβ page displays a list of all delivery boxes registered by the merchant. Each box includes:
- Region and position in-world
- Creator name
- A delete option
Boxes are stored in the merchantβs personal `boxes.db` file.
π Viewing Boxes
Each row in the table shows:
- Region β the simulator name where the box is located
- Position β the coordinates of the box within the region
- Creator β the name of the avatar who created the box
This view helps merchants track where their boxes are placed.
ποΈ Deleting Boxes
To remove a box from the list:
- Click the ποΈ Delete icon next to the box
- A confirmation prompt will appear
- If confirmed, the box is removed from the database
This action does not affect the in-world object directly β it only removes the entry from the merchantβs system.
π¦ My Products Usage Guide
This guide explains how merchants use the βMy Productsβ interface to manage their product catalog, deliver items to customers, and edit or remove listings.
π§ Overview
The βMy Productsβ page displays all items listed in the merchant's product database. Each product includes its name, version, price, image, permissions, and creator. Merchants can:
- View all products in a table
- Deliver any product to a customer
- Edit or delete product entries
- Add new products via a separate form
π Viewing Products
When the page loads:
- All products are shown in a table with the following columns:
- Product ID
- Name and version
- Price (in L$)
- Image preview (from Second Life UUID)
- Permissions: β or β for copy, modify, transfer
- Creator name
- Action buttons: βοΈ Edit, ποΈ Delete, π¦ Deliver
π¦ Delivering Products
To deliver a product:
- Click the Deliver button next to the product
- A prompt appears asking for the recipient's name
- Once entered, the product is sent to all delivery boxes listed in `user_<merchant>_boxes.db`
Success and failure counts are displayed after delivery
βοΈ Editing Products
To update a product:
Click the βοΈ Edit icon next to the product
Modify fields like name, version, price, image, permissions
ποΈ Deleting Products
To remove a product:
Click the ποΈ Delete icon next to the product
A confirmation prompt appears
If confirmed, the product is deleted from the database
β Adding New Products
To add a new item:
Click the β Add New Product button
Youβll be redirected to a form:
Fill out the form with:
Product name and version
Price
Image UUID
Permissions (copy, modify, transfer)
π Notes
Product images are loaded from Second Life using the UUID stored in productpicture
Delivery boxes must be configured before delivery works
All actions are performed per merchant
π¦ Merchant System Usage Guide
This guide explains how merchants and external scripts interact with the delivery and transaction system. It covers redelivery, transaction management, customer lookup, and product access.
π§Ύ Viewing Transactions
To view your transaction history:
- Open Transactions
- Youβll see a paginated list of all deliveries made
- Each row shows:
- Product name
- Recipient name
- Quantity and price
- Delivery source and location
- Use the β Add Transaction form to manually log a sale
- Use ποΈ Delete to remove a transaction
- Use π¦ Redeliver to resend a product to the original recipient
β Adding a Transaction
Fill out the form:
- Required fields:
- Product name
- Recipient name
- Recipient UUID
- Merchant name
- Merchant UUID
- Optional fields:
- Quantity
- Gross / Net / Received amounts
- Location and source
Once submitted, the transaction is stored and appears in your history.
π§ Customer Lookup
To view what a customer has purchased:
- Enter the customerβs name (case-insensitive)
- Youβll see a list of all products theyβve received
- Each product includes a π¦ Redeliver button
This tool is useful for support, refunds, or re-delivery requests.
π¦ Redelivering Products
Redelivery is available in multiple places:
- redeliver any past transaction
- redeliver based on customer name
- search all merchant databases
π Transaction History Usage Guide
This guide explains how merchants use the Transaction History interface to view, manage, and redeliver past deliveries. It also covers manual transaction entry and pagination.
π§Ύ Viewing Transactions
When the page loads:
- Transactions are displayed in a paginated table
- Each row shows:
- Date of delivery
- Product name
- Quantity
- Received amount
- Source and location
- Sender and recipient names
Use the β¬ οΈ Previous and β‘οΈ Next buttons to navigate between pages. Each page shows up to 15 transactions.
β Adding a Transaction
To manually log a delivery:
- Fill out the Add Transaction form at the top
- Required fields:
- Product name
- Recipient name
- Recipient UUID
- Merchant name
- Merchant UUID
- Optional fields:
- Quantity
- Gross / Net / Received amounts
- Source and location (default: Manual / System)
Once submitted:
- The transaction is saved to the database
- It appears immediately in the transaction list
- Redelivery becomes available for that entry
π¦ Redelivering Products
To resend a product:
- Click the π¦ Redeliver button next to any transaction
Success and failure counts are displayed after delivery
ποΈ Deleting Transactions
To remove a transaction:
Click the ποΈ Delete button next to the entry
A confirmation prompt appears
If confirmed, the transaction is permanently deleted
This is useful for correcting mistakes or removing test entries.
π Pagination
The transaction list is paginated:
Default: 15 entries per page
Total pages are calculated automatically
β Transaction Recording Endpoint / ANS
This endpoint records a transaction using data provided via a GET request.
π Request Method
- Only accepts GET requests for registered merchants
π₯ Required Parameters
The following parameters can be passed via the query string:
- `TransactionID` β unique identifier for the transaction
- `ItemID` β internal product ID
- `ItemName` β name of the product
- `MerchantName` β name of the merchant
- `PayerName` β name of the paying customer
- `PayerKey` β UUID of the payer
- `ReceiverName` β name of the recipient
- `ReceiverKey` β UUID of the recipient
- `PaymentGross` β total amount paid
- `Location` β delivery source (e.g. In-World or Marketplace)
π€ Response
Returns a confirmation message:
β Transaction recorded for ReceiverName
π Future Plans
These are potential features and improvements to expand the systemβs capabilities:
- π Sales Analytics Dashboard
- Visual charts for revenue, top-selling products, and customer activity
- Filters by date range, product, or region
- π¦ Box Health Monitoring
- Periodic ping to delivery boxes to check online status
- Visual indicators for offline or unreachable boxes
- π Role-Based Access
- Allow assistants or team members to manage products or transactions
- Define permissions per user (e.g. view-only, redelivery, full access)
- π Product Categories and Tags
- Organize products by category (e.g. clothing, furniture, scripts)
- Enable filtering in the product list and script APIs
- π Transaction Export
- Export transaction history as CSV or JSON for accounting or backup





Discussion