Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.emailTemplates.list();<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->emailTemplates->list();
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.emailTemplates.list()
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/email-templates \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/email-templates"
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}/email-templates")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/email-templates")
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": [
{
"kind": "receipt",
"group": "Orders",
"name": "Order Receipt",
"when": "When an order is paid, and when you send it again",
"edited": false,
"html": false,
"css": false,
"subject": false,
"updatedAt": null
},
{
"kind": "invoice",
"group": "Orders",
"name": "Invoice",
"when": "When you send an invoice or a payment link",
"edited": false,
"html": false,
"css": false,
"subject": false,
"updatedAt": null
}
],
"meta": {
"shared": {
"css": null,
"updatedAt": null
},
"sendable": true
}
}{
"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": {}
}Email Templates
List email templates
Every email a store can write, in the order the dashboard lists them: its kind, group, name, when it is sent, whether the store has edited it (and which of html, css and subject), and updatedAt. meta.shared is the CSS every email gets, and meta.sendable whether the store can send email at all.
Needs the emails.read permission (Read Email Templates).
GET
/
stores
/
{storeId}
/
email-templates
Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.emailTemplates.list();<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->emailTemplates->list();
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.emailTemplates.list()
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/email-templates \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/email-templates"
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}/email-templates")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/email-templates")
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": [
{
"kind": "receipt",
"group": "Orders",
"name": "Order Receipt",
"when": "When an order is paid, and when you send it again",
"edited": false,
"html": false,
"css": false,
"subject": false,
"updatedAt": null
},
{
"kind": "invoice",
"group": "Orders",
"name": "Invoice",
"when": "When you send an invoice or a payment link",
"edited": false,
"html": false,
"css": false,
"subject": false,
"updatedAt": null
}
],
"meta": {
"shared": {
"css": null,
"updatedAt": null
},
"sendable": true
}
}{
"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": {}
}Authorizations
A secret API key, made under Developers in the dashboard: Authorization: Bearer shoply_sk_...
Path Parameters
The store's ID. A key reaches the store it was made in: GET /key answers which.

