Perfil del emisor GET

Lee y actualiza el perfil del emisor que usa el RIDE: nombre comercial, direccion, contacto y logo. identificacion es el RUC habilitado en tu API Key.

GET  /v1/contribuyentes/{identificacion}/perfil
PUT  /v1/contribuyentes/{identificacion}/perfil
POST /v1/contribuyentes/{identificacion}/perfil/logo

Obtener#

curl -s "https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil" \
  -H "X-Api-Key: $ECUAFACT_API_KEY"
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-Api-Key", apiKey);
string json = await http.GetStringAsync(
    "https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil");
import os, requests

r = requests.get(
    "https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil",
    headers={"X-Api-Key": os.environ["ECUAFACT_API_KEY"]},
    timeout=30)
print(r.json())
const res = await fetch(
  "https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil",
  { headers: { "X-Api-Key": process.env.ECUAFACT_API_KEY } });
console.log(await res.json());
<?php
$ch = curl_init("https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("ECUAFACT_API_KEY")],
]);
echo curl_exec($ch);
curl_close($ch);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient cliente = HttpClient.newHttpClient();
HttpRequest peticion = HttpRequest.newBuilder()
    .uri(URI.create("https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil"))
    .header("X-Api-Key", System.getenv("ECUAFACT_API_KEY"))
    .GET()
    .build();
HttpResponse<String> respuesta = cliente.send(peticion, HttpResponse.BodyHandlers.ofString());
System.out.println(respuesta.body());
using Ecuafact.Sdk.Contracts;

// client: cliente EcuafactClient - ver SDK .NET
PerfilEmisor perfil = await client.GetPerfilAsync(identificacion);
Console.WriteLine(perfil.NombreComercial);
# client: cliente EcuafactClient - ver SDK Python
perfil = client.get_perfil(identificacion)
print(perfil.nombre_comercial)
// client: cliente EcuafactClient - ver SDK Node.js
const perfil = await client.getPerfil(identificacion);
console.log(perfil.nombreComercial);
<?php
// $client: cliente EcuafactClient - ver SDK PHP
$perfil = $client->getPerfil($identificacion);
echo $perfil->nombreComercial;
import com.ecuafact.sdk.contracts.PerfilEmisor;

// client: cliente EcuafactClient - ver SDK Java
PerfilEmisor perfil = client.getPerfil(identificacion);
System.out.println(perfil.nombreComercial);
{
  "datos": {
    "identificacion": "0123456789001",
    "razonSocial": "PRUEBA 2 ECUAFACT",
    "nombreComercial": "Prueba",
    "direccionMatriz": "Av. PRINCIPAL",
    "correo": "contacto@empresa.com",
    "telefono": "042345678",
    "ciudad": "GUAYAQUIL",
    "provincia": "GUAYAS",
    "logo": "0123456789001_Logo.jpg"
  }
}

Actualizar#

Solo se cambian los campos que envias. razonSocial no se edita por esta via.

curl -s -X PUT "https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil" \
  -H "X-Api-Key: $ECUAFACT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "nombreComercial": "Prueba", "correo": "contacto@empresa.com" }'
using Ecuafact.Sdk.Contracts;

PerfilEmisorUpdate cambios = new()
{
    NombreComercial = "Prueba",
    Correo = "contacto@empresa.com"
};
PerfilEmisor perfil = await client.ActualizarPerfilAsync(identificacion, cambios);
from ecuafact.models import PerfilEmisorUpdate

cambios = PerfilEmisorUpdate(nombreComercial="Prueba", correo="contacto@empresa.com")
perfil = client.actualizar_perfil(identificacion, cambios)
const perfil = await client.actualizarPerfil(identificacion, {
  nombreComercial: "Prueba",
  correo: "contacto@empresa.com",
});
<?php
use Ecuafact\Sdk\Contracts\PerfilEmisorUpdate;

$cambios = new PerfilEmisorUpdate();
$cambios->nombreComercial = "Prueba";
$cambios->correo = "contacto@empresa.com";
$perfil = $client->actualizarPerfil($identificacion, $cambios);
import com.ecuafact.sdk.contracts.PerfilEmisorUpdate;

PerfilEmisorUpdate cambios = new PerfilEmisorUpdate();
cambios.nombreComercial = "Prueba";
cambios.correo = "contacto@empresa.com";
client.actualizarPerfil(identificacion, cambios);

POST /v1/contribuyentes/{identificacion}/perfil/logo con multipart/form-data. Campo logo. PNG o JPEG, hasta 512 KB.

curl -s -X POST "https://staging-api.mynexusapi.com/v1/contribuyentes/0123456789001/perfil/logo" \
  -H "X-Api-Key: $ECUAFACT_API_KEY" \
  -F "logo=@logo.png;type=image/png"
byte[] png = await File.ReadAllBytesAsync("logo.png");
await client.ActualizarLogoAsync(identificacion, png, "image/png", "logo.png");

Estados de este endpoint#

Estado codigo Cuando
200 - Perfil leido o actualizado
400 301 El logo esta vacio, excede 512 KB o no es PNG/JPEG
401 101 API Key invalida
403 103 El contribuyente no esta habilitado en tu API Key
429 104 Limite de solicitudes excedido
502 003 No se pudo completar la actualizacion

Siguientes pasos#

No se pudo completar la operacion. Recargar ✕