La carga de videos se inicia a través de una solicitud POST en la ruta <code>/v1/videos</code> Esta ruta solo se utilizará para crear la carga, y no para la carga en sí. A partir de la llamada de esta ruta, se devolverán datos en los ENCABEZADOS de la respuesta que se utilizarán para realizar la subida.
La carga en sí se realizará a través de la ruta /v1/videos/uploads/:id
Actualmente, la API no acepta más de una carga a la vez.
Subir creación – POST
Route
Método | Ruta | Descripción |
---|---|---|
POST | /v1/videos |
Ruta para crear la subida. |
* Token generado por la ruta de autenticación
Headers
Param | Escribe | Descripción | Obligatorio |
---|---|---|---|
Tus-Resumable | String |
Versión del protocolo TUS. Enviar siempre 1.0.0 | Sí |
Upload-Length | Number |
Tamaño del archivo a subir (En bytes). | Sí |
Upload-Metadata | String |
“filename” seguido del nombre de archivo base64. Ex.: Nombre del archivo: test_converted=> Upload-Metadata: filename dGVzdGUubXA0. |
Sí |
Content-Type | String |
application/json | No |
galería | String |
Uuid de la galería que se subirá más tarde. | No |
Autorización | String |
Autorización de tokens. | Sí |
Response
– Respuesta al realizar una carga (Estado: 201)
Name | Value |
---|---|
X-Powered-By | Express |
Tus-Resumable | 1.0.0 |
Access-Control-Expose-Headers | Authorization, Content-Type, Location, Tus-Extension, Tus-Max-Size, Tus-Resumable, Tus-Version, Upload-Defer-Length, Upload-Length, Upload-Metadata, Upload-Offset, X-HTTP-Method-Override, X-Requested-With |
Location | //localhost:15214/v1/videos/uploads/410b471ac3ed2ee0f8856e7aa4358ba4 |
Content-Length | 0 |
Date | Tue, 21 Jun 2022 13:09:10 GMT |
Connection | keep-alive |
Keep-Alive | timeout=5 |
– Respuesta de error al no enviar el campo requerido o el campo en formato incorrecto (Estado: 400)
{ "error": "Bad Request" }
– Respuesta de error al intentar realizar más de una carga a la vez por aplicación (Estado: 429)
{ "error": "Too many simultaneous uploads, please send one file at a time" }
– Respuesta de error debido a algún error interno (Estado: 500)
{ "error": "Internal Server Error" }
Upload – PATCH
Route
Método | Ruta | Descripción |
---|---|---|
PATCH | /v1/videos/uploads/:id |
Ruta para cargar. |
NOTA: En esta petición se debe pasar el vídeo que se especifica en Upload-Metadata en su forma binaria. Como ejemplo, en Insomnia, sería seleccionar la opción ‘archivo’, y luego seleccionar la opción ‘Archivo binario’, y luego seleccionar el archivo deseado.
Headers
Param | Escribe | Descripción | Obligatorio |
---|---|---|---|
Tus-Resumable | String |
Versión del protocolo TUS. Enviar siempre 1.0.0 | Sí |
Content-Length | Number |
Cantidad en bytes que falta por subir. | Sí |
Upload-Offset | Number |
Byte inicial para la carga (Si es la primera solicitud, debe comenzar con 0, si la carga se ha interrumpido, la carga debe continuar donde se detuvo, esta información la proporciona el parámetro Upload-Offset devuelto en HEAD / v1/videos/subidas/:id). | Sí |
Upload-Metadata | String |
“filename” seguido del nombre del archivo en base64. Ej.: Nombre de archivo: test_converted=> Upload-Metadata: filename dGVzdGUubXA0. | Sí |
Content-Type | String |
application/offset+octet-stream | Sí |
galería | String |
Uuid de la galería que se subirá más tarde. | No |
Autorización | String |
Autorización de tokens. | Sí |
Response
– Encabezado de la respuesta al realizar una carga (Estado: 201)
Name | Value |
---|---|
X-Powered-By | Express |
Tus-Resumable | 1.0.0 |
Access-Control-Expose-Headers | Authorization, Content-Type, Location, Tus-Extension, Tus-Max-Size, Tus-Resumable, Tus-Version, Upload-Defer-Length, Upload-Length, Upload-Metadata, Upload-Offset, X-HTTP-Method-Override, X-Requested-With |
Location | //localhost:15214/v1/videos/uploads/410b471ac3ed2ee0f8856e7aa4358ba4 |
Content-Length | 0 |
Date | Tue, 21 Jun 2022 13:09:10 GMT |
Connection | keep-alive |
Keep-Alive | timeout=5 |
– Respuesta de error cuando los metadatos de carga no se envían correctamente (Estado: 400)
{ "error": "Bad Request" }
– Respuesta de error al intentar realizar más de una carga a la vez por aplicación (Estado: 429)
{ "error": "Too many simultaneous uploads, please send one file at a time" }
– Respuesta de error debido a algún error interno (Estado: 500)
{ "error": "Internal Server Error" }
Devuelve la información de la carga – HEAD
Route
Método | Ruta | Descripción |
---|---|---|
PATCH | /v1/videos/uploads/:id |
Ruta para cargar. |
Headers
Param | Escribe | Descripción | Obligatorio |
---|---|---|---|
Autorización | String |
Autorización de tokens. | Sí |
Tus-Resumable | String |
Versión del protocolo TUS. Enviar siempre 1.0.0 | Sí |
Response
Nota: El parámetro Upload_Offset devuelto indica cuántos bytes ya fueron enviados, cuando Upload-Offset es igual a Upload-length, la carga fue concluida.
– Encabezado de la respuesta al realizar una carga (Estado: 201)
Name | Value |
---|---|
X-Powered-By | Express |
Tus-Resumable | 1.0.0 |
Access-Control-Expose-Headers | Authorization, Content-Type, Location, Tus-Extension, Tus-Max-Size, Tus-Resumable, Tus-Version, Upload-Defer-Length, Upload-Length, Upload-Metadata, Upload-Offset, X-HTTP-Method-Override, X-Requested-With |
Location | //localhost:15214/v1/videos/uploads/410b471ac3ed2ee0f8856e7aa4358ba4 |
Content-Length | 0 |
Date | Tue, 21 Jun 2022 13:09:10 GMT |
Connection | keep-alive |
Keep-Alive | timeout=5 |
– Respuesta de error debido a algún error interno (Estado: 500)
{ "error": "Internal Server Error" }