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
NOTE
Alle POST-aanvragen voor een uploadtaak moeten afkomstig zijn van hetzelfde IP-adres.

Toegang URLs voor Dynamische gebieden van Media

Geografische locatie
Productie-URL
Staging-URL (gebruik voor ontwikkeling en testen voorafgaand aan de productie)
Noord-Amerika
https://s7sps1ssl.scene7.com/scene7/UploadFile
https://s7sps1ssl-staging.scene7.com/scene7/UploadFile
Europa, Midden-Oosten, Azië
https://s7sps3ssl.scene7.com/scene7/UploadFile
https://s7sps3ssl-staging.scene7.com/scene7/UploadFile
Japan/Azië Stille Oceaan
https://s7sps5ssl.scene7.com/scene7/UploadFile
https://s7sps5ssl-staging.scene7.com/scene7/UploadFile

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:

NOTE
Alle POST-aanvragen voor een uploadtaak moeten afkomstig zijn van hetzelfde IP-adres.
HTTP POST-onderdeel
Beschrijving
auth
Vereist. Een XML authHeader-document waarin verificatie- en clientgegevens zijn opgegeven. Zie authentificatie van het Verzoek onder SOAP.
file params
Optioneel. Bij elke POST-aanvraag kunt u een of meer bestanden opnemen die u wilt uploaden. Elk bestandsdeel kan een bestandsnaamparameter in de kop voor positie-inhoud opnemen die als doelbestandsnaam in IPS wordt gebruikt als er geen parameter uploadPostParams/fileName is opgegeven.
HTTP POST-onderdeel
uploadPostParams, elementnaam
Type
Beschrijving
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
companyHandle
xsd:string
Vereist. Verwerk het bedrijf waarnaar het bestand wordt geüpload.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
jobName
xsd:string
Ofwel jobName of jobHandle is vereist. Naam van de uploadtaak.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
jobHandle
xsd:string
Ofwel 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
Optioneel. Taal- en landcode voor lokalisatie.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
description
xsd:string
Optioneel. Beschrijving van de taak.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
destFolder
xsd:string
Optioneel. Doelmappad naar voorvoegsel voor een bestandseigenschap, met name voor browsers en andere clients die mogelijk geen volledige paden in een bestandsnaam ondersteunen.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
fileName
xsd:string
Optioneel. Naam van het doelbestand. Hiermee wordt de eigenschap filename genegeerd.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
endJob
xsd:boolean
Optioneel. De standaardwaarde is false.
uploadParams (vereist. Een XML uploadParams -document dat de uploadparameters opgeeft)
uploadParams
types:UploadPostJob
Optioneel als dit een volgende aanvraag voor een bestaande actieve taak is. Als er een bestaande taak is, wordt uploadParams 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>
recommendation-more-help
4e9b9d8c-5839-4215-aa35-01b652869681