Ejecutar enriquecimiento marketplace sin entidad
curl --request POST \
--url http://api.gu1.ai/integration-execution/execute-without-entity \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"integrationCode": "<string>",
"country": "<string>",
"type": "<string>",
"taxId": "<string>",
"name": "<string>",
"parameters": {}
}
'import requests
url = "http://api.gu1.ai/integration-execution/execute-without-entity"
payload = {
"integrationCode": "<string>",
"country": "<string>",
"type": "<string>",
"taxId": "<string>",
"name": "<string>",
"parameters": {}
}
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({
integrationCode: '<string>',
country: '<string>',
type: '<string>',
taxId: '<string>',
name: '<string>',
parameters: {}
})
};
fetch('http://api.gu1.ai/integration-execution/execute-without-entity', 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 => "http://api.gu1.ai/integration-execution/execute-without-entity",
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([
'integrationCode' => '<string>',
'country' => '<string>',
'type' => '<string>',
'taxId' => '<string>',
'name' => '<string>',
'parameters' => [
]
]),
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 := "http://api.gu1.ai/integration-execution/execute-without-entity"
payload := strings.NewReader("{\n \"integrationCode\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"taxId\": \"<string>\",\n \"name\": \"<string>\",\n \"parameters\": {}\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("http://api.gu1.ai/integration-execution/execute-without-entity")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"integrationCode\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"taxId\": \"<string>\",\n \"name\": \"<string>\",\n \"parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/integration-execution/execute-without-entity")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"integrationCode\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"taxId\": \"<string>\",\n \"name\": \"<string>\",\n \"parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"result": {}
}Referencia API
Ejecutar enriquecimiento marketplace sin entidad
Lanzar un enriquecimiento desde taxId y/o nombre sin persistir entidad; modo opcional solo caché. Consulta el esquema del request, códigos de respuesta.
POST
/
integration-execution
/
execute-without-entity
Ejecutar enriquecimiento marketplace sin entidad
curl --request POST \
--url http://api.gu1.ai/integration-execution/execute-without-entity \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"integrationCode": "<string>",
"country": "<string>",
"type": "<string>",
"taxId": "<string>",
"name": "<string>",
"parameters": {}
}
'import requests
url = "http://api.gu1.ai/integration-execution/execute-without-entity"
payload = {
"integrationCode": "<string>",
"country": "<string>",
"type": "<string>",
"taxId": "<string>",
"name": "<string>",
"parameters": {}
}
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({
integrationCode: '<string>',
country: '<string>',
type: '<string>',
taxId: '<string>',
name: '<string>',
parameters: {}
})
};
fetch('http://api.gu1.ai/integration-execution/execute-without-entity', 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 => "http://api.gu1.ai/integration-execution/execute-without-entity",
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([
'integrationCode' => '<string>',
'country' => '<string>',
'type' => '<string>',
'taxId' => '<string>',
'name' => '<string>',
'parameters' => [
]
]),
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 := "http://api.gu1.ai/integration-execution/execute-without-entity"
payload := strings.NewReader("{\n \"integrationCode\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"taxId\": \"<string>\",\n \"name\": \"<string>\",\n \"parameters\": {}\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("http://api.gu1.ai/integration-execution/execute-without-entity")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"integrationCode\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"taxId\": \"<string>\",\n \"name\": \"<string>\",\n \"parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/integration-execution/execute-without-entity")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"integrationCode\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"taxId\": \"<string>\",\n \"name\": \"<string>\",\n \"parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"result": {}
}Ruta bajo
Requiere permiso para ejecutar enriquecimientos (misma familia que
/integration-execution. Usa los mismos códigos de integración que el Marketplace (véase Códigos compartidos y las tablas por tipo en la misma sección).Requiere permiso para ejecutar enriquecimientos (misma familia que
POST /integration-execution/marketplace/enrichment).Las ejecuciones headless no crean ni actualizan
entities, normalized_enrichment ni auditorías ligadas a entidad. Solo escriben auditoría append-only (headless_enrichment_execution_audit) y, si aplica, caché (headless_enrichment_cache) en éxitos.Resumen
Sirve para lanzar un enriquecimiento con taxId y/o nombre, país y tipo (person / company) sin registrar antes una Persona o Empresa en Gu1.
Endpoints relacionados (solo lectura): Listar ejecuciones headless y Detalle por id.
URL
POST https://api.gu1.ai/integration-execution/execute-without-entity
Query
boolean
default:"false"
Si es
true o 1, solo devuelve un payload cacheado de éxito previo (misma org, integración, país, tipo, tax/nombre, hash de parámetros). Sin llamada al proveedor ni consumo de tokens. Sin caché → 404 (CACHE_MISS).Cuerpo (JSON)
string
required
Código de integración del Marketplace.
string
required
País ISO-3166-1 alpha-2 (dos letras; se guarda en mayúsculas).
string
required
person o company.string
Opcional. Al menos uno de
taxId o name (tras trim) es obligatorio.string
Opcional. Al menos uno de
taxId o name.object
Opcional; por defecto
{}.Respuesta 200 (éxito de enriquecimiento)
CuandoenrichmentSuccess es true, el cuerpo incluye entre otros:
object
Objeto con
raw y mapped: cada uno es un objeto indexado por código de integración (rama cruda del proveedor y campos normalizados; misma familia que enriquecimientos marketplace sobre entidad).success, cached, integrationCode, country, type, enrichmentSuccess, errors, totalCostCents, executionTimeMs, probeEntityId, billing (en HTTP solo tokensSpent y balanceRemainingCents; el coste en centavos del intento va en totalCostCents y en auditoría interna, no dentro de billing).
Errores habituales
400 si no hay proveedor para el contexto; 422 fallo de proveedor o normalización; 403 integración deshabilitada; 404CACHE_MISS con cached=true; 402 saldo insuficiente; validación Zod en 4xx.
Ejemplo
curl -sS -X POST 'https://api.gu1.ai/integration-execution/execute-without-entity' \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"integrationCode": "br_bdc_basic_data_enrichment",
"country": "BR",
"type": "person",
"taxId": "12345678909",
"parameters": {}
}'
Was this page helpful?