Schedule a sales meeting on the caller calendar and log the Reunión activity
curl --request POST \
--url https://api.raul.ugps.io/api/v1/sales/meetings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"attendee_emails": [
"<string>"
],
"start_iso": "<string>",
"end_iso": "<string>",
"duration_minutes": 123,
"body_html": "<string>",
"time_zone": "<string>",
"organizer_email": "<string>",
"opportunity_id": "<string>",
"contact_id": "<string>",
"client_id": "<string>",
"is_online": true,
"location": "<string>",
"participant_contact_ids": [
"<string>"
]
}
'import requests
url = "https://api.raul.ugps.io/api/v1/sales/meetings"
payload = {
"subject": "<string>",
"attendee_emails": ["<string>"],
"start_iso": "<string>",
"end_iso": "<string>",
"duration_minutes": 123,
"body_html": "<string>",
"time_zone": "<string>",
"organizer_email": "<string>",
"opportunity_id": "<string>",
"contact_id": "<string>",
"client_id": "<string>",
"is_online": True,
"location": "<string>",
"participant_contact_ids": ["<string>"]
}
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({
subject: '<string>',
attendee_emails: ['<string>'],
start_iso: '<string>',
end_iso: '<string>',
duration_minutes: 123,
body_html: '<string>',
time_zone: '<string>',
organizer_email: '<string>',
opportunity_id: '<string>',
contact_id: '<string>',
client_id: '<string>',
is_online: true,
location: '<string>',
participant_contact_ids: ['<string>']
})
};
fetch('https://api.raul.ugps.io/api/v1/sales/meetings', 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.raul.ugps.io/api/v1/sales/meetings",
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([
'subject' => '<string>',
'attendee_emails' => [
'<string>'
],
'start_iso' => '<string>',
'end_iso' => '<string>',
'duration_minutes' => 123,
'body_html' => '<string>',
'time_zone' => '<string>',
'organizer_email' => '<string>',
'opportunity_id' => '<string>',
'contact_id' => '<string>',
'client_id' => '<string>',
'is_online' => true,
'location' => '<string>',
'participant_contact_ids' => [
'<string>'
]
]),
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.raul.ugps.io/api/v1/sales/meetings"
payload := strings.NewReader("{\n \"subject\": \"<string>\",\n \"attendee_emails\": [\n \"<string>\"\n ],\n \"start_iso\": \"<string>\",\n \"end_iso\": \"<string>\",\n \"duration_minutes\": 123,\n \"body_html\": \"<string>\",\n \"time_zone\": \"<string>\",\n \"organizer_email\": \"<string>\",\n \"opportunity_id\": \"<string>\",\n \"contact_id\": \"<string>\",\n \"client_id\": \"<string>\",\n \"is_online\": true,\n \"location\": \"<string>\",\n \"participant_contact_ids\": [\n \"<string>\"\n ]\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.raul.ugps.io/api/v1/sales/meetings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subject\": \"<string>\",\n \"attendee_emails\": [\n \"<string>\"\n ],\n \"start_iso\": \"<string>\",\n \"end_iso\": \"<string>\",\n \"duration_minutes\": 123,\n \"body_html\": \"<string>\",\n \"time_zone\": \"<string>\",\n \"organizer_email\": \"<string>\",\n \"opportunity_id\": \"<string>\",\n \"contact_id\": \"<string>\",\n \"client_id\": \"<string>\",\n \"is_online\": true,\n \"location\": \"<string>\",\n \"participant_contact_ids\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/sales/meetings")
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 \"subject\": \"<string>\",\n \"attendee_emails\": [\n \"<string>\"\n ],\n \"start_iso\": \"<string>\",\n \"end_iso\": \"<string>\",\n \"duration_minutes\": 123,\n \"body_html\": \"<string>\",\n \"time_zone\": \"<string>\",\n \"organizer_email\": \"<string>\",\n \"opportunity_id\": \"<string>\",\n \"contact_id\": \"<string>\",\n \"client_id\": \"<string>\",\n \"is_online\": true,\n \"location\": \"<string>\",\n \"participant_contact_ids\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodySales Cockpit
Schedule a sales meeting on the caller calendar and log the Reunión activity
POST
/
api
/
v1
/
sales
/
meetings
Schedule a sales meeting on the caller calendar and log the Reunión activity
curl --request POST \
--url https://api.raul.ugps.io/api/v1/sales/meetings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"attendee_emails": [
"<string>"
],
"start_iso": "<string>",
"end_iso": "<string>",
"duration_minutes": 123,
"body_html": "<string>",
"time_zone": "<string>",
"organizer_email": "<string>",
"opportunity_id": "<string>",
"contact_id": "<string>",
"client_id": "<string>",
"is_online": true,
"location": "<string>",
"participant_contact_ids": [
"<string>"
]
}
'import requests
url = "https://api.raul.ugps.io/api/v1/sales/meetings"
payload = {
"subject": "<string>",
"attendee_emails": ["<string>"],
"start_iso": "<string>",
"end_iso": "<string>",
"duration_minutes": 123,
"body_html": "<string>",
"time_zone": "<string>",
"organizer_email": "<string>",
"opportunity_id": "<string>",
"contact_id": "<string>",
"client_id": "<string>",
"is_online": True,
"location": "<string>",
"participant_contact_ids": ["<string>"]
}
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({
subject: '<string>',
attendee_emails: ['<string>'],
start_iso: '<string>',
end_iso: '<string>',
duration_minutes: 123,
body_html: '<string>',
time_zone: '<string>',
organizer_email: '<string>',
opportunity_id: '<string>',
contact_id: '<string>',
client_id: '<string>',
is_online: true,
location: '<string>',
participant_contact_ids: ['<string>']
})
};
fetch('https://api.raul.ugps.io/api/v1/sales/meetings', 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.raul.ugps.io/api/v1/sales/meetings",
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([
'subject' => '<string>',
'attendee_emails' => [
'<string>'
],
'start_iso' => '<string>',
'end_iso' => '<string>',
'duration_minutes' => 123,
'body_html' => '<string>',
'time_zone' => '<string>',
'organizer_email' => '<string>',
'opportunity_id' => '<string>',
'contact_id' => '<string>',
'client_id' => '<string>',
'is_online' => true,
'location' => '<string>',
'participant_contact_ids' => [
'<string>'
]
]),
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.raul.ugps.io/api/v1/sales/meetings"
payload := strings.NewReader("{\n \"subject\": \"<string>\",\n \"attendee_emails\": [\n \"<string>\"\n ],\n \"start_iso\": \"<string>\",\n \"end_iso\": \"<string>\",\n \"duration_minutes\": 123,\n \"body_html\": \"<string>\",\n \"time_zone\": \"<string>\",\n \"organizer_email\": \"<string>\",\n \"opportunity_id\": \"<string>\",\n \"contact_id\": \"<string>\",\n \"client_id\": \"<string>\",\n \"is_online\": true,\n \"location\": \"<string>\",\n \"participant_contact_ids\": [\n \"<string>\"\n ]\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.raul.ugps.io/api/v1/sales/meetings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subject\": \"<string>\",\n \"attendee_emails\": [\n \"<string>\"\n ],\n \"start_iso\": \"<string>\",\n \"end_iso\": \"<string>\",\n \"duration_minutes\": 123,\n \"body_html\": \"<string>\",\n \"time_zone\": \"<string>\",\n \"organizer_email\": \"<string>\",\n \"opportunity_id\": \"<string>\",\n \"contact_id\": \"<string>\",\n \"client_id\": \"<string>\",\n \"is_online\": true,\n \"location\": \"<string>\",\n \"participant_contact_ids\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/sales/meetings")
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 \"subject\": \"<string>\",\n \"attendee_emails\": [\n \"<string>\"\n ],\n \"start_iso\": \"<string>\",\n \"end_iso\": \"<string>\",\n \"duration_minutes\": 123,\n \"body_html\": \"<string>\",\n \"time_zone\": \"<string>\",\n \"organizer_email\": \"<string>\",\n \"opportunity_id\": \"<string>\",\n \"contact_id\": \"<string>\",\n \"client_id\": \"<string>\",\n \"is_online\": true,\n \"location\": \"<string>\",\n \"participant_contact_ids\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Token de sesión Better Auth para rutas de backoffice; las rutas de portal usan su token propio.
Body
application/json
Asunto de la reunión
Correos de los asistentes
Inicio en ISO 8601
Término en ISO 8601
Duración en minutos (default 30)
Cuerpo HTML de la invitación
Zona horaria (default America/Santiago)
Organizador; por defecto el usuario autenticado (decisión D22.5)
Oportunidad ligada
Contacto ligado
Cliente ligado
false: reunión presencial en location. Por defecto, reunión de Teams
Dirección de la reunión presencial (obligatoria si no es en línea)
Contactos invitados: quedan como participantes de la actividad de la reunión
Response
201