Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.resellerInvites.list();<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->resellerInvites->list();
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.resellerInvites.list()
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/resellers/invites \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/resellers/invites"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.shoply.gg/v1/stores/{storeId}/resellers/invites")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/resellers/invites")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": null,
"code": null,
"data": [
{
"id": "c0cc4271-d0b7-4612-9efc-ae511653d21f",
"name": "Discord partners",
"code": "WTBCHZEHHWsj",
"tierId": "53272267-b8de-4f7f-9c0e-00f69122b91e",
"tierName": "Gold",
"maxUses": 50,
"uses": 0,
"endsAt": "2027-06-30 23:59:00",
"enabled": true,
"live": true
}
],
"meta": {
"panel": {
"enabled": true,
"currency": "USD",
"minTopup": 25
},
"address": "https://northwind.myshoply.gg/resellers",
"joinAddress": "https://northwind.myshoply.gg/resellers/join/",
"shoplyAddress": "https://northwind.myshoply.gg/resellers",
"balanceHeld": 0,
"tiers": [
{
"id": "53272267-b8de-4f7f-9c0e-00f69122b91e",
"name": "Gold",
"discount": 12.5,
"resellers": 0,
"spent30": 0
}
],
"limits": {
"invites": 2,
"invitesLive": 1
},
"bounds": {
"minTopup": 5,
"maxTopup": 100000
},
"currencies": [
{
"code": "AED",
"name": "UAE dirham"
},
{
"code": "ARS",
"name": "Argentine peso"
}
]
}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}Resellers
List invite links
The links a business joins the panel by, the newest first, each with its code (the link is meta.joinAddress followed by it), the tier it starts them in, how many have joined through it (uses) and how many may, when it ends, whether it is switched on (enabled) and whether it can still be used (live). meta.limits says how many may be live at once on the store’s plan, and how many are.
Needs the resellers.read permission (Read Resellers).
GET
/
stores
/
{storeId}
/
resellers
/
invites
Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.resellerInvites.list();<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->resellerInvites->list();
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.resellerInvites.list()
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/resellers/invites \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/resellers/invites"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.shoply.gg/v1/stores/{storeId}/resellers/invites")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/resellers/invites")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": null,
"code": null,
"data": [
{
"id": "c0cc4271-d0b7-4612-9efc-ae511653d21f",
"name": "Discord partners",
"code": "WTBCHZEHHWsj",
"tierId": "53272267-b8de-4f7f-9c0e-00f69122b91e",
"tierName": "Gold",
"maxUses": 50,
"uses": 0,
"endsAt": "2027-06-30 23:59:00",
"enabled": true,
"live": true
}
],
"meta": {
"panel": {
"enabled": true,
"currency": "USD",
"minTopup": 25
},
"address": "https://northwind.myshoply.gg/resellers",
"joinAddress": "https://northwind.myshoply.gg/resellers/join/",
"shoplyAddress": "https://northwind.myshoply.gg/resellers",
"balanceHeld": 0,
"tiers": [
{
"id": "53272267-b8de-4f7f-9c0e-00f69122b91e",
"name": "Gold",
"discount": 12.5,
"resellers": 0,
"spent30": 0
}
],
"limits": {
"invites": 2,
"invitesLive": 1
},
"bounds": {
"minTopup": 5,
"maxTopup": 100000
},
"currencies": [
{
"code": "AED",
"name": "UAE dirham"
},
{
"code": "ARS",
"name": "Argentine peso"
}
]
}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}
