# Publishing a Product

https://dev.wisecp.com/es/publishing-a-marketplace-product

Turn a finished module or theme into a listing customers can find, buy from your own site and install from their panel.

## Overview

The marketplace is a catalogue. You keep the sale: the listing links to your own purchase page, and no money passes through this panel. What the panel does is publish the card, hold the package and hand it to buyers who already hold a WISECP licence.

A listing is reviewed once. After it goes live, every new version travels through a submission of its own, covered in [Shipping a Release](https://dev.wisecp.com/en/shipping-a-marketplace-release).

## Prerequisites

- **An active developer plan**: The portal opens from your customer account. Without a live subscription the editor stays read only and nothing can be submitted.
- **A verified identity**: When the operator asks for documents, submitting offers to add them to your account. The listing waits until they are approved.
- **An installable package**: One archive holding the whole product. Layout and the files that must never travel with it: [Packaging a Module for Distribution](https://dev.wisecp.com/en/packaging-a-module-for-distribution).
- **A purchase address, for paid listings**: Where the card sends a buyer. A price shown here is a quote; the checkout is yours.

## Structure

The editor is a stack of sections with a readiness meter above them. A section counts as done when its own answer is complete, and the server checks that same meter again when you submit.

On a draft the sections open in order: the next one waits until the one above it is answered. A published listing is exempt, so you can edit any section of it directly. A Localisation section appears when your installation serves more than one language; it is optional and never counted.

| Section | What completes it |
| --- | --- |
| 1 · Product Identity | Title, category and the one line a customer reads first |
| 2 · Product Pitch | A description of at least 120 characters in your primary language, a logo and at least one screenshot |
| 3 · Pricing | Free, or commercial with at least one priced offer |
| 4 · Licensing | Either no check at all, or a declared check that has passed its test. Asked whatever the product costs |
| 5 · Compatibility | Your version, the oldest WISECP it runs on, and the purchase address on a paid listing |
| 6 · Installation File | The package |
| 7 · Review & Submission | Three confirmations: rights, tested, guidelines. Not asked once the listing is live |

## Walkthrough

### Open a draft

1. Open **Products** in the developer portal and start a new listing. Your first save stores it as a draft, and a draft is private.
2. Fill Product Identity first. Category and the summary line feed the catalogue search, so they are worth the time.
3. Choose the pricing model. Licensing is a step of its own and stays open either way. A free product can lock its downloads behind a check too.

### Add the files

1. Upload the logo and the screenshots buyers will judge the product by.
2. State your version and the oldest WISECP it runs on. The highest supported version is a ceiling. Installations above it cannot download the package; leave it empty for no upper bound.
3. Upload the installation package last, so the build already carries the licence integration settled above it.
4. The panel compiles your upload. Installation File then offers that build back — the exact file your customers receive.

### Submit for review

1. Tick the three confirmations in the Review section.
2. Click **Submit for review**. The listing moves to *Submitted* and the editor becomes read only.
3. While it is only submitted you can withdraw it. Once a moderator picks it up the state becomes *In review*, and withdrawal closes.

### After the decision

1. Approval publishes the card, and a notice reaches your account.
2. A refusal carries the reason a moderator wrote. Fix what it names and submit again.
3. To take a live product out of the catalogue, retire it. Reviews, ratings and download history stay, and buyers keep their copy.
4. A live listing can still take a new package. Sending it starts a review, and the card leaves the catalogue until the decision comes back. The editor says so above the button.

## Reference

Where a listing can stand, and what you can do from there.

| State | Meaning | What you can do |
| --- | --- | --- |
| Draft | Never submitted | Edit everything, submit |
| Submitted | Waiting in the queue | Withdraw |
| In review | A moderator is reading it | Wait |
| Published | Live in the catalogue | Ship releases, retire |
| Rejected | Refused, with a reason | Edit, submit again |
| Cancelled | Closed from the panel side | Edit, submit again |
| Retired | Taken down by you | The record stays, the card goes |

## Example

The archive you upload holds the product at the path it belongs at, and nothing else.

```bash
coremio/
└── modules/
    └── Addons/
        └── SamplePro/
            ├── SamplePro.php
            ├── config.php
            ├── hooks.php
            ├── logo.png
            └── lang/
                ├── en.php
                └── tr.php
```

Every module lives at `coremio/modules/{Type}/{Name}/`, and the type folder is the only part that changes: a provisioning module under `Servers/`, a registrar under `Registrars/`, a gateway under `Payment/`.

A theme is not a module and ships at `templates/website/{ThemeName}/`, with its `theme.php` manifest at the root of that folder.

## Pitfalls

> **Buyers never receive the file you uploaded**
> 
> The panel compiles your upload and serves the compiled copy. Publishing waits for that compiled file, so an approved card can still sit unpublished for a while.

> **An incomplete listing is refused at submit**
> 
> The meter in the editor is a copy of a rule, not the rule. The server counts the sections again and answers 422 when one is missing.

> **Downloads need a WISECP licence**
> 
> Even a free product is handed only to an account holding an active WISECP service. A visitor without one has nothing to install it into.

## Related Articles

- [Licensing a Marketplace Product](https://dev.wisecp.com/en/marketplace-product-licensing)
- [Shipping a Release](https://dev.wisecp.com/en/shipping-a-marketplace-release)
- [Packaging a Module for Distribution](https://dev.wisecp.com/en/packaging-a-module-for-distribution)
- [Shipping Module Updates](https://dev.wisecp.com/en/shipping-module-updates)
