Créer une version de modèle
curl --request POST \
--url https://api.pubrio.com/channels/templates/create_version \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_name": "default",
"is_default": true,
"parameters": {}
}
'import requests
url = "https://api.pubrio.com/channels/templates/create_version"
payload = {
"channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_name": "default",
"is_default": True,
"parameters": {}
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
channel_template_identifier: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
channel_template_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
version_name: 'default',
is_default: true,
parameters: {}
})
};
fetch('https://api.pubrio.com/channels/templates/create_version', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pubrio.com/channels/templates/create_version",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel_template_identifier' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'channel_template_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'version_name' => 'default',
'is_default' => true,
'parameters' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pubrio.com/channels/templates/create_version"
payload := strings.NewReader("{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/channels/templates/create_version")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/channels/templates/create_version")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"channel_template_id": 249,
"channel_template_identifier": "4c717a78-26e9-49eb-ab2e-e1ce0755674a",
"created_at": "2025-08-07T17:22:11.344Z",
"version_number": 2,
"is_default": true,
"name": "Email Template",
"channel_node_id": "93873c33-2635-4537-928c-6a4f3564164c",
"parameters": {
"content": "<div>hello world</div>",
"subject": "hello world"
},
"version_name": "Default 2"
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Modèles
Créer une version de modèle de canal
Créez une nouvelle version d’un modèle de canal existant.
POST
/
channels
/
templates
/
create_version
Créer une version de modèle
curl --request POST \
--url https://api.pubrio.com/channels/templates/create_version \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_name": "default",
"is_default": true,
"parameters": {}
}
'import requests
url = "https://api.pubrio.com/channels/templates/create_version"
payload = {
"channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_name": "default",
"is_default": True,
"parameters": {}
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
channel_template_identifier: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
channel_template_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
version_name: 'default',
is_default: true,
parameters: {}
})
};
fetch('https://api.pubrio.com/channels/templates/create_version', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pubrio.com/channels/templates/create_version",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel_template_identifier' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'channel_template_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'version_name' => 'default',
'is_default' => true,
'parameters' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pubrio.com/channels/templates/create_version"
payload := strings.NewReader("{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/channels/templates/create_version")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/channels/templates/create_version")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"channel_template_id": 249,
"channel_template_identifier": "4c717a78-26e9-49eb-ab2e-e1ce0755674a",
"created_at": "2025-08-07T17:22:11.344Z",
"version_number": 2,
"is_default": true,
"name": "Email Template",
"channel_node_id": "93873c33-2635-4537-928c-6a4f3564164c",
"parameters": {
"content": "<div>hello world</div>",
"subject": "hello world"
},
"version_name": "Default 2"
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Autorisations
Corps
application/json
L'identifiant du groupe de versions du modèle de canal.
Un identifiant unique pour l'opération de modèle de canal.
Les noms de version permettent d'identifier l'historique des modifications.
Exemple:
"default"
Lorsqu'activé, l'exécution définira ce champ à true pour l'enregistrement actuel et à false pour tous les autres groupes d'enregistrements liés concernés.
Les informations de paramètre dépendent des exigences du nœud de canal.
Réponse
Réponse réussie contenant la liste des détails des modèles de canaux.
Les informations de réponse dépendent du point de terminaison spécifique.

