Överföringsjobbets arbetsflöde

Överföringsjobbet består av en eller flera HTTP POST som använder en gemensam jobHandle för att korrelera bearbetningen till samma jobb. Varje begäran är multipart/form-data-kodad och består av följande formulärdelar:

OBSERVERA
Alla POSTER som begär ett överföringsjobb måste komma från samma IP-adress.
Formulärdel för HTTP-POSTBeskrivning
authObligatoriskt. Ett XML authHeader-dokument som anger autentisering och klientinformation. Se Begär autentisering under SOAP.
file paramsValfritt. Du kan inkludera en eller flera filer som ska överföras vid varje begäran om POST. Varje fildel kan innehålla en filnamnsparameter i Content-Disposition-huvudet som används som målfilnamn i IPS om ingen uploadPostParams/fileName-parameter har angetts.
Formulärdel för HTTP-POSTuploadPostParams-elementnamnTypBeskrivning
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)companyHandlexsd:stringObligatoriskt. Hantera till det företag som filen överförs till.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)jobNamexsd:stringAntingen jobName eller jobHandle krävs. Namn på överföringsjobbet.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)jobHandlexsd:stringAntingen jobName eller jobHandle krävs. Hantera ett överföringsjobb som har startats i en tidigare begäran.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)localexsd:stringValfritt. Språk- och landskod för lokalisering.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)descriptionxsd:stringValfritt. Beskrivning av jobbet.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)destFolderxsd:stringValfritt. Sökväg till målmappen om du vill lägga till prefix till en filename-egenskap, särskilt för webbläsare och andra klienter som inte har stöd för fullständiga sökvägar i ett filnamn.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)fileNamexsd:stringValfritt. Målfilens namn. Åsidosätter filename-egenskapen.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)endJobxsd:booleanValfritt. Standardvärdet är false.
uploadParams (obligatoriskt. Ett XML uploadParams-dokument som anger överföringsparametrarna)uploadParamstypes:UploadPostJobValfritt om detta är en efterföljande begäran för ett befintligt aktivt jobb. Om det finns ett befintligt jobb ignoreras uploadParams och de befintliga jobböverföringsparametrarna används. Se UploadPostJob

I blocket <uploadPostParams> är det <uploadParams>-block som anger bearbetningen av de inkluderade filerna.

Se UploadPostJob.

Du kan anta att parametern uploadParams kan ändras för enskilda filer som en del av samma jobb, men så är inte fallet. Använd samma uploadParams-parametrar för hela jobbet.

Den initiala POSTEN för ett nytt överföringsjobb bör ange parametern jobName, helst med ett unikt jobbnamn för att förenkla efterföljande jobbstatusavsökningar och jobbloggfrågor. Ytterligare POSTER för samma överföringsjobb ska ange parametern jobHandle i stället för jobName, med det jobHandle-värde som returneras från den ursprungliga begäran.

Den sista POSTEN för ett överföringsjobb ska ange parametern endJob till true så att inga framtida filer POSTed för det här jobbet skickas. Detta innebär i sin tur att jobbet kan slutföras omedelbart efter att alla POSTed-filer har importerats. Annars går jobbet ut om inga fler begäranden om POST tas emot inom 30 minuter.

UploadPOST-svar

För en begäran om lyckad POST är svarstexten ett XML uploadPostReturn-dokument, vilket anges i följande XSD:

<element name="uploadPostReturn">
        <complexType>
            <sequence>
                <element name="jobHandle" type="xsd:string"/>
            </sequence>
        </complexType>
    </element>

jobHandle som returneras skickas i parametern uploadPostParams/ jobHandle för efterföljande POSTER för samma jobb. Du kan också använda den för att avfråga jobbstatus med åtgärden getActiveJobs eller för att fråga jobbloggarna med åtgärden getJobLogDetails.

Om det uppstår ett fel när POSTEN bearbetas består svarstexten av en av API-feltyperna som beskrivs i Felmeddelanden.

Exempelbegäran om POST

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--