Saltar al contenido

Enviar archivos

POST /upload recibe un archivo del usuario autenticado. El archivo puede enviarse en multipart/form-data o como cuerpo binario de la solicitud; los metadatos opcionales son los mismos en ambos formatos.

Elija el formato

FormatoCuándo usarloMetadatos
multipart/form-dataFormularios y la mayoría de las bibliotecas HTTP.Campos del formulario
application/octet-streamEnvío en streaming o clientes que no construyen multipart.Cabeceras X-STCPDIRECTLINK-*

Metadatos opcionales

El uso de cada metadato depende de las operaciones habilitadas en el entorno.

MultipartCuerpo binario (cabecera)Descripción
file (obligatorio)X-STCPDIRECTLINK-FILENAME (obligatorio)Archivo enviado (multipart) o nombre del archivo (cuerpo binario).
dX-STCPDIRECTLINK-DESTINATIONDestinatario o usuario de destino.
mX-STCPDIRECTLINK-EMAILCorreo electrónico asociado a la notificación de la transferencia.
cX-STCPDIRECTLINK-MOBILETeléfono móvil asociado a la notificación de la transferencia.
hX-STCPDIRECTLINK-HASHHash SHA-256 esperado del archivo, en hexadecimal. El valor se devuelve en el header X-STCPDIRECTLINK-HASH de la descarga.
nX-STCPDIRECTLINK-EMAIL-FROMIdentificación o correo electrónico del remitente.
iX-STCPDIRECTLINK-INFOInformación adicional o etiquetas de la transferencia.

Enviar el archivo

Envío mínimo:

curl -i \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -F 'file=@./documento.pdf' \
  "$API_BASE/upload"

Con destinatario y notificación:

curl -i \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -F 'file=@./documento.pdf' \
  -F 'd=DESTINATARIO' \
  -F 'm=destinatario@example.com' \
  -F 'c=5511999999999' \
  -F "h=$(sha256sum ./documento.pdf | cut -d' ' -f1)" \
  -F 'i=referencia-externa' \
  "$API_BASE/upload"

Interpretar la respuesta

La respuesta 200 incluye los datos de la transferencia:

{
  "status": 0,
  "description": "<descripción devuelta por la API>",
  "apiver": "v2 (9.0.1)",
  "user": "USUARIO",
  "id": "<identificador del archivo>",
  "destination": "DESTINATARIO",
  "length": 12345,
  "linkURL": [],
  "time": "<fecha y hora>"
}
CampoDescripción
idNombre o identificador del archivo recibido.
destinationDestino de la transferencia.
lengthTamaño recibido, en bytes.
linkURLEnlaces de notificación generados para la transferencia, si los hay.

Los valores concretos dependen del entorno; use la respuesta recibida como referencia.

Consejo

Compare length con el tamaño del archivo local e informe el hash en el envío para detectar transferencias incompletas.

Contrato completo en Referencia: Transferencias.