Ei kuvausta

Benjamin Harris 336dea90df Extension Upload 2 viikkoa sitten
upload 336dea90df Extension Upload 2 viikkoa sitten
.gitignore 336dea90df Extension Upload 2 viikkoa sitten
CLAUDE.md 336dea90df Extension Upload 2 viikkoa sitten
README.md 336dea90df Extension Upload 2 viikkoa sitten
reverb.ocmod.xml 336dea90df Extension Upload 2 viikkoa sitten

README.md

Reverb OpenCart Integration

An OpenCart 3.x extension that synchronises your product catalogue with your Reverb.com marketplace — keeping stock, pricing, product details, images, and orders in sync automatically.


Features

  • Bidirectional sync — push products from OpenCart to Reverb and pull updates back
  • Order import — Reverb orders are automatically created as OpenCart orders
  • Selective sync — choose which categories are eligible, with a per-product on/off toggle
  • Image sync — product images are uploaded to Reverb listings automatically
  • Price & stock sync — changes on either platform propagate to the other
  • Category mapping — map each OpenCart category to the correct Reverb category
  • Per-product condition — set the Reverb condition (Mint, Excellent, Good, etc.) per product
  • Webhook support — real-time updates from Reverb via webhook endpoint
  • Cron fallback — scheduled polling when webhooks are not available
  • Sync log — full activity log visible in the admin panel

Requirements

Requirement Version
OpenCart 3.x (tested on 3.0.3.x)
PHP 7.4 or higher (8.1+ recommended)
cURL Enabled
Reverb Account Seller account with API access

File Structure

upload/
├── admin/
│   ├── controller/extension/module/reverb.php
│   ├── language/en-gb/extension/module/reverb.php
│   ├── model/extension/module/reverb.php
│   └── view/template/extension/module/
│       ├── reverb.twig             (settings page)
│       └── reverb_product.twig    (per-product Reverb tab)
├── catalog/
│   └── controller/extension/module/reverb.php
└── system/
    └── library/reverb/
        ├── ReverbApi.php
        ├── ProductMapper.php
        └── OrderMapper.php
reverb.ocmod.xml

Installation

  1. Copy the contents of the upload/ folder into your OpenCart root directory.
  2. In your OpenCart admin, go to Extensions > Installer and upload reverb.ocmod.xml.
  3. Go to Extensions > Modifications and click Refresh.
  4. Go to Extensions > Extensions, select Modules, find Reverb Integration, click Install, then Edit.

Configuration

1. API Token

  1. Log in to reverb.com/au and go to Account Settings > API Keys.
  2. Generate a personal access token.
  3. Paste it into the API Token field in the Reverb module settings and save.

2. Sync Direction

Option Behaviour
One-way (OpenCart → Reverb) Products are pushed to Reverb only; changes on Reverb are ignored
Both ways Changes on either platform sync to the other; Reverb orders are imported

3. Shipping Rates

Set a flat AU domestic rate and an optional international rate. These are applied to all Reverb listings. Set to 0 for free shipping.

4. Category Mapping

Select which OpenCart categories are eligible for sync in the Settings tab. Then switch to the Category Mapping tab and map each selected category to the corresponding Reverb category.

5. Per-Product Toggle

On each product's edit page a Reverb tab appears. Enable List on Reverb, choose the item condition, and optionally override the Reverb category for that product. Once synced, the Reverb listing ID and a direct link appear here.


Sync Behaviour

Field OpenCart → Reverb Reverb → OpenCart
Name / Title
Description
Price
Stock / Quantity
Images
Orders

Webhooks

Register a webhook in your Reverb seller account pointing to:

https://your-store.com/index.php?route=extension/module/reverb/webhook

Supported events: listing/update, order/create.

To verify webhook signatures, set a secret in Reverb and store it in oc_setting as module_reverb_webhook_secret.


Cron (Polling Fallback)

Add this URL to your server's cron scheduler (recommended: every 15–30 minutes):

https://your-store.com/index.php?route=extension/module/reverb/cron&cron_token=YOUR_TOKEN

Set module_reverb_cron_token in oc_setting to match.


Database Tables

Table Purpose
oc_reverb_product_map Links OC products to Reverb listing IDs; stores per-product sync settings
oc_reverb_sync_log Records every push/pull operation with status and error detail

Development

See CLAUDE.md for full technical architecture, API endpoint reference, field mapping details, and developer guidelines.


License

MIT