curl --request POST \
--url https://api.nomenclator.com.ar/v1/classifications/{id}/answers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"answers": [
{
"question_id": "q1",
"answer": "No, es de superficie."
}
],
"file_url": null
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
answers: [{question_id: 'q1', answer: 'No, es de superficie.'}],
file_url: null
})
};
fetch('https://api.nomenclator.com.ar/v1/classifications/{id}/answers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.nomenclator.com.ar/v1/classifications/{id}/answers"
payload = {
"answers": [
{
"question_id": "q1",
"answer": "No, es de superficie."
}
],
"file_url": None
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"status": "in_progress",
"stage": "answers_intake",
"app_url": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Responder las preguntas
Responde las preguntas de una clasificación en pending_data y la vuelve a in_progress. No suma costo: la clasificación se factura una sola vez, al resolverse. Hay una sola ronda de preguntas; sin respuesta en 30 días pasa a abandoned y no se factura. Requiere una key con alcance classify.
curl --request POST \
--url https://api.nomenclator.com.ar/v1/classifications/{id}/answers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"answers": [
{
"question_id": "q1",
"answer": "No, es de superficie."
}
],
"file_url": null
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
answers: [{question_id: 'q1', answer: 'No, es de superficie.'}],
file_url: null
})
};
fetch('https://api.nomenclator.com.ar/v1/classifications/{id}/answers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.nomenclator.com.ar/v1/classifications/{id}/answers"
payload = {
"answers": [
{
"question_id": "q1",
"answer": "No, es de superficie."
}
],
"file_url": None
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"status": "in_progress",
"stage": "answers_intake",
"app_url": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}answers por pregunta, con el id que vino en questions como question_id. file_url es opcional: mandalo en null si no sumás una ficha. Más detalle en el ciclo de una clasificación.Autorizaciones
API key de tu organización, creada en la app en Ajustes → API. Se manda como Authorization: Bearer nmc_live_…, nunca en la query string. Alcances: read (solo leer) y classify (clasificar y leer).
Encabezados
Clave que elegís vos, de 16 a 128 caracteres entre letras sin acentos, números, - y _. Repetir el pedido con la misma clave devuelve la misma clasificación y no factura dos veces.
^[A-Za-z0-9_-]{16,128}$"erp-pedido-000123-a"
Parámetros de ruta
Id público de la clasificación, el que devolvió el 202 al crearla.
^cls_[23456789ABCDEFGHJKMNPQRSTVWXYZ]{12}$Cuerpo
Respuesta
Aceptadas. La clasificación vuelve a in_progress.
Id público de la clasificación.
^cls_[23456789ABCDEFGHJKMNPQRSTVWXYZ]{12}$Siempre in_progress.
"in_progress"Etapa con la que arranca.
answers_intake, extraction, retrieval, verdict, validation, sim Link a la clasificación en la app.