GetAddInPart API¶
Downloads the installation package (a ZIP archive) for the specified infoRouter client Add-in. Add-in clients call this API to retrieve the latest version of their installation files so they can self-update. Unlike most infoRouter APIs, the response is raw binary data (the contents of parts.zip), not an XML document.
Endpoint¶
Methods¶
- GET
/srv.asmx/GetAddInPart?AddInName=... - POST
/srv.asmx/GetAddInPart(form data) - SOAP Action:
http://tempuri.org/GetAddInPart
Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
AddInName |
string | Yes | The name of the add-in whose installation package should be downloaded (e.g. WORDADDIN, OUTLOOKADDIN). The name is case-insensitive; the server converts it to uppercase before searching. Must match the name of an add-in directory deployed on the server. |
Response¶
Success Response¶
Returns the raw binary content of the add-in's parts.zip file. The response body is a ZIP archive containing the add-in installation files. There is no XML wrapper.
Not Found / Error Response¶
When the add-in directory does not exist, parts.zip is not present inside it, or any server-side error occurs, the API returns a single byte with value 0x00 instead of throwing an error or returning XML. Callers must check the response length to distinguish a valid ZIP (typically many kilobytes) from this "not found" sentinel value.
Important: This API never returns an HTTP error status code. Both success and failure always return HTTP 200. The only way to detect failure is to check whether the response body is a single zero byte.
Required Permissions¶
No authentication is required. This API does not accept an authentication ticket and can be called anonymously. It is designed for use by infoRouter client add-ins during their self-update process.
Example¶
GET Request¶
Success response: Binary stream of parts.zip contents.
Not-found response: Single byte 0x00.
POST Request¶
POST /srv.asmx/GetAddInPart HTTP/1.1
Content-Type: application/x-www-form-urlencoded
AddInName=WORDADDIN
SOAP Request¶
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://tempuri.org/">
<soap:Body>
<tns:GetAddInPart>
<tns:AddInName>WORDADDIN</tns:AddInName>
</tns:GetAddInPart>
</soap:Body>
</soap:Envelope>
SOAP response: The byte array is returned inside the SOAP response body as a base64-encoded element.
Notes¶
- Binary response, not XML: Unlike all other infoRouter APIs,
GetAddInPartreturns raw binary data. Do not attempt to parse the response as XML. - Case-insensitive name:
AddInNameis converted to uppercase before lookup.wordaddin,WordAddin, andWORDADDINall resolve to the same directory. - No authentication ticket: This endpoint does not require an
AuthenticationTicketand is intended to be called before a user session is established. - Sentinel zero byte on failure: If the add-in directory or
parts.zipdoes not exist -" or if an exception occurs -" the API returns a single0x00byte. The HTTP status code is still200. Always check the response length before treating the result as a ZIP archive. - Server-side file location: The
parts.zipfile must be present inside a subdirectory named after the add-in (uppercase) within the server's configured add-in path. Use GetAddInInfo first to verify the add-in is deployed before downloading its parts. - Self-update workflow: The typical client flow is: (1) call
GetAddInInfoto read the current server version, (2) compare with the locally installed version, (3) if the server version is newer, callGetAddInPartto download and install the update.
Related APIs¶
- GetAddInInfo - Get version and description metadata for a deployed client Add-in
Error Codes¶
| Response | Description |
|---|---|
Single byte 0x00 |
The specified add-in directory was not found, parts.zip does not exist in that directory, or a server-side exception occurred. |