Automated Computed Embroidery

GetThreadConeManufacturer

POST

Note for ACE clients: The thread cone requests belong to the ZSK Web API. They use the same StitchJob endpoint and the same WebApiLicense as your ACE jobs, but you must send them without "Client": "ACE". With it, the request is handled as an ACE picture/vector job and rejected with HTTP 400. Use the series ids from GetThreadConeSeries as ThreadTable in ACEParaOptimize. The same description is also available in the ZSK Web API documentation: GetThreadConeManufacturer.

Returns the names of all thread manufacturers whose thread cone (color) tables are installed on the server. This is the first step of the thread lookup chain:

  1. GetThreadConeManufacturer: list the manufacturers (this request).
  2. GetThreadConeSeries: list the series ids of one manufacturer (ThreadCone.Manufacturer).
  3. GetThreadConeList: weight and all colors of one series (ThreadCone.ConeSeries). GetThreadCone: one color by its color number (ThreadCone.ConeSeries, ThreadCone.ColorNumber).
Request

Send POST https://<ZSKAddress>/StitchJob with a JSON body that contains RequestType, ServerVersion (3) and WebApiLicense. Key names are case-sensitive. The server ignores keys it does not know, including keys with a different spelling or casing. This request takes no lookup parameters, so leave out ThreadCone and Client.

Response

The response is HTTP 200 with a JobResponseType. On success, RequestData holds a JSON array serialized as a string. The array lists the manufacturer names in alphabetical order. Each name appears once, even when the server has several series for that manufacturer. To get the array, parse RequestData a second time. The server sends the response on one line. It is formatted here for readability.

{
  "Info": "",
  "NeedleColor": "",
  "NeedleSequence": "",
  "PreviewData": "",
  "RequestData": "[\u000d\u000a  \"A&E\",\u000d\u000a  \"Amann\",\u000d\u000a  \"Candle\",\u000d\u000a  \"Coats\",\u000d\u000a  \"Fil-Tec\",\u000d\u000a  \"Gunold\",\u000d\u000a  \"Madeira\",\u000d\u000a  \"Perfel\"\u000d\u000a]",
  "ServerVersion": {
    "Major": 3,
    "Minor": 0
  },
  "Success": true,
  "Time": ""
}

Parsed RequestData:

[
  "A&E",
  "Amann",
  "Candle",
  "Coats",
  "Fil-Tec",
  "Gunold",
  "Madeira",
  "Perfel"
]

The list reflects the thread tables installed on the server at the time of the request, so it can change.

Errors
  • No WebApiLicense: HTTP 400, Success = false, RequestData = "No licence token found."
  • The license is invalid or not valid for the ZSK Web API: HTTP 400, Success = false, RequestData = "Invalid licence token."
  • Unknown RequestType value (the value is case-sensitive), or the RequestType key is missing or misspelled: HTTP 200, Success = false, RequestData = "Error: unknown command!"
  • Server-side error while reading the thread tables: HTTP 200, Success = false, RequestData = "GetThreadConeManufacturer:<error message>"
  • The body is not valid JSON, or it contains "ThreadCone": null: the server cannot read the request. It returns an HTTP error page instead of a JobResponseType. If you send ThreadCone, it must be an object.
  • Client = "ACE" (in any casing): the request goes to the ACE API, which does not support it. The response is HTTP 400 with RequestData = "No PictureBase64 or VectorBase64 data provided!"
Notes
  • This request is not billed. A valid WebApiLicense is still required.
  • If no thread tables are installed, the request still succeeds and RequestData is "[]". The server skips thread table files that cannot be read and files that have no manufacturer entry.
  • Pass a returned name unchanged as ThreadCone.Manufacturer to GetThreadConeSeries. That request compares the name without regard to case.
  • A manufacturer name is not a series id. For example, Amann has the series Amann-Isacord 40, Amann-Saba 40 and Amann-Serafil 60. Always take series ids from GetThreadConeSeries. The same series id is used as ThreadTable in ACEParaOptimize.

Parameters

Parameter Type Description Required
RequestType string Must be "GetThreadConeManufacturer" (case-sensitive). Yes
ServerVersion int API version. Use 3. Yes
WebApiLicense string Your ZSK Web API license key (xxxxx-xxxxx-xxxxx-xxxxx-xxxxx). See ZSKWebAPILicense. Yes
ThreadCone object Not used by this request. Leave it out. If you send it, it must be an object, because null is rejected. Only the other thread cone requests read its fields. No

Example

{
  "RequestType": "GetThreadConeManufacturer",
  "ServerVersion": 3,
  "WebApiLicense": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
}