Products

Products are the fundamental resource to your storefront, allowing you to sell your digital goods.

The Product object

The product object contains all the information about a product.

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the product.

  • Name
    title
    Type
    string
    Description

    The display title of the product.

  • Name
    description
    Type
    string
    Description

    The raw markdown description of the product.

  • Name
    stock
    Type
    integer/string
    Description

    Current product stock count from the info attribute.

    Will return a string of if product_type is file (unless stock_amount is set), dynamic or service
  • Name
    price
    Type
    float
    Description

    Price of the product in the currency for 1 quantity.

  • Name
    currency
    Type
    string
    Description

    The ISO 4217 currency code used during checkout for this product.

  • Name
    product_type
    Type
    enum
    Description

    The type of product goods. Possible types are:

    • file
    • serials
    • dynamic
    • service
  • Name
    gateways
    Type
    array
    Description

    Array of enabled payment gateways for this product. Available payment gateways are:

    • paypal
    • stripe
    • cashapp
    • bitcoin
    • ethereum
    • litecoin
    • bitcoin_cash
    • perfect_money
    • skrill
    • dogecoin
    • bnb
    • polygon
  • Name
    image
    Type
    object
    Description
    Display image of the product.
    • Name
      id
      Type
      string
      Description

      Unique identifier for the image file.

    • Name
      url
      Type
      string
      Description

      URL to the image hosted on Selly

    • Name
      metadata
      Type
      object
      Description
      Extra metadata for the file.
      • Name
        size
        Type
        integer
        Description

        Size of the file in bytes.

      • Name
        filename
        Type
        string
        Description

        File name of the file, including the extension.

      • Name
        mime_type
        Type
        string
        Description

        MIME type of the file.

  • Name
    info
    Type
    string
    Description

    The "goods" for the stock of the product. For a product_type of serials, this string is delimited by the stock_delimiter attribute.

  • Name
    file
    Type
    object
    Description
    File if product type is file.
    • Name
      id
      Type
      string
      Description

      Unique identifier for the image file.

    • Name
      url
      Type
      string
      Description

      URL to the image hosted on Selly

    • Name
      metadata
      Type
      object
      Description
      Extra metadata for the file.
      • Name
        size
        Type
        integer
        Description

        Size of the file in bytes.

      • Name
        filename
        Type
        string
        Description

        File name of the file, including the extension.

      • Name
        mime_type
        Type
        string
        Description

        MIME type of the file.

  • Name
    stock_delimiter
    Type
    string
    Description

    The delimiter used to split stock from the info attribute. Defaults to a comma.

  • Name
    maximum_quantity
    Type
    integer
    Description

    Maximum quantity an order can have. Defaults to null, meaning the max quantity will be as high as the stock count.

  • Name
    minimum_quantity
    Type
    integer
    Description

    Minimum quantity an order can have. Defaults to 1.

  • Name
    stock_amount
    Type
    integer
    Description

    Limit the stock to this amount if the product_type is file. If null, the stock is unlimited.

  • Name
    dynamic_url
    Type
    string
    Description

    The dynamic URL that is called to generate the sold goods, if the product_type is dynamic.

  • Name
    custom
    Type
    array
    Description
    Custom input fields for the checkout form.
    • Name
      type
      Type
      enum
      Description

      The type of input. Available input options are:

      • select
      • number
      • text
      • hidden
      • textarea
      • checkbox
      • country_dropdown
    • Name
      name
      Type
      string
      Description

      The name of the custom input field.

    • Name
      required
      Type
      boolean
      Description

      Whether the input is required or not.

  • Name
    customer_details_required
    Type
    boolean
    Description

    Require customer's name and address in the checkout form.

  • Name
    warranty
    Type
    string
    Description

    The warranty description/text sent to the customer.

  • Name
    warranty_duration
    Type
    integer
    Description

    Duration to set the warranty in seconds.

  • Name
    redirect_url
    Type
    string
    Description

    Optional custom redirection URL after a successful checkout.

  • Name
    unlisted
    Type
    boolean
    Description

    This product will not be listed on your storefront, but can still be accessed directly via the product link.

  • Name
    private
    Type
    boolean
    Description

    This product will not be listed or accessible.

  • Name
    hide_stock
    Type
    boolean
    Description

    The exact product stock amount will be hidden and instead show "in stock" or "out of stock".

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the product was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the product was last updated.


GET/v2/products

List all products

This endpoint allows you to retrieve a paginated list of all your products. By default, a maximum of 20 products are shown per page.

Optional attributes

  • Name
    page
    Type
    integer
    Description

    The page number. Defaults to 1

  • Name
    per_page
    Type
    integer
    Description

    Records per page. Defaults to 20.

Request

GET
/api/v2/products
curl -G https://selly.io/api/v2/products \
  -H "Authorization: Bearer {token}" \
  -d page=1

Response

[
  {
    "id": "8069720f",
    "title": "This is an example product",
    "description": "**An example description**",
    "stock": 3,
    "price": "5.00",
    "currency": "USD",
    "product_type": "serials",
    "gateways": [
        "ethereum",
        "bitcoin_cash",
        "bnb",
        "dogecoin",
        "litecoin",
        "bitcoin",
        "paypal",
        "cashapp",
        "polygon",
        "stripe"
    ],
    "private": false,
    "unlisted": false,
    "vpn_block": false,
    "seller_note": null,
    "maximum_quantity": null,
    "minimum_quantity": 1,
    "stock_delimiter": ",",
    "stock_amount": null,
    "image": {
      "id": "55e68f9900c08f1dea6aec2ffc9c153856a91d5c/b65fcd4508226e9774445ebb4495048756750738",
      "storage": "cdn",
      "metadata": {
        "size": 3463,
        "filename": "logo.png",
        "mime_type": "image/png"
      },
      "url": "https://cdn.selly.io/cd2de339c0a605dedf29aecd44d3feb002842e60/68747470733a2f2f73656c6c792e6e7963332e6469676974616c6f6365616e7370616365732e636f6d2f63616368652f353565363866393930306330386631646561366165633266666339633135333835366139316435632f6236356663643435303832323665393737343434356562623434393530343837353637"
    },
    "theme": "compact",
    "max_risk_level": 30,
    "dynamic_url": null,
    "info": "SERIAL-1,SERIAL-2,SERIAL-3",
    "file": null,
    "warranty_duration": null,
    "warranty": null,
    "hide_stock": null,
    "redirect_url": null,
    "custom": [
      {
        "type": "text",
        "name": "Example.com Username",
        "required": false
      }  
    ],
    "customer_details_required": false,
    "created_at": "2023-09-09T10:18:23.000+01:00",
    "updated_at": "2023-12-21T13:20:09.000+00:00"
  }
  {
    "id": "5w8QhZqx",
    // ...
  }
]

GET/v2/products/:id

Retrieve a product

This endpoint allows you to retrieve a product by providing the product id. Refer to the list at the top of this page to see which properties are included with product objects.

Request

GET
/api/v2/products/:id
curl https://selly.io/api/v2/products/8069720f \
  -H "Authorization: Bearer {token}"

Response

{
  "id": "8069720f",
  "title": "This is an example product",
  "description": "**An example description**",
  "stock": 3,
  "price": "5.00",
  "currency": "USD",
  "product_type": "serials",
  "gateways": [
      "ethereum",
      "bitcoin_cash",
      "bnb",
      "dogecoin",
      "litecoin",
      "bitcoin",
      "paypal",
      "cashapp",
      "polygon",
      "stripe"
  ],
  "private": false,
  "unlisted": false,
  "vpn_block": false,
  "seller_note": null,
  "maximum_quantity": null,
  "minimum_quantity": 1,
  "stock_delimiter": ",",
  "stock_amount": null,
  "image": {
    "id": "55e68f9900c08f1dea6aec2ffc9c153856a91d5c/b65fcd4508226e9774445ebb4495048756750738",
    "storage": "cdn",
    "metadata": {
      "size": 3463,
      "filename": "logo.png",
      "mime_type": "image/png"
    },
    "url": "https://cdn.selly.io/cd2de339c0a605dedf29aecd44d3feb002842e60/68747470733a2f2f73656c6c792e6e7963332e6469676974616c6f6365616e7370616365732e636f6d2f63616368652f353565363866393930306330386631646561366165633266666339633135333835366139316435632f6236356663643435303832323665393737343434356562623434393530343837353637"
  },
  "theme": "compact",
  "max_risk_level": 30,
  "dynamic_url": null,
  "info": "SERIAL-1,SERIAL-2,SERIAL-3",
  "file": null,
  "warranty_duration": null,
  "warranty": null,
  "hide_stock": null,
  "redirect_url": null,
  "custom": [
    {
      "type": "text",
      "name": "Example.com Username",
      "required": false
    }  
  ],
  "customer_details_required": false,
  "created_at": "2023-09-09T10:18:23.000+01:00",
  "updated_at": "2023-12-21T13:20:09.000+00:00"
}

POST/v2/products

Create a product

This endpoint allows you to create a product.

Request

POST
/api/v2/products
curl -X POST https://selly.io/api/v2/products \
  -H "Authorization: Bearer {token}" \
  -d title="This is an example product" \
  -d description="**An example description**" \
  -d product_type="serials" \
  -d stock_delimiter="," \
  -d info="SERIAL-1,SERIAL-2,SERIAL-3" \
  -d price="5.00" \
  -d currency="USD" \
  -d gateways[0]="stripe" \
  -d gateways[1]="paypal" \

Response

{
  "id": "8069720f",
  "title": "New title",
  "description": "**An example description**",
  "stock": 3,
  "price": "5.00",
  "currency": "USD",
  "product_type": "serials",
  "gateways": [
      "ethereum",
      "bitcoin_cash",
      "bnb",
      "dogecoin",
      "litecoin",
      "bitcoin",
      "paypal",
      "cashapp",
      "polygon",
      "stripe"
  ],
  "private": false,
  "unlisted": false,
  "vpn_block": false,
  "seller_note": null,
  "maximum_quantity": null,
  "minimum_quantity": 1,
  "stock_delimiter": ",",
  "stock_amount": null,
  "image": null,
  "theme": "compact",
  "max_risk_level": 30,
  "dynamic_url": null,
  "info": "SERIAL-1,SERIAL-2,SERIAL-3",
  "file": null,
  "warranty_duration": null,
  "warranty": null,
  "hide_stock": null,
  "redirect_url": null,
  "custom": [],
  "customer_details_required": false,
  "created_at": "2023-09-09T10:18:23.000+01:00",
  "updated_at": "2023-12-21T13:20:09.000+00:00"
}

PUT/v2/products/:id

Update a product

This endpoint allows you to update a product.

Request

PUT
/api/v2/products/:id
curl -X PUT https://selly.io/api/v2/products/8069720f \
  -H "Authorization: Bearer {token}" \
  -d title="New title"

Response

{
  "id": "8069720f",
  "title": "New title",
  "description": "**An example description**",
  "stock": 3,
  "price": "5.00",
  "currency": "USD",
  "product_type": "serials",
  "gateways": [
      "ethereum",
      "bitcoin_cash",
      "bnb",
      "dogecoin",
      "litecoin",
      "bitcoin",
      "paypal",
      "cashapp",
      "polygon",
      "stripe"
  ],
  "private": false,
  "unlisted": false,
  "vpn_block": false,
  "seller_note": null,
  "maximum_quantity": null,
  "minimum_quantity": 1,
  "stock_delimiter": ",",
  "stock_amount": null,
  "image": {
    "id": "55e68f9900c08f1dea6aec2ffc9c153856a91d5c/b65fcd4508226e9774445ebb4495048756750738",
    "storage": "cdn",
    "metadata": {
      "size": 3463,
      "filename": "logo.png",
      "mime_type": "image/png"
    },
    "url": "https://cdn.selly.io/cd2de339c0a605dedf29aecd44d3feb002842e60/68747470733a2f2f73656c6c792e6e7963332e6469676974616c6f6365616e7370616365732e636f6d2f63616368652f353565363866393930306330386631646561366165633266666339633135333835366139316435632f6236356663643435303832323665393737343434356562623434393530343837353637"
  },
  "theme": "compact",
  "max_risk_level": 30,
  "dynamic_url": null,
  "info": "SERIAL-1,SERIAL-2,SERIAL-3",
  "file": null,
  "warranty_duration": null,
  "warranty": null,
  "hide_stock": null,
  "redirect_url": null,
  "custom": [
    {
      "type": "text",
      "name": "Example.com Username",
      "required": false
    }  
  ],
  "customer_details_required": false,
  "created_at": "2023-09-09T10:18:23.000+01:00",
  "updated_at": "2023-12-21T13:20:09.000+00:00"
}

DELETE/v2/products/:id

Delete a product

This endpoint allows you to delete a product. Note: This will permanently delete the product.

Request

DELETE
/api/v2/products/:id
curl -X DELETE https://selly.io/api/v2/products/8069720f \
  -H "Authorization: Bearer {token}" \