> For the complete documentation index, see [llms.txt](https://docs.afipsdk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.afipsdk.com/integracion/ai-builders/v0.md).

# v0

### Requisitos previos

Para poder seguir esta guía, primero necesitarás:

* [Obtener un access\_token de Afip SDK](https://app.afipsdk.com)
* Tener un proyecto Next.js generado con v0
* Definir el CUIT que vas a usar
* Elegir el Web Service ID, por ejemplo `wsfe` para factura electrónica

### 1. Configuración

v0 puede generar la UI y el código de Next.js. Para Afip SDK, la parte importante es que el access token quede en una variable de entorno privada y que la llamada se haga desde un Route Handler o Server Action.

{% tabs %}
{% tab title=".env.local" %}

```bash
AFIPSDK_ACCESS_TOKEN=TU_ACCESS_TOKEN
AFIPSDK_TAX_ID=20409378472
AFIPSDK_WSID=wsfe
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
No uses `NEXT_PUBLIC_` para el access token. Las variables con ese prefijo pueden quedar expuestas al navegador.
{% endhint %}

### 2. Crear la integración en v0

Pedile a v0 que genere una página y una ruta backend. El componente puede ser cliente para manejar el formulario, pero la llamada a Afip SDK debe vivir en `/api/afipsdk/web-service`.

{% tabs %}
{% tab title="Prompt" %}

```
Creá una app Next.js para integrar un web service de ARCA usando Afip SDK.

UI:
- Página simple con título "Consulta de Web Service ARCA".
- Formulario con CUIT, ambiente dev/prod y Web Service ID.
- Textarea para cargar el payload JSON del método que se va a ejecutar.
- Botón para ejecutar la consulta.
- Estados de loading, resultado y error.
- Validación visual si el JSON ingresado es inválido.

Backend:
- Crear un Route Handler en /api/afipsdk/web-service.
- El Route Handler debe leer process.env.AFIPSDK_ACCESS_TOKEN.
- No usar variables NEXT_PUBLIC_ para secrets.
- Primero llamar a POST https://app.afipsdk.com/api/v1/afip/auth.
- Enviar Authorization: Bearer TU_ACCESS_TOKEN.
- Enviar body JSON con environment, tax_id y wsid.
- Usar token y sign devueltos por Afip SDK para ejecutar el método del web service elegido según la documentación oficial.
- Devolver el resultado al frontend sin exponer AFIPSDK_ACCESS_TOKEN.

Variables de entorno:
- AFIPSDK_ACCESS_TOKEN: access token de Afip SDK.
- AFIPSDK_TAX_ID: CUIT por defecto, opcional.
- AFIPSDK_WSID: Web Service ID por defecto, opcional.

Reglas:
- No hardcodees credenciales.
- No expongas secrets al navegador.
- No inventes endpoints ni estructuras de respuesta.
- Usá la documentación oficial:
  - https://docs.afipsdk.com/integracion/api
  - https://docs.afipsdk.com/siguientes-pasos/web-services/
  - https://docs.afipsdk.com/siguientes-pasos/web-services/otro-web-service
  - https://afipsdk.com/docs/api-reference/introduction/
```

{% endtab %}
{% endtabs %}

### 3. Llamar al método del Web Service que necesites

Con el Route Handler creado ya podés realizar llamadas a los Web Services que necesites.

{% content-ref url="/pages/mVTz5YrKc8PCEeJKHt0W" %}
[Web services](/siguientes-pasos/web-services.md)
{% endcontent-ref %}

Si el Web Service que necesitás no se encuentra en la lista de la documentación, podés llamarlo siguiendo esta guía:

{% content-ref url="/pages/4zlCsTNGo99FZGfrhpZn" %}
[Otro web service](/siguientes-pasos/web-services/otro-web-service.md)
{% endcontent-ref %}

Podés usar la referencia de la API para obtener ejemplos de cómo usar los métodos de todos los web services de ARCA.

{% embed url="<https://afipsdk.com/docs/api-reference/introduction/>" %}

También podés usar las guías del blog de Afip SDK para v0:

{% embed url="<https://afipsdk.com/blog/category/v0/>" %}

***

### Usar tu propio certificado <sup><sub>(Opcional)<sub></sup>

Primero, obtenemos el certificado siguiendo esta guía.

{% embed url="<https://afipsdk.com/blog/como-obtener-certificado-para-web-services-arca/>" fullWidth="false" %}

Y luego agregá el certificado y la key como variables de entorno privadas.

{% tabs %}
{% tab title=".env.local" %}

```bash
AFIPSDK_CERT=-----BEGIN CERTIFICATE-----...
AFIPSDK_KEY=-----BEGIN RSA PRIVATE KEY-----...
```

{% endtab %}

{% tab title="Prompt adicional" %}

```
Actualizá el Route Handler /api/afipsdk/web-service para soportar certificado propio.

Reglas:
- Leer AFIPSDK_CERT y AFIPSDK_KEY desde variables de entorno privadas.
- No usar NEXT_PUBLIC_ para cert, key ni access token.
- Al llamar a POST /api/v1/afip/auth, incluir cert y key en el body si existen.
- Mantener el frontend sin acceso a secrets.
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.afipsdk.com/integracion/ai-builders/v0.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
