La carga de recursos en Dynamic Media Classic implica una o más solicitudes de POST HTTP que configuran un trabajo para coordinar toda la actividad de registro asociada con los archivos cargados.
Utilice la siguiente URL para acceder al servlet UploadFile:
https://<server>/scene7/UploadFile
Todas las solicitudes de POST de un trabajo de carga deben proceder de la misma dirección IP.
Acceso a direcciones URL para regiones de Dynamic Media
Ubicación geográfica |
URL de producción |
Dirección URL de ensayo (se utiliza para desarrollo y prueba previa a la producción) |
---|---|---|
América del Norte |
https://s7sps1ssl.scene7.com/scene7/UploadFile |
https://s7sps1ssl-staging.scene7.com/scene7/UploadFile |
Europa, Oriente Medio, Asia |
https://s7sps3ssl.scene7.com/scene7/UploadFile |
https://s7sps3ssl-staging.scene7.com/scene7/UploadFile |
Japón/Asia Pacífico |
https://s7sps5ssl.scene7.com/scene7/UploadFile |
https://s7sps5ssl-staging.scene7.com/scene7/UploadFile |
El trabajo de carga consta de uno o más POST HTTP que utilizan una jobHandle
para correlacionar el procesamiento en el mismo trabajo. Cada solicitud es multipart/form-data
está codificado y consta de las siguientes partes del formulario:
Todas las solicitudes de POST de un trabajo de carga deben proceder de la misma dirección IP.
Parte del formulario del POST HTTP | Descripción |
---|---|
auth |
Obligatorio. Documento XML authHeader que especifica la autenticación y la información del cliente. Consulte Solicitud de autenticación under SOAP. |
file params |
Opcional. Puede incluir uno o más archivos para cargarlos con cada solicitud del POST. Cada parte del archivo puede incluir un parámetro de nombre de archivo en el encabezado Content-Disposition que se utiliza como nombre de archivo de destino en IPS si no uploadPostParams/fileName se ha especificado. |
Parte del formulario del POST HTTP | nombre del elemento uploadPostParams | Tipo | Descripción |
---|---|---|---|
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
companyHandle |
xsd:string |
Obligatorio. Gestione a la empresa a la que se está cargando el archivo. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
jobName |
xsd:string |
Cualquiera jobName o jobHandle es obligatorio. Nombre del trabajo de carga. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
jobHandle |
xsd:string |
Cualquiera jobName o jobHandle es obligatorio. Gestione un trabajo de carga iniciado en una solicitud anterior. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
locale |
xsd:string |
Opcional. Idioma y código de país para la localización. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
description |
xsd:string |
Opcional. Descripción del trabajo. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
destFolder |
xsd:string |
Opcional. La ruta de la carpeta de destino añade un prefijo a una propiedad de nombre de archivo, especialmente para exploradores y otros clientes que pueden no admitir rutas de acceso completas en un nombre de archivo. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
fileName |
xsd:string |
Opcional. Nombre del archivo de destino. Anula la propiedad filename . |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
endJob |
xsd:boolean |
Opcional. El valor predeterminado es false. |
uploadParams (Se requieren. Un XML uploadParams documento que especifica los parámetros de carga) |
uploadParams |
types:UploadPostJob |
Opcional si es una solicitud posterior para un trabajo activo existente. Si hay un trabajo existente, uploadParams se ignora y se utilizan los parámetros de carga de trabajo existentes. Consulte UploadPostJob |
Dentro de <uploadPostParams>
es el valor <uploadParams>
que designa el procesamiento de los archivos incluidos.
Consulte UploadPostJob.
Aunque puede suponer que la variable uploadParams
puede cambiar para archivos individuales como parte del mismo trabajo, no es el caso. Utilice lo mismo uploadParams
parámetros para todo el trabajo.
La solicitud inicial del POST para un nuevo trabajo de carga debe especificar la variable jobName
, preferiblemente utilizando un nombre de trabajo único para simplificar las consultas de sondeo y registro de trabajos posteriores. Las solicitudes de POST adicionales para el mismo trabajo de carga deben especificar la variable jobHandle
en lugar de jobName
, usando la variable jobHandle
valor devuelto desde la solicitud inicial.
La solicitud final del POST para un trabajo de carga debe establecer la variable endJob
como true para que no se publiquen archivos futuros para este trabajo. A su vez, esto permite que el trabajo se complete inmediatamente después de ingerir todos los archivos POSTed. De lo contrario, el tiempo de espera del trabajo finaliza si no se reciben solicitudes de POST adicionales en un plazo de 30 minutos.
Para una solicitud de POST correcta, el cuerpo de la respuesta es un XML uploadPostReturn
, tal como especifica el XSD en lo siguiente:
<element name="uploadPostReturn">
<complexType>
<sequence>
<element name="jobHandle" type="xsd:string"/>
</sequence>
</complexType>
</element>
La variable jobHandle
se pasa en la variable uploadPostParams
/ jobHandle
para cualquier solicitud de POST posterior para el mismo trabajo. También puede utilizarlo para sondear el estado del trabajo con la variable getActiveJobs
o para consultar los registros de trabajos con el getJobLogDetails
operación.
Si hay un error en el procesamiento de la solicitud del POST, el cuerpo de la respuesta consta de uno de los tipos de error de API descritos en Fallos.
POST /scene7/UploadFile HTTP/1.1
User-Agent: Jakarta Commons-HttpClient/3.1
Host: localhost
Content-Length: 362630
Content-Type: multipart/form-data; boundary=O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ
Content-Disposition: form-data; name="auth"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
<authHeader xmlns="http://www.scene7.com/IpsApi/xsd/2014-04-03">
<user>sampleuser@test.com</user>
<password>*</password>
<locale>en-US</locale>
<appName>MyUploadServletTest</appName>
<appVersion>1.0</appVersion>
<faultHttpStatusCode>200</faultHttpStatusCode>
</authHeader>
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ
Content-Disposition: form-data; name="uploadParams"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
<uploadPostParam xmlns="http://www.scene7.com/IpsApi/xsd/2014-04-03">
<companyHandle>c|2101</companyHandle>
<jobName>uploadFileServlet-1376682217351</jobName>
<uploadParams>
<overwrite>true</overwrite>
<readyForPublish>true</readyForPublish>
<preservePublishState>true</preservePublishState>
<createMask>true</createMask>
<preserveCrop>true</preserveCrop>
<manualCropOptions>
<left>500</left>
<right>500</right>
<top>500</top>
<bottom>500</bottom>
</manualCropOptions>
<photoshopOptions>
<process>MaintainLayers</process>
<layerOptions>
<layerNaming>AppendNumber</layerNaming>
<anchor>Northwest</anchor>
<createTemplate>true</createTemplate>
<extractText>true</extractText>
<extendLayers>false</extendLayers>
</layerOptions>
</photoshopOptions>
<emailSetting>None</emailSetting>
</uploadParams>
</uploadPostParam>
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ--
Content-Disposition: form-data; name="file1"; filename="ApiTestCo1/UploadFileServlet1376682217351//1376682217351-1.jpg"
Content-Type: application/octet-stream; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<file bytes ... >
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ--
Content-Disposition: form-data; name="file2"; filename="ApiTestCo1/UploadFileServlet1376682217351//1376682217351-2.jpg"
Content-Type: application/octet-stream; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<file bytes ... >
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ--
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Content-Length: 204
Date: Mon, 25 Jul 2016 19:43:38 GMT
Server: Unknown
'1.0' encoding='UTF-8'?><uploadPostReturn xmlns="http://www.scene7.com/IpsApi/xsd/2014-04-03">
<jobHandle>j|2101||uploadFileServlet-1376682217351|54091</jobHandle>
</uploadPostReturn>
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Content-Length: 210
Date: Mon, 25 Jul 2016 19:43:38 GMT
Server: Unknown
<?xml version='1.0' encoding='UTF-8'?><tns:authenticationFault xmlns:tns="http://www.scene7.com/IpsApi/xsd"><tns:code>10001</tns:code><tns:reason>Invalid username/password</tns:reason></tns:authenticationFault>