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:
authfile paramsuploadPostParams/fileName is opgegeven.uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)companyHandlexsd:stringuploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)jobNamexsd:stringjobName of jobHandle is vereist. Naam van de uploadtaak.uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)jobHandlexsd:stringjobName 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)localexsd:stringuploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)descriptionxsd:stringuploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)destFolderxsd:stringuploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)fileNamexsd:stringuploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)endJobxsd:booleanuploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)uploadParamstypes:UploadPostJobuploadParams genegeerd en worden de bestaande taakuploadparameters gebruikt. Zie UploadPostJob Binnen 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>