API
La API de OneScrip permite que tus propios sistemas y scripts añadan publicaciones (elementos) a OneScrip, también con imágenes o vídeos.
Crear una clave API
- En el panel de OneScrip, abre «Claves API» en la barra lateral
- Haz clic en «Crear nueva clave»
- Escribe una etiqueta fácil de reconocer y, en los permisos, marca «Añadir elementos (publicaciones, imágenes, vídeos)»
- Haz clic en «Crear» y copia el secreto que aparece
El secreto solo se muestra una vez, justo después de crear la clave. OneScrip no lo guarda, así que no se puede volver a mostrar. Si lo pierdes, elimina la clave y crea una nueva.
- Solo los propietarios y administradores del proyecto pueden crear o eliminar claves API
- El número de claves que puedes crear depende de tu plan
- Una clave solo puede acceder a los datos del proyecto en el que se creó
Conceptos básicos
| Elemento | Detalles |
|---|---|
| URL base | https://api.onescrip.com/v1 |
| Autenticación | Cabecera Authorization: Bearer <clave API> o X-API-Key: <clave API> |
| Límite de frecuencia | 60 solicitudes por minuto por clave API |
| Formato de respuesta | JSON |
Trata tu clave API como una contraseña y úsala solo desde lugares seguros, como servidores o scripts. No se admiten llamadas desde JavaScript ejecutado en el navegador (CORS).
Listar contenidos
GET /contents
Devuelve los contenidos de tu proyecto. Úsalo para encontrar el id del contenido al que quieres añadir publicaciones.
curl https://api.onescrip.com/v1/contents \
-H "Authorization: Bearer $ONESCRIP_API_KEY"
{
"contents": [
{
"id": "6f1c2a4e-....",
"name": "Publicaciones de la cuenta oficial",
"description": null,
"type": "social",
"folderId": null
}
]
}
Solo se pueden añadir publicaciones a contenidos cuyo type sea social.
Añadir una publicación
POST /contents/{contentId}/items
Envía las publicaciones de solo texto en JSON. Para adjuntar imágenes o vídeos, usa multipart/form-data.
| Parámetro | Tipo | Descripción |
|---|---|---|
value | cadena (obligatorio) | Texto de la publicación, hasta 1000 caracteres |
key | cadena | Clave opcional para identificar la publicación |
images | archivo | Archivo de imagen. JPEG / PNG / WebP / GIF, hasta 5 MB cada uno |
imageUrls | lista de cadenas | URL de imágenes. OneScrip descarga y guarda las imágenes |
video | archivo | Archivo de vídeo. MP4 / WebM / MOV / AVI, hasta 50 MB |
videoUploadId | cadena | ID de un vídeo grande subido previamente (ver más abajo) |
videoThumbnail | archivo | Miniatura del vídeo. Si se omite, se genera a partir del vídeo |
- Puedes adjuntar hasta 4 imágenes en total (
imagesmásimageUrls) o 1 vídeo - Una publicación no puede tener imágenes y vídeo a la vez
- Las imágenes se convierten a WebP al guardarse
Si todo va bien, la API devuelve 201 con el ID de la nueva publicación.
{ "id": "0b8d5c1f-...." }
Publicación de solo texto
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "Ya está aquí nuestro nuevo producto"}'
Publicación con imágenes
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-F "value=Ya está aquí nuestro nuevo producto" \
-F "images=@./photo1.jpg" \
-F "images=@./photo2.png"
Las URL de imágenes se pueden enviar en JSON.
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "Ya está aquí nuestro nuevo producto", "imageUrls": ["https://example.com/photo.jpg"]}'
Publicación con vídeo
Los vídeos de hasta unos 30 MB se pueden adjuntar directamente.
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-F "value=Una publicación con vídeo" \
-F "video=@./movie.mp4"
Subir un vídeo grande
Cada solicitud tiene un límite de unos 32 MB. Para vídeos más grandes (hasta 50 MB), sigue estos tres pasos.
1. Solicitar una URL de subida
POST /contents/{contentId}/video-uploads
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/video-uploads \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contentType": "video/mp4", "size": 41943040}'
Indica en contentType uno de estos valores: video/mp4, video/webm, video/quicktime o video/x-msvideo, y en size el tamaño del archivo en bytes.
{
"uploadId": "3e7a9b20-....",
"uploadUrl": "https://storage.googleapis.com/....",
"method": "PUT",
"headers": {
"Content-Type": "video/mp4",
"Cache-Control": "private, max-age=0",
"x-goog-if-generation-match": "0"
}
}
2. Subir el archivo de vídeo
Envía el archivo con PUT a uploadUrl, incluyendo todas las cabeceras de headers. La subida falla si falta alguna.
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
-H "Cache-Control: private, max-age=0" \
-H "x-goog-if-generation-match: 0" \
--data-binary @./movie.mp4
3. Añadir la publicación
Indica en videoUploadId el uploadId del paso 1.
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "Una publicación con vídeo", "videoUploadId": "3e7a9b20-...."}'
Las URL de subida caducan 15 minutos después de emitirse.
Errores
Los errores devuelven un mensaje con este formato.
{ "error": "Invalid API key" }
| Estado | Significado | Causas habituales |
|---|---|---|
400 | Datos no válidos | Texto vacío, tipo o tamaño de archivo no admitido, imágenes y vídeo adjuntos a la vez |
401 | Error de autenticación | Falta la clave API, o es incorrecta o se eliminó |
403 | Acción no permitida | La clave no tiene el permiso, o se alcanzó el límite de publicaciones o almacenamiento del plan |
404 | No encontrado | El ID del contenido es incorrecto o pertenece a otro proyecto |
429 | Demasiadas solicitudes | Se superó el límite de frecuencia. Espera un momento y vuelve a intentarlo |
Preguntas frecuentes
¿Las publicaciones añadidas por la API se publican de inmediato?
Las publicaciones añadidas por la API se registran en el contenido igual que las añadidas desde el panel. Cuándo se publican depende de la configuración de publicación y la programación del contenido.
¿Qué hago si mi clave API se ha filtrado?
Elimina la clave desde «Claves API» en el panel. Una clave eliminada deja de funcionar de inmediato.