Borrador del correo de la factura
curl --request GET \
--url https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft', 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/billing/invoices/{id}/email-draft",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft"
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.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft")
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{
"recipients": [
{
"name": "<string>",
"email": "<string>",
"rol": "<string>"
}
],
"subject": "<string>",
"body_html": "<string>",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"templates": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"is_default": true
}
],
"attachment_name": "<string>"
}Invoices
Borrador del correo de la factura
Destinatarios por defecto (contactos con rol de Facturación o el correo de facturación de la ficha), plantillas «Factura» y el asunto y cuerpo de la elegida (o la por defecto) con las variables de la factura.
GET
/
api
/
v1
/
billing
/
invoices
/
{id}
/
email-draft
Borrador del correo de la factura
curl --request GET \
--url https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft', 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/billing/invoices/{id}/email-draft",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft"
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.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/billing/invoices/{id}/email-draft")
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{
"recipients": [
{
"name": "<string>",
"email": "<string>",
"rol": "<string>"
}
],
"subject": "<string>",
"body_html": "<string>",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"templates": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"is_default": true
}
],
"attachment_name": "<string>"
}Authorizations
Token de sesión Better Auth para rutas de backoffice; las rutas de portal usan su token propio.
Path Parameters
Query Parameters
Plantilla «Factura» a aplicar; sin ella, la por defecto (o el texto propuesto por Raúl).
Response
200 - application/json
Contactos con rol de Facturación (o el correo de facturación de la ficha)
Show child attributes
Show child attributes
Cuerpo HTML con las variables ya reemplazadas
Show child attributes
Show child attributes
Nombre del PDF que se adjunta