# Bubble

### Requisitos previos

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

* [Obtener un access\_token de Afip SDK](https://app.afipsdk.com)

### Básicos

Para usar los Web Services de ARCA, vamos a utilizar la [API de Afip SDK](https://docs.afipsdk.com/integracion/api).

En la [documentación de la API](https://docs.afipsdk.com/integracion/api) podés consultar todos los parámetros del endpoint.

Para poder usar la API lo vamos a hacer a través del plugin API Connector.

En el menu izquierdo clickeamos en el icono de plugins

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-46667c271ddaa42ea957192889126ee914bb7a73%2FScreenshot%202025-06-25%20at%2016.41.00.png?alt=media" alt="" width="100"><figcaption></figcaption></figure>

Clickeamos en "+ Add Plugins"

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-8426f4d59ee9d6ecd25e2219e592fd79fb23f605%2FScreenshot%202025-06-25%20at%2016-41-32%20Afipsdk%20Bubble%20Editor.png?alt=media" alt="" width="214"><figcaption></figcaption></figure>

Buscamos "API Connector" y le damos a "Install"

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-8e2f3f2d5430cc03b7731f2610e0bf42b3ddd1f9%2Fimagen.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

Clickeamos en "+ Add another API"

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-45d583969a76078214b9fce32fcb3317fe307301%2Fimagen.png?alt=media" alt="" width="211"><figcaption></figcaption></figure>

En API Name ponemos "Afip SDK"

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-5f26b9b854e9f28d74f3b1f4f03457b01f7b8cee%2Fimagen.png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

***

### 1. Obtener el Ticket de Acceso (TA)

Antes de llamar a los Web Services de ARCA, necesitás un ticket de acceso (TA), también llamado Token Authorization.

Este TA expira tras un tiempo, pero no tenés que preocuparte por renovarlo: Afip SDK lo cachea y solicita uno nuevo automáticamente si es necesario. Solo llamá a la API y Afip SDK te devuelve el TA correspondiente.

Para obtener el TA se necesita un certificado digital, pero con Afip SDK podés empezar en modo desarrollo usando el CUIT 20-40937847-2 sin necesidad de uno.

Si preferís [usar tu propio certificado](#usar-tu-propio-certificado-opcional), al final te mostramos cómo.

{% tabs %}
{% tab title="API Call" %}
En el recuadro de API Call, en la esquina superior derecha, le damos a expand

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-ed6710fd4b48914f4989b7652a7bb18dec87d49c%2Fimagen.png?alt=media" alt=""><figcaption></figcaption></figure>

Completamos con la siguiente información:

Name

```
Auth Create
```

Use as

```
Action
```

Headers

```http
Authorization: Bearer TU_TOKEN_AQUI
```

Data type

```
JSON
```

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

Body

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

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-fe560da50556c94d4340bf0d6f7fcdd3204ce54c%2Fimagen.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

Clickeamos en "Initialize Call"

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-605191bcf6b6a24b25b96fc74542bcb02a54f891%2Fimagen.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

`token` y `sign` corresponden el TA que nos da ARCA. Debemos enviar estos datos en el body de cada solicitud a los Web Services. En el manual de cada Web Service verás dónde colocarlos.

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

Con el TA ya podés realizar las llamadas a los Web Services que necesites.

Es similar al código para obtener el TA, pero debés cambiar la URL y el body de la request.

Podés encontrar las URLs y los body correspondientes en las pestañas API de la documentación de cada Web Service.

{% content-ref url="../siguientes-pasos/web-services" %}
[web-services](https://docs.afipsdk.com/siguientes-pasos/web-services)
{% 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="../siguientes-pasos/web-services/otro-web-service" %}
[otro-web-service](https://docs.afipsdk.com/siguientes-pasos/web-services/otro-web-service)
{% 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 Bubble:

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

***

### 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" %}

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

{% tabs %}
{% tab title="API Call" %}
Body

```json
{
    "environment": "dev",
    "tax_id": "20111111112",
    "wsid": "wsfe",
    "cert": "-----BEGIN CERTIFICATE-----MIIDRzC...",
    "key": "-----BEGIN RSA PRIVATE KEY-----MIIEowIBAAKCA..."
}
```

<figure><img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-2b0fe4f16386cffdf9f8c9a01dee9cfd8efdedc2%2Fimagen.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}
