Afip SDK
GitHubHomeComunidadBlog
  • 📖Documentación
  • Paso a paso
    • 🎯Instalacion
    • ☁️Web services
      • 💵Factura electrónica
        • Crear PDF
        • Código QR
        • Factura A
        • Factura B
        • Factura C
        • Factura de Crédito electrónica A
        • Factura de Crédito electrónica B
        • Factura de Crédito electrónica C
        • Nota de Crédito A
        • Nota de Crédito B
        • Nota de Crédito C
      • 📑Padrón de constancia de inscripción
      • 📑Padrón alcance 10
      • 📑Padrón alcance 13
      • 💸Factura MiPyME
      • 🔎Constatación de Comprobantes
      • ✉️Carta de Porte Electrónica
      • 🏨Comprobantes de Turismo
      • 💸Factura de Exportación
      • 🥩Remito cárnico
      • 🛠️Otro web service
    • 📚Tutoriales página de ARCA
      • 🔑Habilitar administrador de certificados de testing
      • 📜Obtener certificado de testing
      • ✅Autorizar web service de testing
      • 🔑Habilitar administrador de certificados de producción
      • 📜Obtener certificado de producción
      • ✅Autorizar web service de producción
      • 💳Crear punto de venta
      • 🤝Delegar web service
      • 👍Aceptar delegación de web service
    • ⚙️Otros métodos útiles
    • 🚀Ir a producción
  • Ayuda
    • ⁉️Preguntas frecuentes
    • 🐞Errores frecuentes
Con tecnología de GitBook
En esta página
  • 1 - Agregar la librería a tu proyecto
  • 2 - Incluir la librería en tu proyecto
  • 3 - Crear una instancia clase Afip
  • Si querés usar tu propio certificado para desarrollo (opcional)

¿Te fue útil?

  1. Paso a paso

Instalacion

AnteriorDocumentaciónSiguienteWeb services

Última actualización hace 2 meses

¿Te fue útil?

1 - Agregar la librería a tu proyecto

NPM

npm install --save @afipsdk/afip.js

Yarn

yarn add @afipsdk/afip.js

Composer

composer require afipsdk/afip.php

Manual

  1. Clonarlo con git clone o descargar el repositorio desde .

  2. Copiar el contenido de la carpeta res a tu aplicación.

Gemfile

gem 'afip.rb', '~> 1.0', '>= 1.0.1'

Gem

gem install afip.rb

PyPI

pip install afip.py

Dependiendo del lenguaje que utilices podes utilizar los métodos nativos para hacer llamadas a API's.

La URL base de la API es:

https://app.afipsdk.com/api/

El body de las peticiones es de tipo JSON.

Se debe agregar el header correspondiente:

Content-Type: application/json

2 - Incluir la librería en tu proyecto

const Afip = require('@afipsdk/afip.js');

Manual

include 'ruta/a/la/libreria/src/Afip.php';

Composer

require 'vendor/autoload.php';

use Afip;
require "afip"
from afip import Afip

No se requiere ninguna acción adicional.

3 - Crear una instancia clase Afip

Para usar los web services de ARCA, se requiere un certificado digital. Te dejo esta guía donde se explica qué es este certificado y cómo obtenerlo:

De todas formas, con Afip SDK puedes integrarte en modo desarrollo usando el CUIT 20409378472 sin necesidad de obtener un certificado, para poder integrarte lo más rápido posible.

const afip = new Afip({ CUIT: 20409378472 });
$afip = new Afip(array('CUIT' => 20409378472));
afip = Afip.new({ "CUIT": 20409378472 })
afip = Afip({ "CUIT": 20409378472 })

Al utilizar la API, antes de cada llamada a los web services debemos pedir la autorización llamando al siguiente endpoint:

Endpoint

POST https://app.afipsdk.com/api/v1/afip/auth

Body

Nombre
Tipo
Valor

environment

string

Usar "dev" para ambiente de desarrollo o "prod" para producción

tax_id

string

CUIT para el cual queremos obtener la autorización

wsid

string

ID del web service a utilizar

force_create

boolean

cert

string

Certificado de ARCA

key

string

Key del certificado

Ejemplo

{
    "environment": "dev",
    "tax_id": "20409378472",
    "wsid": "wsfe"
}

Response

STATUS 200

{
    "expiration": "2024-03-13T00:42:59.845Z",
    "token": "PD94bWwgd...",
    "sign": "kEaCwSs36hpe..."
}

token y sign corresponde a la autorización que nos da ARCA, debemos enviar estos datos en el body cada solicitud a los web services. Mas adelante, en el manual de cada web service veras donde colocarlo.

Eso es todo, ya podes comenzar a usar los web services de ARCA en tu proyecto.


Si querés usar tu propio certificado para desarrollo (opcional)

const fs = require('fs');

// Certificado (Puede estar guardado en archivos, DB, etc)
const cert = fs.readFileSync('./certificado.crt', {encoding: 'utf8'});

// Key (Puede estar guardado en archivos, DB, etc)
const key = fs.readFileSync('./key.key', {encoding: 'utf8'});

// Tu CUIT
const taxId = 20111111112;

const afip = new Afip({ 
    CUIT: taxId,
    cert: cert
    key: key
});
// Certificado (Puede estar guardado en archivos, DB, etc)
$cert = file_get_contents('./certificado.crt');

// Key (Puede estar guardado en archivos, DB, etc)
$key = file_get_contents('./key.key');

// Tu CUIT
$tax_id = 20111111112;

$afip = new Afip(array(
    'CUIT' => $tax_id,
    'cert' => $cert,
    'key' => $key
));
# Certificado (Puede estar guardado en archivos, DB, etc)
cert = File.read("./certificado.crt")

# Key (Puede estar guardado en archivos, DB, etc)
key = File.read("./key.key")

# Tu CUIT
tax_id = 20111111112

afip = Afip.new({
    "CUIT": tax_id,
    "cert": cert,
    "key": key
))
# Certificado (Puede estar guardado en archivos, DB, etc)
cert = open("./certificado.crt").read()

# Key (Puede estar guardado en archivos, DB, etc)
key = open("./key.key").read()

# Tu CUIT
tax_id = 20111111112

afip = Afip({
    "CUIT": tax_id,
    "cert": cert,
    "key": key
))

Al pedir la autorización agregamos cert y key en el body

POST https://app.afipsdk.com/api/v1/afip/auth

{
    "environment": "dev",
    "tax_id": "20111111112",
    "wsid": "wsfe",
    "cert": "-----BEGIN CERTIFICATE-----\nMIIDRzC...",
    "key": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIEowIBAAKCA..."
}

default: false Se debe setear en true si queremos forzar la creación de una nueva autorización.

Luego de crear el certificado siguiendo la guía indicada en el , lo agregamos en la nueva instancia de la librería.

🎯
paso 3
aqui
Obtener el certificado para conectar tu sistema con los web services de ARCA
Logo
Mas información