Enviar archivo CIARP
curl --request POST \
--url https://api.dev.impactu.colav.co/submit/ciarp \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.dev.impactu.colav.co/submit/ciarp"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.dev.impactu.colav.co/submit/ciarp', 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.dev.impactu.colav.co/submit/ciarp",
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([
]),
CURLOPT_HTTPHEADER => [
"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.dev.impactu.colav.co/submit/ciarp"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
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.dev.impactu.colav.co/submit/ciarp")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.impactu.colav.co/submit/ciarp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{ "success": true, "errors": 0, "warnings": 3, "duplicates": 0, "pdf_base64": "JVBERi0xLjQKJ..." }
{ "success": false, "msg": "Archivo requerido" }
{ "success": false, "errors": 2, "warnings": 1, "duplicates": 1, "pdf_base64": "JVBERi0xLjQKJ..." }
{"msg": "Token inválido o expirado", "success": false}
{
"success": false,
"errors": 1,
"duplicates": 0,
"msg": "El archivo enviado no cumple con el formato requerido de columnas",
"details": ["Columnas faltantes: identificacion"],
"pdf_base64": "JVBERi0xLjQKJ..."
}
Submit
Enviar archivo CIARP
Sube un Excel CIARP (.xlsx), lo valida y devuelve un reporte de calidad en PDF.
POST
/
submit
/
ciarp
Enviar archivo CIARP
curl --request POST \
--url https://api.dev.impactu.colav.co/submit/ciarp \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.dev.impactu.colav.co/submit/ciarp"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.dev.impactu.colav.co/submit/ciarp', 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.dev.impactu.colav.co/submit/ciarp",
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([
]),
CURLOPT_HTTPHEADER => [
"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.dev.impactu.colav.co/submit/ciarp"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
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.dev.impactu.colav.co/submit/ciarp")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.impactu.colav.co/submit/ciarp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{ "success": true, "errors": 0, "warnings": 3, "duplicates": 0, "pdf_base64": "JVBERi0xLjQKJ..." }
{ "success": false, "msg": "Archivo requerido" }
{ "success": false, "errors": 2, "warnings": 1, "duplicates": 1, "pdf_base64": "JVBERi0xLjQKJ..." }
{"msg": "Token inválido o expirado", "success": false}
{
"success": false,
"errors": 1,
"duplicates": 0,
"msg": "El archivo enviado no cumple con el formato requerido de columnas",
"details": ["Columnas faltantes: identificacion"],
"pdf_base64": "JVBERi0xLjQKJ..."
}
Requiere sesión activa. El JWT se lee desde la cookie
access_token_cookie.
La solicitud debe enviarse como multipart/form-data.Cuerpo de la solicitud
file
required
Archivo Excel
.xlsx con los datos CIARP.Respuesta
boolean
true si el archivo no tiene errores. Con errores, la respuesta es 400 con
el mismo reporte.integer
Número de errores encontrados en el archivo.
integer
Número de advertencias.
integer
Número de registros duplicados detectados.
string
Reporte de calidad en formato PDF codificado en Base64.
string
Solo en los errores: motivo del rechazo. Si faltan columnas o hay columnas sin nombre, la
respuesta es
422 y details lista cada problema.{ "success": true, "errors": 0, "warnings": 3, "duplicates": 0, "pdf_base64": "JVBERi0xLjQKJ..." }
{ "success": false, "msg": "Archivo requerido" }
{ "success": false, "errors": 2, "warnings": 1, "duplicates": 1, "pdf_base64": "JVBERi0xLjQKJ..." }
{"msg": "Token inválido o expirado", "success": false}
{
"success": false,
"errors": 1,
"duplicates": 0,
"msg": "El archivo enviado no cumple con el formato requerido de columnas",
"details": ["Columnas faltantes: identificacion"],
"pdf_base64": "JVBERi0xLjQKJ..."
}