# URLs y Autenticación

## Obtén tus credenciales de API

Todos los requests deben utilizar autenticación.&#x20;

Existen actualmente dos métodos de autenticarse:

| Método                                                                        | Cuando usar                                                                              | Ejemplos                                                                                                                            |
| ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| [Autenticación básica HTTP con credenciales de cuenta](#autenticacion-basica) | En una integración exclusiva para una cuenta.                                            | <p>Un desarrollo custom.<br>Una tienda propia.</p>                                                                                  |
| <p><a href="/pages/4CsTMB0lXD4yT1sOHJ69">oAuth2 (access\_token)</a><br></p>   | Cuando la integración será usada por múltiples cuentas de Zipnova Envíos independientes. | <p>Marketplaces.</p><p>Sistemas de ecommerce.<br>Productos SaaS multi cliente como gestores de ordenes, productos, etc.<br>ERPs</p> |

### Autenticación básica

Utiliza la autenticación básica HTTP usando un API token y API secret, generados en la cuenta a la que se quiere acceder.

#### Generación de credenciales para autenticación básica

Para generar tus credenciales debes ingresar a la cuenta de Zipnova que estás integrando y acceder a la sección **Configuración > Integraciones > Gestionar credenciales y webhooks**

Allí, podrás crear un nuevo token de cuenta, el cual consiste en un **API Token** y un **API Secret.**

{% hint style="info" %}
Tus requests deberán utilizar [**autenticación básica de HTTP**](https://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_acceso_b%C3%A1sica)**.**

**Usuario:** API Token \
**Contraseña:** API Secret
{% endhint %}

Si la librería que estás usando no acepta que se le indique un usuario y contraseña de autenticación básica deberás contruir manualmente el header Authorization [como se indica en esta guía](https://diego.com.es/autenticacion-http).

### Autenticación con access\_token

Deberás enviar un Bearer token en cada request. Tendrás un access\_token por cada cuenta de Zipnova que te autorice el acceso.

Para ver cómo obtener y refrescar los tokens, revisa la ayuda sobre la [autenticación con Oauth2](/envios/principios/autorizacion-con-oauth.md).

## Headers obligatorios

Todas las respuestas de la API que devuelvan datos utilizarán JSON para estructurarlos.

En los requests POST o PUT, donde se debe enviar información, se debe utilizar JSON, con lo cual es necesario.

Para armar el request, es obligatorio incluir el siguiente header (además del de autenticación):

```
Accept: application/json
```

Y si se envían datos a Zipnova en el body, deberás incluir el header de Content-Type:

```
Content-Type: application/json
```

## Armado de la URL de los endpoints

{% hint style="danger" %}
Recientemente hicimos un cambio en los dominios de nuestra API, debido al cambio de nombre de Zippin por Zipnova.

Si tu integración utiliza URLs con el dominio de Zippin, **deberás actualizarlos por Zipnova antes del 1 de Abril de 2026**

* **api.zippin.com.ar** cambia por **api.zipnova.com.ar**
* **api.zippin.cl** cambia por **api.zipnova.cl**
* **api.zippin.com.mx** cambia por **api.zipnova.com.mx**
  {% endhint %}

Todas las URLs tendrán el siguiente formato:

> <https://api>.<mark style="color:purple;">`{dominio}`</mark>/<mark style="color:orange;">`{version}`</mark>/<mark style="color:red;">`{endpoint}`</mark>

Donde:

* <mark style="color:purple;">`dominio`</mark>
  * 🇦🇷 Argentina: `zipnova.com.ar`&#x20;
  * 🇨🇱 Chile: `zipnova.cl`
  * 🇲🇽 México: `zipnova.com.mx`
* <mark style="color:orange;">`version`</mark>
  * Actualmente `v2` es la única opción.
* <mark style="color:red;">`endpoint`</mark>
  * Es el que indica la documentación. Por ejemplo: `shipments`

Ejemplo de la URL: **<https://api>.**<mark style="color:purple;">**zipnova.com.ar**</mark>**/**<mark style="color:orange;">**v2**</mark>**/**<mark style="color:red;">**shipments**</mark>&#x20;

{% hint style="warning" %}
Los endpoints de [autenticación oAuth](/envios/principios/autorizacion-con-oauth.md) no utilizan el prefijo de versión.
{% endhint %}

## Ejemplo de request CURL

```
curl --request POST \
  --url https://api.zipnova.com.ar/v2/shipments/quote \
  --header 'Accept: application/json' \
  --header 'Authorization: Basic YWRtaWXXXXXXXXXXFvIQ==' \
  --header 'Content-Type: application/json' \
  --data '{
	"account_id": "3355",
	"origin_id": "9323",
	"declared_value": 9015,
	"items": [
		{
			"sku": "103964928",
			"weight": 99,
			"height": 10,
			"width": 5,
			"length": 10,
			"description": "Capsulas The Coffee Store comp. Nespresso Mix",
			"classification_id": 1
		},
		{
			"sku": "103964928",
			"weight": 500,
			"height": 5,
			"width": 10,
			"length": 10,
			"description": "Capsulas The Coffee Store comp. Nespresso Mix",
			"classification_id": 1
		}
	],
	"destination": {
		"city": "cordoba",
		"state": "cordoba",
		"zipcode": "5000"
	}
}'
```


---

# Agent Instructions: 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.zipnova.com/envios/principios/urls-y-autenticacion.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.
