curl --request POST \
--url https://besimplo.com/api/v1/products \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"product": {
"name": "Plano Premium",
"description": "Acesso a todas as funcionalidades premium",
"active": true,
"external_code": "prod_premium"
}
}
'import requests
url = "https://besimplo.com/api/v1/products"
payload = { "product": {
"name": "Plano Premium",
"description": "Acesso a todas as funcionalidades premium",
"active": True,
"external_code": "prod_premium"
} }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
product: {
name: 'Plano Premium',
description: 'Acesso a todas as funcionalidades premium',
active: true,
external_code: 'prod_premium'
}
})
};
fetch('https://besimplo.com/api/v1/products', 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://besimplo.com/api/v1/products",
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([
'product' => [
'name' => 'Plano Premium',
'description' => 'Acesso a todas as funcionalidades premium',
'active' => true,
'external_code' => 'prod_premium'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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://besimplo.com/api/v1/products"
payload := strings.NewReader("{\n \"product\": {\n \"name\": \"Plano Premium\",\n \"description\": \"Acesso a todas as funcionalidades premium\",\n \"active\": true,\n \"external_code\": \"prod_premium\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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://besimplo.com/api/v1/products")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product\": {\n \"name\": \"Plano Premium\",\n \"description\": \"Acesso a todas as funcionalidades premium\",\n \"active\": true,\n \"external_code\": \"prod_premium\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://besimplo.com/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product\": {\n \"name\": \"Plano Premium\",\n \"description\": \"Acesso a todas as funcionalidades premium\",\n \"active\": true,\n \"external_code\": \"prod_premium\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "prod_01h455vb4pex5vsknk084sn02q",
"object": "product",
"active": true,
"created": 1680893993,
"live_mode": false,
"name": "Plano Premium",
"description": "Acesso a todas as funcionalidades premium",
"external_code": "prod_premium"
}Criar produto
Cria um novo produto que pode ter preços associados.
Produtos representam os bens ou serviços que você vende. Preços são então associados aos Produtos para definir opções de precificação.
curl --request POST \
--url https://besimplo.com/api/v1/products \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"product": {
"name": "Plano Premium",
"description": "Acesso a todas as funcionalidades premium",
"active": true,
"external_code": "prod_premium"
}
}
'import requests
url = "https://besimplo.com/api/v1/products"
payload = { "product": {
"name": "Plano Premium",
"description": "Acesso a todas as funcionalidades premium",
"active": True,
"external_code": "prod_premium"
} }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
product: {
name: 'Plano Premium',
description: 'Acesso a todas as funcionalidades premium',
active: true,
external_code: 'prod_premium'
}
})
};
fetch('https://besimplo.com/api/v1/products', 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://besimplo.com/api/v1/products",
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([
'product' => [
'name' => 'Plano Premium',
'description' => 'Acesso a todas as funcionalidades premium',
'active' => true,
'external_code' => 'prod_premium'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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://besimplo.com/api/v1/products"
payload := strings.NewReader("{\n \"product\": {\n \"name\": \"Plano Premium\",\n \"description\": \"Acesso a todas as funcionalidades premium\",\n \"active\": true,\n \"external_code\": \"prod_premium\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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://besimplo.com/api/v1/products")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product\": {\n \"name\": \"Plano Premium\",\n \"description\": \"Acesso a todas as funcionalidades premium\",\n \"active\": true,\n \"external_code\": \"prod_premium\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://besimplo.com/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product\": {\n \"name\": \"Plano Premium\",\n \"description\": \"Acesso a todas as funcionalidades premium\",\n \"active\": true,\n \"external_code\": \"prod_premium\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "prod_01h455vb4pex5vsknk084sn02q",
"object": "product",
"active": true,
"created": 1680893993,
"live_mode": false,
"name": "Plano Premium",
"description": "Acesso a todas as funcionalidades premium",
"external_code": "prod_premium"
}Authorizations
A chave de API usada para autenticar a requisição e identificar a sua conta.
Exemplo: Authorization: ApiKey my-secure-key
Body
Show child attributes
Show child attributes
Response
Produto criado com sucesso
ID único do produto, no formato TypeID com prefixo prod_.
^prod_[0-9a-z]{26}$"prod_01h455vb4pex5vsknk084sn02q"
Tipo do objeto. Sempre 'product'.
product "product"
Se o produto está disponível para compra.
true
Timestamp Unix de quando o produto foi criado.
1680893993
Indica ambiente de produção (true) ou sandbox (false). Dados de sandbox são limpos periodicamente.
false
Nome do produto.
"Plano Premium"
Descrição do produto.
"Acesso a todas as funcionalidades premium"
Código externo para integração. Deve ser único por conta.
"prod_premium"

