# Herramientas

Todo lo que te ayuda a probar e integrar la API sin empezar de cero, de Postman e Insomnia a n8n, Make o Zapier.

## Postman e Insomnia

Una colección con **todos los endpoints de la API**, generada del mismo contrato que esta documentación cada vez que se publica el sitio, y dos ambientes:

[Colección](https://developers.posdata.so/descargas/posdata-api.postman_collection.json)

[Todos los endpoints · Postman v2.1](https://developers.posdata.so/descargas/posdata-api.postman_collection.json)

[Ambiente de pruebas](https://developers.posdata.so/descargas/posdata-pruebas.postman_environment.json)

[apidev.posdata.so · keys pdk_test\_](https://developers.posdata.so/descargas/posdata-pruebas.postman_environment.json)

[Ambiente de producción](https://developers.posdata.so/descargas/posdata-produccion.postman_environment.json)

[api.posdata.so · keys pdk_live\_](https://developers.posdata.so/descargas/posdata-produccion.postman_environment.json)

### En Postman

1. **Import** → arrastra los tres archivos.
2. Elige el ambiente **Posdata · Pruebas** (empieza siempre en pruebas, con una key `pdk_test_…`).
3. En el ambiente, pon tu API key en la variable `api_key`. Es de tipo _secret_: Postman la oculta y no la comparte cuando exportas la colección.
4. Abre **Cuenta → Cuenta, API key y frescura de los datos** (`GET /me`) y envíala: te dice qué cuenta es y qué permisos tiene la key.

- Todas las peticiones se autentican con `Authorization: Bearer {{api_key}}` desde la colección.
- Cada `POST` recibe un `Idempotency-Key` nuevo (`{{$guid}}`) de un script de la colección. Para **reintentar la misma operación**, activa el header `Idempotency-Key` de esa petición y fija su valor: así no se crea nada dos veces. Mira [Idempotencia](https://developers.posdata.so/idempotencia/).
- Los cuerpos de ejemplo traen solo los campos obligatorios, con valores ilustrativos: cámbialos por los tuyos. Los filtros de las listas vienen desactivados; actívalos cuando los necesites.

### En Insomnia

Insomnia importa la misma colección de Postman: **Import** → el archivo de la colección. Luego crea un ambiente con las variables `base_url` (`https://apidev.posdata.so/public/v1` para pruebas) y `api_key`.

> **Atención**
>
> Si tu cliente no ejecuta el script de la colección, agrega a mano el header `Idempotency-Key` en cada `POST` (un valor nuevo por operación): sin él la API responde `400 IDEMPOTENCY_KEY_REQUIRED`.

## Contrato OpenAPI

El contrato completo, en OpenAPI 3.1, está en [api.posdata.so/public/v1/openapi.json](https://api.posdata.so/public/v1/openapi.json). Es el mismo del que salen esta documentación y la colección: úsalo para generar un cliente en tu lenguaje o para validar tus integraciones.

## Para asistentes de IA

- Cada página de esta documentación tiene su versión en Markdown: agrega `.md` a la dirección (por ejemplo [/errores.md](https://developers.posdata.so/errores.md)). En cada página también están **Copiar página** y **Pregúntale a la IA**, que la abre en ChatGPT o Claude.
- [llms.txt](https://developers.posdata.so/llms.txt) resume la API para un agente en una sola página.
- ¿Quieres que un agente de IA **opere** Posdata por ti en vez de integrar tus sistemas? Eso es Agent Connect, disponible en todos los planes: conoce más en [posdata.so](https://posdata.so).

## Automatizaciones: n8n, Make y Zapier

No hay una app oficial de Posdata en n8n, Make ni Zapier. No hace falta: la API y los webhooks son HTTP estándar y cada plataforma tiene un paso genérico para ellos.

| Plataforma | Para llamar a la API                    | Para recibir webhooks                |
| ---------- | --------------------------------------- | ------------------------------------ |
| n8n        | Nodo **HTTP Request**                   | Nodo **Webhook**                     |
| Make       | Módulo **HTTP**                         | **Webhooks** → webhook personalizado |
| Zapier     | **Webhooks by Zapier** (Custom Request) | **Webhooks by Zapier** (Catch Hook)  |

- **Para llamar a la API**: URL `https://api.posdata.so/public/v1/…`, header `Authorization: Bearer <tu key>` (guárdala en las credenciales de la plataforma, no en el texto del paso) y, en cada `POST`, un `Idempotency-Key` único por operación: por ejemplo, el id del pedido o de la ejecución.
- **Para recibir webhooks**: crea el endpoint en cuenta.posdata.so → Desarrolladores → Webhooks con la URL que te da la plataforma (solo `https` en el puerto 443). Verificar la firma exige el cuerpo crudo, byte por byte (mira [Webhooks](https://developers.posdata.so/webhooks/#verifica-la-firma)); si tu plataforma no te lo entrega, no actúes solo con el webhook: confírmalo pidiendo el evento con `GET /events/{id}` y el `id` que llegó.
- Las marcas pertenecen a sus dueños; su mención no implica respaldo.

---

Fuente: https://developers.posdata.so/herramientas/ · Índice para agentes: https://developers.posdata.so/llms.txt
