Falhas batch de eventos de usuário
curl --request GET \
--url http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures \
--header 'Authorization: Bearer <token>'import requests
url = "http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures', 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/batch-import/user-event-jobs/{jobId}/failures",
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 := "http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures"
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("http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyReferência API
Falhas batch de eventos de usuário
Baixe relatórios CSV ou JSON com linhas de eventos de usuário que falharam em um job batch, incluindo número da linha, códigos de erro e validação.
GET
/
batch-import
/
user-event-jobs
/
{jobId}
/
failures
Falhas batch de eventos de usuário
curl --request GET \
--url http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures \
--header 'Authorization: Bearer <token>'import requests
url = "http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures', 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/batch-import/user-event-jobs/{jobId}/failures",
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 := "http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures"
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("http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyEndpoints
GET https://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures.csv
GET https://api.gu1.ai/batch-import/user-event-jobs/{jobId}/failures
…/failures.csv→ download CSV…/failures→ JSON
Autenticação e permissões
Authorization: Bearer SUA_API_KEY
transactions:create, entities:bulk_import, events:create.
Respostas HTTP
| Código | Quando |
|---|---|
200 | Job encontrado |
401 | Sem autenticação |
403 | Sem permissão |
404 | Job não encontrado |
Colunas CSV
| Coluna | Descrição |
|---|---|
row_key | Id da linha fonte (p. ex. row_5 = linha 5 do CSV) |
code | Código estável — catálogo |
error | Mensagem legível |
Resposta JSON
Mesmo envelope que Falhas batch de transações, comkind: user_event_batch. O sample de failures[] (máx. 500) é hidratado a partir de failures.csv no S3 quando disponível; baixe o CSV para a lista completa.
{
"success": true,
"jobId": "…",
"kind": "user_event_batch",
"status": "completed",
"totalItems": 50,
"succeeded": 49,
"failed": 1,
"skipped": 0,
"failures": [
{
"rowKey": "row_5",
"code": "VALIDATION_ERROR",
"message": "Campo obrigatório vazio"
}
],
"truncated": false,
"failuresTotal": 1
}
VALIDATION_ERROR, ENTITY_NOT_FOUND, PROCESSING_ERROR.
Ver também: Importar eventos, Códigos de falha.Was this page helpful?