En esta sección explicamos cómo es el proceso para consumir el api de la aplicación Estampillador.
# API Estampillador - Guia de Consumo
## Ambientes
- TEST: https://estampillastest.amr.org.ar/api/test
- PRODUCCION: https://estampillas.amr.org.ar/api/v1
## Autenticacion
- Tipo: Bearer JWT.
- Header: `Authorization: Bearer <token>`
### Obtener token (ejemplo)
```bash
curl --location 'https://auth.amr.org.ar/realms/AMR-Gestion/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=estampilladorBackend' \
--data-urlencode 'username=usuario' \
--data-urlencode 'password=contraseña' \
--data-urlencode 'client_secret=secretoDeClienteProvistoPorAMR'
```
## Formato de respuestas
- Content-Type: `application/json`
### Error (formato unico)
```json
{
"timestamp": "2026-02-24T10:15:30.123",
"message": "Detalle del error"
}
```
Codigos habituales:
- 400: validacion de request.
- 403: permiso denegado.
- 404: recurso inexistente.
- 500: error inesperado.
## Endpoints
### Tipos de documentos
`GET /tiposDocumentos`
Respuesta:
```json
[
{
"codigo": 1,
"descripcion": "Documento Nacional de Identidad",
"abreviatura": "DNI"
}
]
```
### Profesiones
`GET /profesiones`
Respuesta:
```json
[
{
"codigo": 1,
"nombre": "Médico"
}
]
```
### Profesiones habilitadas como efector
`GET /profesiones/efectores`
Respuesta:
```json
[
{
"codigo": 1,
"nombre": "Médico"
},
{
"codigo": 2,
"nombre": "Fonoaudiólogo"
}
]
```
### Efectores sugeridos
`GET /efectores/sugeridos?codigoProfesion={short}&filtro={string}`
Parametros:
- `codigoProfesion` (short, requerido)
- `filtro` (string, requerido)
Respuesta:
```json
[
{
"id": {
"codigoProfesion": 10,
"matriculaProfesional": 12345,
"libro": "A",
"folio": "12"
},
"nombre": "Nombre Efector",
"tipoDocumento": {
"codigo": 1,
"descripcion": "Documento Nacional de Identidad",
"abreviatura": "DNI"
},
"numeroDocumento": 12345678
}
]
```
### Tipos de estampillas
`GET /tiposEstampillas`
Respuesta:
```json
[
{
"codigo": 1,
"descripcion": "Colegio de Médicos"
}
]
```
### Estampillar
`POST /estampillas`
Request:
```json
{
"efector": {
"id": {
"codigoProfesion": 10,
"matriculaProfesional": 12345,
"libro": "A",
"folio": "12"
}
},
"paciente": {
"tipoDocumento": {
"codigo": 1
},
"nombre": "Juan",
"apellido": "Perez",
"email": "[email protected]",
"numeroDocumento": "12345678",
"numeroFicha": "F-0001"
},
"tipoEstampilla": {
"codigo": 1
},
"observaciones": "Texto opcional"
}
```
Campos requeridos:
- `efector.id.codigoProfesion`
- `efector.id.matriculaProfesional`
- `paciente.tipoDocumento.codigo`
- `paciente.nombre`
- `paciente.numeroDocumento`
- `paciente.numeroFicha`
- `tipoEstampilla.codigo`
Respuesta:
```json
{
"id": "c2c7b3d5-3d7d-4f21-9d1b-3b5db2b8a1f4",
"prestador": {
"id": {
"codigoProfesion": 10,
"matriculaProfesional": 12345,
"libro": "A",
"folio": "12"
},
"nombre": "Nombre Prestador"
},
"efector": {
"id": {
"codigoProfesion": 10,
"matriculaProfesional": 12345,
"libro": "A",
"folio": "12"
},
"nombre": "Nombre Efector",
"tipoDocumento": {
"codigo": 1,
"descripcion": "DNI",
"abreviatura": "DNI"
},
"numeroDocumento": 12345678
},
"paciente": {
"tipoDocumento": {
"codigo": 1,
"descripcion": "DNI",
"abreviatura": "DNI"
},
"numeroDocumento": "12345678",
"nombre": "Juan",
"apellido": "Perez",
"email": "[email protected]",
"numeroFicha": "F-0001"
},
"tipoEstampilla": {
"codigo": 1,
"descripcion": "Estampilla X"
},
"observaciones": "Texto opcional",
"fechaEmision": "2026-02-24T10:15:30.123",
"importe": 1234.56,
"url": "https://..."
}
```
### Obtener estampilla
`GET /estampillas/{uuid}`
Respuesta: mismo formato que `POST /estampillas`.