Afip SDK
Hacer una pregunta…
K
Links
😎

Otros métodos útiles

Crear certificado

Podemos usar Afip SDK para crear certificados y evitar hacerlo de manera manual (ya que es tedioso y puede tener errores humanos)
Node
PHP
Ruby
Python
// Usuario para ingresar a AFIP.
// Para la mayoria es el mismo CUIT, pero al administrar
// una sociedad el CUIT con el que se ingresa es el del administrador
// de la sociedad.
const username = '201111111111';
// Contraseña para ingresar a AFIP.
const password = 'contraseñadeafip';
// Alias para el certificado (Nombre para reconocerlo en AFIP)
// un alias puede tener muchos certificados, si estas renovando
// un certificado pordes utilizar le mismo alias
const alias = 'afipsdk';
// Creamos el certificado (¡Paciencia! Esto toma unos cuantos segundos)
const res = await afip.CreateCert(username, password, alias);
// Mostramos el certificado por pantalla
console.log(res.cert);
// Mostramos la key por pantalla
console.log(res.key);
// ATENCION! Recorda guardar el cert y key ya que
// la libreria por seguridad no los guarda, esto depende de vos.
// Si no lo guardas vas tener que generar uno nuevo con este metodo
// Usuario para ingresar a AFIP.
// Para la mayoria es el mismo CUIT, pero al administrar
// una sociedad el CUIT con el que se ingresa es el del administrador
// de la sociedad.
$username = '201111111111';
// Contraseña para ingresar a AFIP.
$password = 'contraseñadeafip';
// Alias para el certificado (Nombre para reconocerlo en AFIP)
// un alias puede tener muchos certificados, si estas renovando
// un certificado pordes utilizar le mismo alias
$alias = 'afipsdk';
// Creamos el certificado (¡Paciencia! Esto toma unos cuantos segundos)
$res = $afip->CreateCert(username, password, alias);
// Mostramos el certificado por pantalla
var_dump($res->cert);
// Mostramos la key por pantalla
var_dump($res->key);
// ATENCION! Recorda guardar el cert y key ya que
// la libreria por seguridad no los guarda, esto depende de vos.
// Si no lo guardas vas tener que generar uno nuevo con este metodo
# Usuario para ingresar a AFIP.
# Para la mayoria es el mismo CUIT, pero al administrar
# una sociedad el CUIT con el que se ingresa es el del administrador
# de la sociedad.
username = "201111111111"
# Contraseña para ingresar a AFIP.
password = "contraseñadeafip"
# Alias para el certificado (Nombre para reconocerlo en AFIP)
# un alias puede tener muchos certificados, si estas renovando
# un certificado pordes utilizar le mismo alias
cert_alias = "afipsdk"
# Creamos el certificado (¡Paciencia! Esto toma unos cuantos segundos)
res = afip.createCert(username, password, cert_alias)
# Mostramos el certificado por pantalla
puts res["cert"]
# Mostramos la key por pantalla
puts res["key"]
# ATENCION! Recorda guardar el cert y key ya que
# la libreria por seguridad no los guarda, esto depende de vos.
# Si no lo guardas vas tener que generar uno nuevo con este metodo
# Usuario para ingresar a AFIP.
# Para la mayoria es el mismo CUIT, pero al administrar
# una sociedad el CUIT con el que se ingresa es el del administrador
# de la sociedad.
username = "201111111111"
# Contraseña para ingresar a AFIP.
password = "contraseñadeafip"
# Alias para el certificado (Nombre para reconocerlo en AFIP)
# un alias puede tener muchos certificados, si estas renovando
# un certificado pordes utilizar le mismo alias
cert_alias = "afipsdk"
# Creamos el certificado (¡Paciencia! Esto toma unos cuantos segundos)
res = afip.createCert(username, password, cert_alias)
# Mostramos el certificado por pantalla
print(res["cert"])
# Mostramos la key por pantalla
print(res["key"])
# ATENCION! Recorda guardar el cert y key ya que
# la libreria por seguridad no los guarda, esto depende de vos.
# Si no lo guardas vas tener que generar uno nuevo con este metodo

Autorizar web service

Una vez creado el certificado podemos usar Afip SDK para crearle autorizaciones a web services
Node
PHP
Ruby
Python
// Usuario para ingresar a AFIP.
// Para la mayoria es el mismo CUIT, pero al administrar
// una sociedad el CUIT con el que se ingresa es el del administrador
// de la sociedad.
const username = '201111111111';
// Contraseña para ingresar a AFIP.
const password = 'contraseñadeafip';
// Alias del certificado a autorizar (previamente creado)
const alias = 'afipsdk';
// Id del web service a autorizar
const wsid = 'wsfe';
// Creamos la autorizacion (¡Paciencia! Esto toma unos cuantos segundos)
const res = await afip.CreateWSAuth(username, password, alias, wsid);
// Mostramos el resultado por pantalla
console.log(res);
// Usuario para ingresar a AFIP.
// Para la mayoria es el mismo CUIT, pero al administrar
// una sociedad el CUIT con el que se ingresa es el del administrador
// de la sociedad.
$username = '201111111111';
// Contraseña para ingresar a AFIP.
$password = 'contraseñadeafip';
// Alias del certificado a autorizar (previamente creado)
$alias = 'afipsdk';
// Id del web service a autorizar
$wsid = 'wsfe';
// Creamos la autorizacion (¡Paciencia! Esto toma unos cuantos segundos)
$res = afip->CreateWSAuth($username, $password, $alias, $wsid);
// Mostramos el resultado por pantalla
var_dump($res);
# Usuario para ingresar a AFIP.
# Para la mayoria es el mismo CUIT, pero al administrar
# una sociedad el CUIT con el que se ingresa es el del administrador
# de la sociedad.
username = "201111111111"
# Contraseña para ingresar a AFIP.
password = "contraseñadeafip"
# Alias del certificado a autorizar (previamente creado)
cert_alias = "afipsdk"
# Id del web service a autorizar
wsid = "wsfe"
# Creamos la autorizacion (¡Paciencia! Esto toma unos cuantos segundos)
res = afip.createWSAuth(username, password, cert_alias, wsid)
# Mostramos el resultado por pantalla
puts res
# Usuario para ingresar a AFIP.
# Para la mayoria es el mismo CUIT, pero al administrar
# una sociedad el CUIT con el que se ingresa es el del administrador
# de la sociedad.
username = "201111111111"
# Contraseña para ingresar a AFIP.
password = "contraseñadeafip"
# Alias del certificado a autorizar (previamente creado)
cert_alias = "afipsdk"
# Id del web service a autorizar
wsid = "wsfe"
# Creamos la autorizacion (¡Paciencia! Esto toma unos cuantos segundos)
res = afip.createWSAuth(username, password, cert_alias, wsid)
# Mostramos el resultado por pantalla
print(res)

Obtener XML de la ultima solicitud realizada

Hay momentos en los cuales obtenemos un error y no sabemos como resolverlo, lo que podemos hacer es enviar un correo a [email protected] explicando el problema y adjuntarles el XML de solicitud y respuesta que te dio el web service para que te den una respuesta. Con ese método obtenés dicho XML.
Recordá utilizar a este método luego de llamar al web service y no antes porque lo que te devuelve es el XML ultima solicitud.
Node
PHP
Ruby
Python
const res = await afip.getLastRequestXML();
console.log(res);
$res = $afip->GetLastRequestXML();
var_dump($res);
res = afip.getLastRequestXML
puts res
res = afip.getLastRequestXML()
print(res)

Forzar la solicitud de un nuevo TA

El TA dura 12hs y queda cacheado para no solicitarlo todo el tiempo, pero hay momentos en los cuales obtenemos un error y la forma de solucionarlo es descartando el TA actual. Con este método podes forzar a que se renueve.
Los TA (token authorization) son archivos de AFIP, manejados automáticamente por la librería, que contienen la información para poder comunicarse con los web services.
Node
PHP
Ruby
Python
En cualquier web service podes llamar al método getTokenAuthorization(true); . El parámetro true fuerza la renovación. Por ej:
const ta = await afip.ElectronicBilling.getTokenAuthorization(true);
console.log(ta);
En cualquier web service podes llamar al método GetTokenAuthorization(TRUE); . El parámetro true fuerza la renovación. Por ej:
$ta = $afip->ElectronicBilling->getTokenAuthorization(TRUE);
var_dump($ta);
En cualquier web service podes llamar al método getTokenAuthorization(true) . El parámetro true fuerza la renovación. Por ej:
ta = afip.ElectronicBilling.getTokenAuthorization(true)
puts ta
En cualquier web service podes llamar al método getTokenAuthorization(True) . El parámetro true fuerza la renovación. Por ej:
ta = afip.ElectronicBilling.getTokenAuthorization(True)
print(ta)