Memsource Legacy API

Quality Assurance API v3

Important:

Memsource Legacy API will be deprecated in September 2020. It is disabled for all new organization accounts created after May 7th 2019.
Please use Memsource REST API instead.

List of Checks

Type of Check Additional Data (JSON)
EmptyPairTags  
EmptyTagContent  
EmptyTranslation  
ExtraNumbers
{
  "extraNumbers": [ "12", "50" ]
}
Formatting  
ForbiddenStrings
{
  "strings": ["agreement", "firm"]
}
ForbiddenTerms
{
  "forbiddenTerms": ["contract"]
}
InconsistentTagContent  
InconsistentTranslationSourceTarget
{
  "segmentId": "1OzJaVQcwBsPgA7E0:0"
}
InconsistentTranslationTargetSource
{
  "segmentId": "1OzJaVQcwBsPgA7E0:0"
}
JoinTags
{
  "sourceTagsCount": 2,
  "translationTagsCount": 3
}
Malformed
{
  "message" : "..."
} 
LeadingAndTrailingSpaces  
MissingNumbers
{
  "missingNumbers" : [ "2", "3.14" ]
}
MultipleSpaces  
NewerAtLowerLevel  
NotConfirmed  
RepeatedWords
{
  "repeatedWords" : [ "and" ]
}
SourceOrTargetRegexp
{
  "descriptions": [
    "desc1",
    "desc2"
  ]
}
SpellCheck
{
  "misspelledWords": [
    {
      "offset": 6,
      "word": "barx"
    }
  ]
}
Terminology
{
  "missingTerms": ["agreement"],
  "forbiddenTerms": ["contract"]
}
TargetSourceIdentical  
TrailingSpace  
TrailingPunctuation  
TranslationLength  
UnmodifiedFuzzyTranslation  
UnresolvedComment  

Update Ignored Checks

action: api/v3/qualityAssurance/updateIgnoredChecks
    token                       string
    task                        task
    segmentId                   string
    workflowLevel               integer
    check                       list(string)            list of types from the table above

response: empty

Run Quality Assurance

action: api/v3/qualityAssurance/run
    token                       string
    bilingualFile               file                                  // only MXLIFF files are allowed
    initialSegmentId            string                    O
    unlimitedIgnoredWarnings    boolean                   O(true)
    maxWarningsCount            integer                   O(100)
    warningType                 list(enum(WarningType))   O           // see the list above for possible values

response: JSON
{
  "finished":true,
  "segmentWarnings":[
    {
      "ignoredChecks":[
        "NotConfirmed"
      ],
      "segmentId":"1OzJaVQcwBsPgA7E0:0",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
      ]
    },
    {
      "ignoredChecks":null,
      "segmentId":"1OzJaVQcwBsPgA7E0:2",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
        {
          "missingNumbers":[
            "1"
          ],
          "type":"MissingNumbers"
        },
        {
          "type":"NotConfirmed"
        }
      ]
    }
  ]
}

Run Quality Assurance By Job Part(s)

action: api/v3/qualityAssurance/runByJobPart
    token                       string
    jobPart                     list(domain(JobPart))
    initialSegmentId            string                    O
    unlimitedIgnoredWarnings    boolean                   O(true)
    maxWarningsCount            integer                   O(100)
    warningType                 list(enum(WarningType))   O           // see the list above for possible values

response: JSON
{
  "finished":true,
  "segmentWarnings":[
    {
      "ignoredChecks":[
        "NotConfirmed"
      ],
      "segmentId":"1OzJaVQcwBsPgA7E0:0",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
      ]
    },
    {
      "ignoredChecks":null,
      "segmentId":"1OzJaVQcwBsPgA7E0:2",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
        {
          "missingNumbers":[
            "1"
          ],
          "type":"MissingNumbers"
        },
        {
          "type":"NotConfirmed"
        }
      ]
    }
  ]
}
Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question you can leave a public comment below or Submit a request to our Support team.
Thank you for your feedback.

Comments

0 comments

Article is closed for comments.