Ir al contenido

Descargar Formularios

Permite obtener el listado de formularios gestionados que aún no han sido transmitidos al ERP, incluyendo el detalle de preguntas y respuestas de cada formulario. Este endpoint está diseñado para que los sistemas de los clientes puedan descargar los formularios diligenciados en RSales e inyectarlos en sus propios sistemas. Soporta filtros por vendedor, cliente, código de formulario y fecha de creación, así como ordenamiento configurable y paginación.

Método: GET

https://api.ventasremotas.com/v1/forms/pending
HeaderValorDescripciónRequerido
Acceptapplication/jsonIndica que la respuesta debe estar en formato JSONNo
Subscription-Key{subscription_key}Clave de suscripción para acceder a la API
AuthorizationBearer {access_token}Token de acceso obtenido del endpoint /token

Todos los parámetros son opcionales. Si no se especifican, se retornan todos los formularios pendientes de transmisión con la paginación por defecto.

ParámetroTipoDescripción
seller_idStringFiltra por código exacto de vendedor. Longitud máxima: 18 caracteres.
client_idStringFiltra por código exacto de cliente. Longitud máxima: 18 caracteres.
created_fromDateRetorna formularios cuya fecha de creación es mayor o igual a este valor. Formato: YYYY-MM-DD.
ParámetroTipoDescripción
sortStringCampo y dirección de ordenamiento. Por defecto: fecha de creación descendente.
ValorDescripción
created_atOrdena por fecha de creación ascendente (ASC)
-created_atOrdena por fecha de creación descendente (DESC)
ParámetroTipoPor defectoRestriccionesDescripción
pageNumber1Mínimo: 1Número de página (1-indexed)
limitNumber100Mínimo: 1, Máximo: 100Cantidad de resultados por página

Ventana de terminal
curl -X GET "https://api.ventasremotas.com/v1/forms/pending" \
-H "Accept: application/json" \
-H "Subscription-Key: tu-subscription-key" \
-H "Authorization: Bearer tu-access-token"
Ventana de terminal
curl -X GET "https://api.ventasremotas.com/v1/forms/pending?seller_id=VEN-001" \
-H "Accept: application/json" \
-H "Subscription-Key: tu-subscription-key" \
-H "Authorization: Bearer tu-access-token"
Ventana de terminal
curl -X GET "https://api.ventasremotas.com/v1/forms/pending?created_from=2026-01-01&page=1&limit=50" \
-H "Accept: application/json" \
-H "Subscription-Key: tu-subscription-key" \
-H "Authorization: Bearer tu-access-token"

Petición con múltiples filtros y ordenamiento

Sección titulada «Petición con múltiples filtros y ordenamiento»
Ventana de terminal
curl -X GET "https://api.ventasremotas.com/v1/forms/pending?seller_id=VEN-001&client_id=CLI-001&created_from=2026-01-01&sort=created_at&page=1&limit=100" \
-H "Accept: application/json" \
-H "Subscription-Key: tu-subscription-key" \
-H "Authorization: Bearer tu-access-token"

{
"data": [
{
"seller_id": "VEN-001",
"result_code": 98501,
"client_id": "CLI-001",
"name": "Formulario de Visita",
"type": "VISITA",
"created_at": "2026-01-15T09:30:00",
"latitude": 4.7109886,
"longitude": -74.072092,
"address": "Calle 100 #15-25",
"show_in": "V",
"cell_info": "1.0.0|357123456789012",
"precision": 12.5,
"battery": 85.0,
"management_code": "GES-001",
"total_score": 100.0,
"obtained_score": 87.5,
"visit_time": 180,
"results": [
{
"question_code": 1,
"parent_question_code": null,
"question_type": "Selección única",
"question": "¿El cliente exhibe el producto correctamente?",
"value": "",
"not_applicable": "N",
"total_score": 25.0,
"obtained_score": 25.0
},
{
"question_code": 2,
"parent_question_code": null,
"question_type": "Texto libre",
"question": "Observaciones generales",
"value": "Todo en orden",
"not_applicable": "N",
"total_score": 0.0,
"obtained_score": 0.0
}
]
},
{
"seller_id": "VEN-002",
"result_code": 98502,
"client_id": null,
"name": "Formulario de Auditoría",
"type": "Visita",
"created_at": "2026-01-15T10:00:00",
"latitude": null,
"longitude": null,
"address": null,
"show_in": null,
"cell_info": null,
"precision": null,
"battery": null,
"management_code": null,
"total_score": null,
"obtained_score": null,
"visit_time": null,
"results": []
}
],
"meta": {
"totalItems": 42,
"itemCount": 2,
"itemsPerPage": 100,
"totalPages": 1,
"currentPage": 1
},
"links": {
"self": "https://api.ventasremotas.com/v1/forms/pending?page=1&limit=100",
"first": "https://api.ventasremotas.com/v1/forms/pending?page=1&limit=100",
"prev": null,
"next": null,
"last": "https://api.ventasremotas.com/v1/forms/pending?page=1&limit=100"
}
}

Cada elemento del array data contiene los siguientes campos:

CampoTipoDescripción
seller_idStringCódigo del vendedor que diligenció el formulario (puede ser null)
result_codeNumberCódigo único del resultado del formulario diligenciado
client_idStringCódigo del cliente asociado al formulario (puede ser null)
nameStringNombre o título del formulario según su configuración en RSales
typeStringTipo o categoría del formulario según su configuración en RSales. Ejemplos: VISITA, AUDITORÍA (puede ser null)
created_atDateTimeFecha de creación del formulario. Formato: yyyy-MM-ddTHH:mm:ss (puede ser null)
latitudeNumberCoordenada de latitud registrada al diligenciar el formulario (puede ser null)
longitudeNumberCoordenada de longitud registrada al diligenciar el formulario (puede ser null)
addressStringDirección geo-referenciada registrada al momento de diligenciar el formulario (puede ser null)
show_inStringContexto en que se diligenció el formulario. V: diligenciado durante una visita activa al cliente; P: formulario planeado sin visita activa asociada. Puede venir vacío o null
cell_infoStringVersión de la aplicación e IMEI del dispositivo, en formato version|IMEI. Ejemplo: 1.0.0|357123456789012 (puede ser null)
precisionNumberPrecisión del GPS en metros al momento del registro (puede ser null)
batteryNumberPorcentaje de batería del dispositivo al momento del registro. Valor de 0 a 100 (puede ser null)
management_codeStringCódigo de gestión de visita asociado al formulario, si fue diligenciado dentro de una gestión (puede ser null)
total_scoreNumberPuntaje total posible del formulario según su configuración (puede ser null)
obtained_scoreNumberPuntaje obtenido por el vendedor al diligenciar el formulario (puede ser null)
visit_timeNumberTiempo en segundos que tardó el vendedor en diligenciar el formulario (puede ser null)
resultsArrayLista de preguntas y respuestas del formulario. Puede venir vacío

Cada elemento del array results dentro de un formulario contiene:

CampoTipoDescripción
question_codeNumberCódigo único de la pregunta
parent_question_codeNumberCódigo de la pregunta padre, cuando se trate de preguntas anidadas o de una pregunta interna dentro de una tabla. (puede ser null)
question_typeStringTipo de pregunta según la configuración del formulario. Valores posibles: Simple, Multiple, Descripcion, Imagen, Audio, Documento, Numero, Video, Fecha, Firma, Correo Electrónico, Tabla, Escaner código de Barras/QR
questionStringTexto de la pregunta tal como fue configurada en el formulario
valueStringRespuesta registrada por el vendedor. Para preguntas de selección, contiene el texto de la opción seleccionada; para texto libre, el valor ingresado (puede ser null)
not_applicableStringIndica si la pregunta fue marcada como no aplica por el vendedor. Y: marcada como no aplica, N: respondida normalmente
total_scoreNumberPuntaje total posible para esta pregunta según la configuración del formulario
obtained_scoreNumberPuntaje obtenido en esta pregunta según la respuesta seleccionada
CampoTipoDescripción
totalItemsNumberCantidad total de formularios que coinciden con los filtros
itemCountNumberCantidad de formularios en la página actual
itemsPerPageNumberCantidad de items por página solicitados
totalPagesNumberTotal de páginas disponibles
currentPageNumberNúmero de la página actual
CampoTipoDescripción
selfStringURL de la página actual
firstStringURL de la primera página
prevStringURL de la página anterior (null si es la primera página)
nextStringURL de la página siguiente (null si es la última página)
lastStringURL de la última página