How to use Zimbra Soap?

Have a great idea for extending Zimbra? Share ideas, ask questions, contribute, and get feedback.
Post Reply
Rafael
Posts: 11
Joined: Tue Sep 06, 2016 2:49 pm

How to use Zimbra Soap?

Post by Rafael »

Hi,

I new with zimbra and I try understand more about him before start make the integration.

I try use the SOAP UI to test the zimbra soap, but I see there is a lot of information, and I see in the documentation of the ZImbra about soap, and I don't understand well.
Below I will put the schema of the soap ui. But first, I need to know how it works.
- How use the Params?
- Which Params are required?
- do I need fill all the attributes? (In the schema below).
- Can you explain to me how works each part of the eschema, or only the things I need to know?

Here is the schema of the SOAP UI:

By the informations that I ask above, I think I will be able to fill the schema below and understand better how zimbra webservice works.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:zimbra" xmlns:urn1="urn:zimbraMail">
<soapenv:Header>
<urn:context hops="?">
<!--You may enter the following 16 items in any order-->
<!--Optional:-->
<urn:authToken>?</urn:authToken>
<!--Optional:-->
<urn:session proxy="?" id="?" seq="?">?</urn:session>
<!--Optional:-->
<urn:sessionId proxy="?" id="?" seq="?">?</urn:sessionId>
<!--Optional:-->
<urn:nosession>?</urn:nosession>
<!--Optional:-->
<urn:account by="?" link="?">?</urn:account>
<!--Optional:-->
<urn:change token="?" type="?"/>
<!--Optional:-->
<urn:targetServer>?</urn:targetServer>
<!--Optional:-->
<urn:userAgent name="?" version="?"/>
<!--Optional:-->
<urn:authTokenControl voidOnExpired="?"/>
<!--Optional:-->
<urn:format type="?"/>
<!--Optional:-->
<urn:notify seq="?"/>
<!--Optional:-->
<urn:nonotify>?</urn:nonotify>
<!--Optional:-->
<urn:noqualify>?</urn:noqualify>
<!--Optional:-->
<urn:via>?</urn:via>
<!--Optional:-->
<urn:soapId>?</urn:soapId>
<!--Optional:-->
<urn:csrfToken>?</urn:csrfToken>
</urn:context>
</soapenv:Header>
<soapenv:Body>
<urn1:CreateAppointmentRequest max="1000">
<!--Optional:-->
<urn1:m aid="?" origid="?" rt="?" idnt="?" su="?" irt="?" l="?" f="?">
<!--Optional:-->
<urn1:content>?</urn1:content>
<!--Zero or more repetitions:-->
<urn1:header name="?">?</urn1:header>
<!--Optional:-->
<urn1:mp ct="?" content="?" ci="?">
<!--Zero or more repetitions:-->
<urn1:mp/>
<!--Optional:-->
<urn1:attach aid="?">
<!--You have a CHOICE of the next 4 items at this level-->
<urn1:mp optional="?" mid="?" part="?"/>
<urn1:m optional="?" id="?"/>
<urn1:cn optional="?" id="?"/>
<urn1:doc optional="?" path="?" id="?" ver="?"/>
<!--You may enter ANY elements at this point-->
</urn1:attach>
</urn1:mp>
<!--Optional:-->
<urn1:attach aid="?">
<!--You have a CHOICE of the next 4 items at this level-->
<urn1:mp optional="?" mid="?" part="?"/>
<urn1:m optional="?" id="?"/>
<urn1:cn optional="?" id="?"/>
<urn1:doc optional="?" path="?" id="?" ver="?"/>
<!--You may enter ANY elements at this point-->
</urn1:attach>
<!--Optional:-->
<urn1:inv method="?" compNum="?" rsvp="?" priority="?" name="?" loc="?" percentComplete="?" completed="?" noBlob="?" fba="?" fb="?" transp="?" isOrg="?" x_uid="?" uid="?" seq="?" d="?" calItemId="?" apptId="?" ciFolder="?" status="?" class="?" url="?" ex="?" ridZ="?" allDay="?" draft="?" neverSent="?" changes="?" id="?" ct="?" ci="?">
<!--Zero or more repetitions:-->
<urn1:category>?</urn1:category>
<!--Zero or more repetitions:-->
<urn1:comment>?</urn1:comment>
<!--Zero or more repetitions:-->
<urn1:contact>?</urn1:contact>
<!--Optional:-->
<urn1:geo lat="?" lon="?"/>
<!--Zero or more repetitions:-->
<urn1:at a="?" url="?" d="?" sentBy="?" dir="?" lang="?" cutype="?" role="?" ptst="?" rsvp="?" member="?" delTo="?" delFrom="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:at>
<!--Zero or more repetitions:-->
<urn1:alarm action="?">
<!--Optional:-->
<urn1:trigger>
<!--Optional:-->
<urn1:abs d="?"/>
<!--Optional:-->
<urn1:rel neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:trigger>
<!--Optional:-->
<urn1:repeat neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
<!--Optional:-->
<urn1:desc>?</urn1:desc>
<!--Optional:-->
<urn1:attach uri="?" ct="?">?</urn1:attach>
<!--Optional:-->
<urn1:summary>?</urn1:summary>
<!--Zero or more repetitions:-->
<urn1:at a="?" url="?" d="?" sentBy="?" dir="?" lang="?" cutype="?" role="?" ptst="?" rsvp="?" member="?" delTo="?" delFrom="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:at>
<!--Zero or more repetitions:-->
<urn1:xprop name="?" value="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:xprop>
</urn1:alarm>
<!--Zero or more repetitions:-->
<urn1:xprop name="?" value="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:xprop>
<!--Optional:-->
<urn1:fr>?</urn1:fr>
<!--Optional:-->
<urn1:desc>?</urn1:desc>
<!--Optional:-->
<urn1:descHtml>?</urn1:descHtml>
<!--Optional:-->
<urn1:or a="?" url="?" d="?" sentBy="?" dir="?" lang="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:or>
<!--Optional:-->
<urn1:recur>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add/>
<urn1:exclude>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add/>
<urn1:exclude/>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:exclude>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:add>
<urn1:exclude>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add/>
<urn1:exclude/>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:add>
<urn1:exclude/>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:exclude>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:recur>
<!--Optional:-->
<urn1:exceptId d="?" tz="?" rangeType="?"/>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
<!--Optional:-->
<urn1:content uid="?" summary="?">?</urn1:content>
<!--Optional:-->
<urn1:comp method="?" compNum="?" rsvp="?" priority="?" name="?" loc="?" percentComplete="?" completed="?" noBlob="?" fba="?" fb="?" transp="?" isOrg="?" x_uid="?" uid="?" seq="?" d="?" calItemId="?" apptId="?" ciFolder="?" status="?" class="?" url="?" ex="?" ridZ="?" allDay="?" draft="?" neverSent="?" changes="?">
<!--Zero or more repetitions:-->
<urn1:category>?</urn1:category>
<!--Zero or more repetitions:-->
<urn1:comment>?</urn1:comment>
<!--Zero or more repetitions:-->
<urn1:contact>?</urn1:contact>
<!--Optional:-->
<urn1:geo lat="?" lon="?"/>
<!--Zero or more repetitions:-->
<urn1:at a="?" url="?" d="?" sentBy="?" dir="?" lang="?" cutype="?" role="?" ptst="?" rsvp="?" member="?" delTo="?" delFrom="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:at>
<!--Zero or more repetitions:-->
<urn1:alarm action="?">
<!--Optional:-->
<urn1:trigger>
<!--Optional:-->
<urn1:abs d="?"/>
<!--Optional:-->
<urn1:rel neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:trigger>
<!--Optional:-->
<urn1:repeat neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
<!--Optional:-->
<urn1:desc>?</urn1:desc>
<!--Optional:-->
<urn1:attach uri="?" ct="?">?</urn1:attach>
<!--Optional:-->
<urn1:summary>?</urn1:summary>
<!--Zero or more repetitions:-->
<urn1:at a="?" url="?" d="?" sentBy="?" dir="?" lang="?" cutype="?" role="?" ptst="?" rsvp="?" member="?" delTo="?" delFrom="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:at>
<!--Zero or more repetitions:-->
<urn1:xprop name="?" value="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:xprop>
</urn1:alarm>
<!--Zero or more repetitions:-->
<urn1:xprop name="?" value="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:xprop>
<!--Optional:-->
<urn1:fr>?</urn1:fr>
<!--Optional:-->
<urn1:desc>?</urn1:desc>
<!--Optional:-->
<urn1:descHtml>?</urn1:descHtml>
<!--Optional:-->
<urn1:or a="?" url="?" d="?" sentBy="?" dir="?" lang="?">
<!--Zero or more repetitions:-->
<urn1:xparam name="?" value="?"/>
</urn1:or>
<!--Optional:-->
<urn1:recur>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add/>
<urn1:exclude>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add/>
<urn1:exclude/>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:exclude>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:add>
<urn1:exclude>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add>
<!--You have a CHOICE of the next 6 items at this level-->
<urn1:add/>
<urn1:exclude/>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:add>
<urn1:exclude/>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:exclude>
<urn1:except rangeType="?" recurId="?" tz="?" ridZ="?">
<!--Optional:-->
<urn1:add/>
<!--Optional:-->
<urn1:exclude/>
</urn1:except>
<urn1:cancel rangeType="?" recurId="?" tz="?" ridZ="?"/>
<urn1:dates tz="?">
<!--Zero or more repetitions:-->
<urn1:dtval>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:dtval>
</urn1:dates>
<urn1:rule freq="?">
<!--Optional:-->
<urn1:until d="?"/>
<!--Optional:-->
<urn1:count num="?"/>
<!--Optional:-->
<urn1:interval ival="?"/>
<!--Optional:-->
<urn1:bysecond seclist="?"/>
<!--Optional:-->
<urn1:byminute minlist="?"/>
<!--Optional:-->
<urn1:byhour hrlist="?"/>
<!--Optional:-->
<urn1:byday unusedCodeGenHelper="?">
<!--Zero or more repetitions:-->
<urn1:wkday day="?" ordwk="?"/>
</urn1:byday>
<!--Optional:-->
<urn1:bymonthday modaylist="?"/>
<!--Optional:-->
<urn1:byyearday yrdaylist="?"/>
<!--Optional:-->
<urn1:byweekno wklist="?"/>
<!--Optional:-->
<urn1:bymonth molist="?"/>
<!--Optional:-->
<urn1:bysetpos poslist="?"/>
<!--Optional:-->
<urn1:wkst day="?"/>
<!--Zero or more repetitions:-->
<urn1:rule-x-name name="?" value="?"/>
</urn1:rule>
</urn1:recur>
<!--Optional:-->
<urn1:exceptId d="?" tz="?" rangeType="?"/>
<!--Optional:-->
<urn1:s d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:e d="?" tz="?" u="?"/>
<!--Optional:-->
<urn1:dur neg="?" w="?" d="?" h="?" m="?" s="?" related="?" count="?"/>
</urn1:comp>
<!--Zero or more repetitions:-->
<urn1:tz id="?" stdoff="?" dayoff="?" stdname="?" dayname="?">
<!--Optional:-->
<urn1:standard week="?" wkday="?" mon="?" mday="?" hour="?" min="?" sec="?"/>
<!--Optional:-->
<urn1:daylight week="?" wkday="?" mon="?" mday="?" hour="?" min="?" sec="?"/>
</urn1:tz>
<!--Zero or more repetitions:-->
<urn1:mp ct="?" content="?" ci="?">
<!--Zero or more repetitions:-->
<urn1:mp/>
<!--Optional:-->
<urn1:attach aid="?">
<!--You have a CHOICE of the next 4 items at this level-->
<urn1:mp optional="?" mid="?" part="?"/>
<urn1:m optional="?" id="?"/>
<urn1:cn optional="?" id="?"/>
<urn1:doc optional="?" path="?" id="?" ver="?"/>
<!--You may enter ANY elements at this point-->
</urn1:attach>
</urn1:mp>
<!--Optional:-->
<urn1:attach aid="?">
<!--You have a CHOICE of the next 4 items at this level-->
<urn1:mp optional="?" mid="?" part="?"/>
<urn1:m optional="?" id="?"/>
<urn1:cn optional="?" id="?"/>
<urn1:doc optional="?" path="?" id="?" ver="?"/>
<!--You may enter ANY elements at this point-->
</urn1:attach>
</urn1:inv>
<!--Zero or more repetitions:-->
<urn1:e a="?" t="?" p="?"/>
<!--Zero or more repetitions:-->
<urn1:tz id="?" stdoff="?" dayoff="?" stdname="?" dayname="?">
<!--Optional:-->
<urn1:standard week="?" wkday="?" mon="?" mday="?" hour="?" min="?" sec="?"/>
<!--Optional:-->
<urn1:daylight week="?" wkday="?" mon="?" mday="?" hour="?" min="?" sec="?"/>
</urn1:tz>
<!--Optional:-->
<urn1:fr>?</urn1:fr>
<!--You may enter ANY elements at this point-->
</urn1:m>
</urn1:CreateAppointmentRequest>
</soapenv:Body>
</soapenv:Envelope>


Thanks for your attention.

Best Regards
Rafael
jon_mann64
Posts: 6
Joined: Fri Oct 07, 2022 4:04 pm

Re: How to use Zimbra Soap?

Post by jon_mann64 »

This is a simple example of a soap envelope that will create an appointment.

Code: Select all

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:zimbra" xmlns:urn1="urn:zimbraMail">
   <soapenv:Header>
      <urn:context>
         <urn:authToken>0_2d31e95f4f3....</urn:authToken>
      </urn:context>
   </soapenv:Header>
   <soapenv:Body>
      <urn1:CreateAppointmentRequest echo="1">
         <urn1:m l="662086ff....">
            <urn1:inv name="invite name" allDay="1">
               <urn1:s d="20221004"/>
               <urn1:e d="20221011"/>
            </urn1:inv>
          </urn1:m>
      </urn1:CreateAppointmentRequest>
   </soapenv:Body>
</soapenv:Envelope>
To get the folder id (e.g. calendar id), I used the export feature in the zimbra UI (Preferences > Import/Export) then looked in the exported .ics file for the calendar ID, example: X-WR-CALID:662086ff....
liverpoolfcfan
Elite member
Elite member
Posts: 1112
Joined: Sat Sep 13, 2014 12:47 am

Re: How to use Zimbra Soap?

Post by liverpoolfcfan »

There is extensive SOAP documentation in your Docs folder - /opt/zimbra/docs
User avatar
barrydegraaff
Zimbra Employee
Zimbra Employee
Posts: 242
Joined: Tue Jun 17, 2014 3:31 am
Contact:

Re: How to use Zimbra Soap?

Post by barrydegraaff »

I would suggest you use zmmailbox from the command line with the debug flag and do what you want to achieve using zmmailbox. The debug flag will show you all the SOAP commands fired at the server.

https://wiki.zimbra.com/wiki/Zmmailbox

You can then copy/paste the SOAP you need into your application.

The SOAP API is documented here https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8 but it is a little hard to read, that's why I recommend the --debug flag approach first.
--
Barry de Graaff
Email: barry.degraaff [at] synacor [dot] com
Admin of Zimbra-Community Github: https://github.com/orgs/Zimbra-Community/ and the
Zimlet Gallery https://gallery.zetalliance.org/extend/
Post Reply