Elementen uploaden via HTTP POST's naar de UploadFile-server uploading-assets-by-way-of-http-posts-to-the-uploadfile-servlet
Bij het uploaden van middelen naar Dynamic Media Classic zijn een of meer HTTP POST-aanvragen betrokken die een taak instellen om alle logactiviteiten te coördineren die aan de geüploade bestanden zijn gekoppeld.
Gebruik de volgende URL om toegang te krijgen tot de UploadFile-server:
https://<server>/scene7/UploadFile
Toegang URLs voor Dynamische gebieden van Media
Workflow van de uploadtaak section-873625b9512f477c992f5cdd77267094
De uploadtaak bestaat uit een of meer HTTP POST's die een gemeenschappelijke jobHandle
gebruiken om de verwerking in dezelfde taak te correleren. Elke aanvraag is multipart/form-data
gecodeerd en bestaat uit de volgende formulieronderdelen:
auth
file params
uploadPostParams/fileName
is opgegeven.uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)companyHandle
xsd:string
uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)jobName
xsd:string
jobName
of jobHandle
is vereist. Naam van de uploadtaak.uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)jobHandle
xsd:string
jobName
of jobHandle
is vereist. Afhandeling van een uploadtaak die in een vorige aanvraag is gestart.uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)locale
xsd:string
uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)description
xsd:string
uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)destFolder
xsd:string
uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)fileName
xsd:string
uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)endJob
xsd:boolean
uploadParams
(vereist. Een XML uploadParams
-document dat de uploadparameters opgeeft)uploadParams
types:UploadPostJob
uploadParams
genegeerd en worden de bestaande taakuploadparameters gebruikt. Zie UploadPostJobBinnen het <uploadPostParams>
-blok bevindt zich het <uploadParams>
-blok dat de verwerking van de opgenomen bestanden aangeeft.
Zie UploadPostJob.
Hoewel u zou kunnen veronderstellen dat de parameter uploadParams
voor individuele dossiers als deel van de zelfde baan kan veranderen, is dat niet het geval. Gebruik dezelfde uploadParams
-parameters voor de gehele taak.
In de eerste POST-aanvraag voor een nieuwe uploadtaak moet de parameter jobName
worden opgegeven, bij voorkeur met een unieke taaknaam om de opiniepeiling van de taakstatus en query's voor het taaklogboek te vereenvoudigen. Aanvullende POST-aanvragen voor dezelfde uploadtaak moeten de parameter jobHandle
in plaats van jobName
opgeven, waarbij de waarde jobHandle
wordt gebruikt die door de oorspronkelijke aanvraag wordt geretourneerd.
De laatste POST-aanvraag voor een uploadtaak moet de parameter endJob
instellen op true, zodat er voor deze taak geen toekomstige bestanden POSTed zijn. Hierdoor kan de taak direct worden voltooid nadat alle POST-bestanden zijn ingepakt. Anders loopt de taak uit als er binnen 30 minuten geen aanvullende POST-aanvragen zijn ontvangen.
UploadPOST-reactie section-421df5cc04d44e23a464059aad86d64e
Voor een succesvol POST-verzoek is de hoofdtekst van de reactie een XML uploadPostReturn
-document, zoals de XSD in het volgende specificeert:
<element name="uploadPostReturn">
<complexType>
<sequence>
<element name="jobHandle" type="xsd:string"/>
</sequence>
</complexType>
</element>
De geretourneerde jobHandle
wordt doorgegeven in de parameter uploadPostParams
/ jobHandle
voor alle volgende POST-aanvragen voor dezelfde taak. U kunt de taakstatus ook opvragen met de bewerking getActiveJobs
of de taaklogboeken opvragen met de bewerking getJobLogDetails
.
Als er een fout die het POST- verzoek verwerkt is, bestaat het antwoordlichaam uit één van de API foutentypes zoals die in worden beschreven Gebreken.
Voorbeeld POST-aanvraag section-810fe32abdb9426ba0fea488dffadd1e
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--
Voorbeeld van POST-respons - geslaagd section-0d515ba14c454ed0b5196ac8d1bb156e
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>
Voorbeeld POST-reactie - fout section-efc32bb371554982858b8690b05090ec
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>