> For the complete documentation index, see [llms.txt](https://developers.tusfacturas.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.tusfacturas.app/web-services-afip-api-arca/consulta-avanzada-por-external-reference.md).

# Consulta por external reference

Servicio API de TusFacturasAPP para consultar tus ventas por la external reference enviada. Confiable desde 2015. Con el respaldo de un estudio impositivo. ¡Los desarrolladores la aman!

### Endpoint

{% hint style="info" %} <mark style="color:purple;">`POST`</mark> `https://www.tusfacturas.app/app/api/v2/facturacion/`<mark style="color:blue;">`consulta_avanzada`</mark>
{% endhint %}

Ésta consulta tiene 2 herramientas útiles:

* Consulta BULK por external reference
* Consulta individual por external reference

### JSON para consultar ventas individuales por external reference

```json
{
"usertoken" :  "xxxx",
"apikey"    :  "xxxx",
"apitoken"  :  "xxxx",
"busqueda_tipo": "EXT_REF",
 "pagina" : 0,
 "limite": 100 ,
"comprobante": 
	{
			"external_reference": "ABC1234",
			"operacion": "V"  
	}
} 
```

### JSON para consultar ventas BULK por external reference

Podes enviar hasta 100 external reference para consultar, sin embargo puede suceder que jsons muy extensos sean bloqueados a nivel firewall. En ese caso te sugerimos reducir la cantidad de ext. reference a consultar.

```json
{
"usertoken" :  "xxxx",
"apikey"    :  "xxxx",
"apitoken"  :  "xxxx",
"busqueda_tipo": "EXT_REF_LIST",
 "pagina" : 0,
 "limite": 100 ,
"comprobante": 
	{
			"external_reference": ["ABC1234", "ABC1235", "ABC188" ],
			"operacion": "V"  
	}
} 
```

### ¿Cómo enviar una consulta según mi lenguaje de programación?

Podes enviar un request para consultar tus ventas por external reference, mediante CURL o usando tu lenguaje de programación favorito. A continuación te mostramos algunos ejemplos. Reemplaza "TUSFACTURAS\_JSON\_DATA" por el JSON especificado anteriormente.

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

```sh
curl --request POST \
  --url https://www.tusfacturas.app/app/api/v2/facturacion/consulta_avanzada \
  --header 'Content-Type: application/json' \
  --data ' 
     TUSFACTURAS_JSON_DATA
     '
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://www.tusfacturas.app/app/api/v2/facturacion/consulta_avanzada",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "TUSFACTURAS_JSON_DATA",
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

{% endtab %}

{% tab title="Python" %}

```python
import http.client

conn = http.client.HTTPSConnection("www.tusfacturas.app")

payload = "TUSFACTURAS_JSON_DATA"

headers = {
    'Content-Type': "application/json"
    }

conn.request("POST", "/app/api/v2/facturacion/consulta_avanzada", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
var axios = require("axios").default;

var options = {
  method: 'POST',
  url: 'https://www.tusfacturas.app/app/api/v2/facturacion/consulta_avanzada',
  headers: {'Content-Type': 'application/json'},
  data: TUSFACTURAS_JSON_DATA
   
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://www.tusfacturas.app/app/api/v2/facturacion/consulta_avanzada")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "TUSFACTURAS_JSON_DATA"

response = http.request(request)
puts response.read_body
```

{% endtab %}
{% endtabs %}

### Parámetros para enviar una consulta por external reference&#x20;

[TusFacturasAPP](https://www.tusfacturas.app) es un robusto software de facturación avalado por un estudio contable impositivo que lo mantiene actualizado día a día con los constantes cambios en materia impositivas de Argentina. Consulta la [documentación de la API de facturación AFIP/ARCA](/api-factura-electronica-afip-facturacion-ventas/consulta-avanzada.md#consulta-avanzada-por-external-reference),  con referencia a cada parámetro.

### Respuesta esperada

{% content-ref url="/pages/7fTn6rdpNqiuwthSJXxT" %}
[Consulta avanzada](/api-factura-electronica-afip-facturacion-ventas/consulta-avanzada.md)
{% endcontent-ref %}

***

TusFacturasAPP , el [software de facturación](https://www.tusfacturas.app/software-de-facturacion-argentina.html) y  [gestión](https://www.tusfacturas.app/software-de-gestion-para-pymes.html)  diseñado para empresas que facturen en Argentina. Conoce más de [TusFacturasAPP](https://www.tusfacturas.app).&#x20;

### ¿Aún te quedan dudas? ¡Contactános!

En caso que requieras asistencia o tengas alguna duda relacionada con tu plan API DEV,  envíanos un mensaje a <api@tusfacturas.app> o [contactanos](https://www.tusfacturas.app/contacto.html) por el chat que tenemos disponible en la web [www.tusfacturas.app](https://www.tusfacturas.app/quiero-probar-api-factura-electronica.html).
