curl --request POST \
--url https://api.plazbot.com/api/partner/company/{companyId}/plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Plan Pro",
"description": "Plan profesional",
"workspaces": 2,
"teamMembers": 3,
"contactsPerWorkspace": 100,
"agentsPerWorkspace": -1,
"automationsPerWorkspace": -1,
"isDefault": false,
"isTrial": false,
"trialDays": null,
"fAIPackage": false,
"isGlobalLimits": true,
"totalContacts": 100,
"totalAgents": -1,
"totalAutomations": -1,
"totalTeamMembers": 3,
"price": null,
"currency": "USD",
"periodicity": "MONTHLY",
"expirationDays": null,
"paymentLink": null
}
'import requests
url = "https://api.plazbot.com/api/partner/company/{companyId}/plan"
payload = {
"name": "Plan Pro",
"description": "Plan profesional",
"workspaces": 2,
"teamMembers": 3,
"contactsPerWorkspace": 100,
"agentsPerWorkspace": -1,
"automationsPerWorkspace": -1,
"isDefault": False,
"isTrial": False,
"trialDays": None,
"fAIPackage": False,
"isGlobalLimits": True,
"totalContacts": 100,
"totalAgents": -1,
"totalAutomations": -1,
"totalTeamMembers": 3,
"price": None,
"currency": "USD",
"periodicity": "MONTHLY",
"expirationDays": None,
"paymentLink": None
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Plan Pro',
description: 'Plan profesional',
workspaces: 2,
teamMembers: 3,
contactsPerWorkspace: 100,
agentsPerWorkspace: -1,
automationsPerWorkspace: -1,
isDefault: false,
isTrial: false,
trialDays: null,
fAIPackage: false,
isGlobalLimits: true,
totalContacts: 100,
totalAgents: -1,
totalAutomations: -1,
totalTeamMembers: 3,
price: null,
currency: 'USD',
periodicity: 'MONTHLY',
expirationDays: null,
paymentLink: null
})
};
fetch('https://api.plazbot.com/api/partner/company/{companyId}/plan', 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.plazbot.com/api/partner/company/{companyId}/plan",
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([
'name' => 'Plan Pro',
'description' => 'Plan profesional',
'workspaces' => 2,
'teamMembers' => 3,
'contactsPerWorkspace' => 100,
'agentsPerWorkspace' => -1,
'automationsPerWorkspace' => -1,
'isDefault' => false,
'isTrial' => false,
'trialDays' => null,
'fAIPackage' => false,
'isGlobalLimits' => true,
'totalContacts' => 100,
'totalAgents' => -1,
'totalAutomations' => -1,
'totalTeamMembers' => 3,
'price' => null,
'currency' => 'USD',
'periodicity' => 'MONTHLY',
'expirationDays' => null,
'paymentLink' => null
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.plazbot.com/api/partner/company/{companyId}/plan"
payload := strings.NewReader("{\n \"name\": \"Plan Pro\",\n \"description\": \"Plan profesional\",\n \"workspaces\": 2,\n \"teamMembers\": 3,\n \"contactsPerWorkspace\": 100,\n \"agentsPerWorkspace\": -1,\n \"automationsPerWorkspace\": -1,\n \"isDefault\": false,\n \"isTrial\": false,\n \"trialDays\": null,\n \"fAIPackage\": false,\n \"isGlobalLimits\": true,\n \"totalContacts\": 100,\n \"totalAgents\": -1,\n \"totalAutomations\": -1,\n \"totalTeamMembers\": 3,\n \"price\": null,\n \"currency\": \"USD\",\n \"periodicity\": \"MONTHLY\",\n \"expirationDays\": null,\n \"paymentLink\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.plazbot.com/api/partner/company/{companyId}/plan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Plan Pro\",\n \"description\": \"Plan profesional\",\n \"workspaces\": 2,\n \"teamMembers\": 3,\n \"contactsPerWorkspace\": 100,\n \"agentsPerWorkspace\": -1,\n \"automationsPerWorkspace\": -1,\n \"isDefault\": false,\n \"isTrial\": false,\n \"trialDays\": null,\n \"fAIPackage\": false,\n \"isGlobalLimits\": true,\n \"totalContacts\": 100,\n \"totalAgents\": -1,\n \"totalAutomations\": -1,\n \"totalTeamMembers\": 3,\n \"price\": null,\n \"currency\": \"USD\",\n \"periodicity\": \"MONTHLY\",\n \"expirationDays\": null,\n \"paymentLink\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plazbot.com/api/partner/company/{companyId}/plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Plan Pro\",\n \"description\": \"Plan profesional\",\n \"workspaces\": 2,\n \"teamMembers\": 3,\n \"contactsPerWorkspace\": 100,\n \"agentsPerWorkspace\": -1,\n \"automationsPerWorkspace\": -1,\n \"isDefault\": false,\n \"isTrial\": false,\n \"trialDays\": null,\n \"fAIPackage\": false,\n \"isGlobalLimits\": true,\n \"totalContacts\": 100,\n \"totalAgents\": -1,\n \"totalAutomations\": -1,\n \"totalTeamMembers\": 3,\n \"price\": null,\n \"currency\": \"USD\",\n \"periodicity\": \"MONTHLY\",\n \"expirationDays\": null,\n \"paymentLink\": null\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"code": 200,
"errorCode": null,
"message": "Plan creado exitosamente",
"data": {
"id": "b3f1c2a4-...",
"name": "Plan Pro",
"description": "Plan profesional",
"workspaces": 2,
"teamMembers": 3,
"contactsPerWorkspace": 100,
"agentsPerWorkspace": -1,
"automationsPerWorkspace": -1,
"isDefault": false,
"isTrial": false,
"trialDays": null,
"fAIPackage": false,
"isGlobalLimits": true,
"totalContacts": 100,
"totalAgents": -1,
"totalAutomations": -1,
"totalTeamMembers": 3,
"price": null,
"currency": "USD",
"periodicity": "MONTHLY",
"expirationDays": null,
"paymentLink": null
}
}Crear Plan
Crea un nuevo plan para la compania del partner indicada.
curl --request POST \
--url https://api.plazbot.com/api/partner/company/{companyId}/plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Plan Pro",
"description": "Plan profesional",
"workspaces": 2,
"teamMembers": 3,
"contactsPerWorkspace": 100,
"agentsPerWorkspace": -1,
"automationsPerWorkspace": -1,
"isDefault": false,
"isTrial": false,
"trialDays": null,
"fAIPackage": false,
"isGlobalLimits": true,
"totalContacts": 100,
"totalAgents": -1,
"totalAutomations": -1,
"totalTeamMembers": 3,
"price": null,
"currency": "USD",
"periodicity": "MONTHLY",
"expirationDays": null,
"paymentLink": null
}
'import requests
url = "https://api.plazbot.com/api/partner/company/{companyId}/plan"
payload = {
"name": "Plan Pro",
"description": "Plan profesional",
"workspaces": 2,
"teamMembers": 3,
"contactsPerWorkspace": 100,
"agentsPerWorkspace": -1,
"automationsPerWorkspace": -1,
"isDefault": False,
"isTrial": False,
"trialDays": None,
"fAIPackage": False,
"isGlobalLimits": True,
"totalContacts": 100,
"totalAgents": -1,
"totalAutomations": -1,
"totalTeamMembers": 3,
"price": None,
"currency": "USD",
"periodicity": "MONTHLY",
"expirationDays": None,
"paymentLink": None
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Plan Pro',
description: 'Plan profesional',
workspaces: 2,
teamMembers: 3,
contactsPerWorkspace: 100,
agentsPerWorkspace: -1,
automationsPerWorkspace: -1,
isDefault: false,
isTrial: false,
trialDays: null,
fAIPackage: false,
isGlobalLimits: true,
totalContacts: 100,
totalAgents: -1,
totalAutomations: -1,
totalTeamMembers: 3,
price: null,
currency: 'USD',
periodicity: 'MONTHLY',
expirationDays: null,
paymentLink: null
})
};
fetch('https://api.plazbot.com/api/partner/company/{companyId}/plan', 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.plazbot.com/api/partner/company/{companyId}/plan",
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([
'name' => 'Plan Pro',
'description' => 'Plan profesional',
'workspaces' => 2,
'teamMembers' => 3,
'contactsPerWorkspace' => 100,
'agentsPerWorkspace' => -1,
'automationsPerWorkspace' => -1,
'isDefault' => false,
'isTrial' => false,
'trialDays' => null,
'fAIPackage' => false,
'isGlobalLimits' => true,
'totalContacts' => 100,
'totalAgents' => -1,
'totalAutomations' => -1,
'totalTeamMembers' => 3,
'price' => null,
'currency' => 'USD',
'periodicity' => 'MONTHLY',
'expirationDays' => null,
'paymentLink' => null
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.plazbot.com/api/partner/company/{companyId}/plan"
payload := strings.NewReader("{\n \"name\": \"Plan Pro\",\n \"description\": \"Plan profesional\",\n \"workspaces\": 2,\n \"teamMembers\": 3,\n \"contactsPerWorkspace\": 100,\n \"agentsPerWorkspace\": -1,\n \"automationsPerWorkspace\": -1,\n \"isDefault\": false,\n \"isTrial\": false,\n \"trialDays\": null,\n \"fAIPackage\": false,\n \"isGlobalLimits\": true,\n \"totalContacts\": 100,\n \"totalAgents\": -1,\n \"totalAutomations\": -1,\n \"totalTeamMembers\": 3,\n \"price\": null,\n \"currency\": \"USD\",\n \"periodicity\": \"MONTHLY\",\n \"expirationDays\": null,\n \"paymentLink\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.plazbot.com/api/partner/company/{companyId}/plan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Plan Pro\",\n \"description\": \"Plan profesional\",\n \"workspaces\": 2,\n \"teamMembers\": 3,\n \"contactsPerWorkspace\": 100,\n \"agentsPerWorkspace\": -1,\n \"automationsPerWorkspace\": -1,\n \"isDefault\": false,\n \"isTrial\": false,\n \"trialDays\": null,\n \"fAIPackage\": false,\n \"isGlobalLimits\": true,\n \"totalContacts\": 100,\n \"totalAgents\": -1,\n \"totalAutomations\": -1,\n \"totalTeamMembers\": 3,\n \"price\": null,\n \"currency\": \"USD\",\n \"periodicity\": \"MONTHLY\",\n \"expirationDays\": null,\n \"paymentLink\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plazbot.com/api/partner/company/{companyId}/plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Plan Pro\",\n \"description\": \"Plan profesional\",\n \"workspaces\": 2,\n \"teamMembers\": 3,\n \"contactsPerWorkspace\": 100,\n \"agentsPerWorkspace\": -1,\n \"automationsPerWorkspace\": -1,\n \"isDefault\": false,\n \"isTrial\": false,\n \"trialDays\": null,\n \"fAIPackage\": false,\n \"isGlobalLimits\": true,\n \"totalContacts\": 100,\n \"totalAgents\": -1,\n \"totalAutomations\": -1,\n \"totalTeamMembers\": 3,\n \"price\": null,\n \"currency\": \"USD\",\n \"periodicity\": \"MONTHLY\",\n \"expirationDays\": null,\n \"paymentLink\": null\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"code": 200,
"errorCode": null,
"message": "Plan creado exitosamente",
"data": {
"id": "b3f1c2a4-...",
"name": "Plan Pro",
"description": "Plan profesional",
"workspaces": 2,
"teamMembers": 3,
"contactsPerWorkspace": 100,
"agentsPerWorkspace": -1,
"automationsPerWorkspace": -1,
"isDefault": false,
"isTrial": false,
"trialDays": null,
"fAIPackage": false,
"isGlobalLimits": true,
"totalContacts": 100,
"totalAgents": -1,
"totalAutomations": -1,
"totalTeamMembers": 3,
"price": null,
"currency": "USD",
"periodicity": "MONTHLY",
"expirationDays": null,
"paymentLink": null
}
}Authorizations
Token de autenticacion Bearer. Obtenga el token usando el endpoint /api/user/login
Path Parameters
ID de la compania del partner
Body
Nombre del plan
Descripcion del plan
Cantidad de workspaces permitidos
Cantidad de miembros de equipo permitidos
Contactos permitidos por workspace
Agentes por workspace (-1 = ilimitado)
Automatizaciones por workspace (-1 = ilimitado)
Indica si es el plan por defecto
Indica si el plan es de prueba
Dias de prueba (null si no aplica)
Indica si incluye el paquete de IA
Usa limites globales de cuenta (suma de todos los workspaces)
Total de contactos de la cuenta (-1 = ilimitado)
Total de agentes de la cuenta (-1 = ilimitado)
Total de automatizaciones de la cuenta (-1 = ilimitado)
Total de miembros de equipo de la cuenta
Precio del plan (null si no aplica)
Moneda del plan
USD, EUR, PEN, MXN, COP Periodicidad de facturacion
MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL Dias de expiracion (tiene prioridad sobre periodicity)
Enlace de pago del plan

