Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalttoc

Untergeordnete Seiten (Anzeige untergeordneter Seiten)

The available Swagger UI for the Congree REST API is located in the following URL: http://localhost/congree/swagger

Congree REST API endpoints are located at http:///congree/api

Account

...

Status
colourGreen
titlePOST

...

/congree/api/Account/v1/SignOut

...

You can use this call to release a locked license. Otherwise, a locked license will be released after a 20 minutes timeout.

A Congree license is locked after the first Congree REST API call.

Information

...

/congree/api/Information/v1/Version

...

Returns Congree Server and Web API versions

Codeblock
languagejs
titleResponse
{
  "CongreeWebApiVersion": "string",
  "CongreeVersion": "string"
}
Codeblock
languagejs
titleResponse example
collapsetrue
{
  "CongreeWebApiVersion": "5.0.14353.13448.20190325.Dev",
  "CongreeVersion": "5.0.14353.13448.20190325.Dev"
}

...

/congree/api/Information/v1/Components

...

Returns available components

The response structure corresponds to CongreeComponentInfo class, see Type definitions - IBulkCheckService - Auxiliary types.

Codeblock
languagejs
titleResponse
[
  {
    "Id": "string",
    "Name": "string"
  }
]
Codeblock
languagejs
titleResponse example
collapsetrue
[
  {
    "Id": "CLTEditorWord",
    "Name": "Congree for Microsoft Word"
  },
  {
    "Id": "CLTFeatureDataGrooming",
    "Name": "Congree Authoring Memory Candidates"
  },
  {
    "Id": "CltFeatAuthMemory",
    "Name": "Congree Authoring Memory"
  },
  {
    "Id": "CltFeatLangCheckDe",
    "Name": "Congree Language Check German"
  },
  {
    "Id": "CltFeatBcs",
    "Name": "Congree Language Check German"
  },
  {
    "Id": "CltFeatLangCheckEn",
    "Name": "Congree Language Check English"
  },
  {
    "Id": "CltEditorPpt",
    "Name": "Congree for Microsoft PowerPoint"
  },
  {
    "Id": "CltEditorOutlook",
    "Name": "Congree for Microsoft Outlook"
  },
  {
    "Id": "CltEditorArbortext",
    "Name": "Congree for PTC® Arbortext Editor™"
  },
  {
    "Id": "CltEditorXmetal",
    "Name": "Congree for JustSystems XMetaL® Author"
  },
  {
    "Id": "CltEditorFrame",
    "Name": "Congree for Adobe® FrameMaker®"
  },
  {
    "Id": "CltEditorIndesign",
    "Name": "Congree for Adobe® InDesign®"
  },
  {
    "Id": "CltEditorAnytime",
    "Name": "Congree Indie"
  },
  {
    "Id": "CltEditorXmax",
    "Name": "Congree for JustSystems XMetaL® XMAX™"
  },
  {
    "Id": "CltFeatAmNative",
    "Name": "Authoring Memory Non-native Authoring"
  },
  {
    "Id": "CltFeatTerm",
    "Name": "Congree Terminology"
  },
  {
    "Id": "CltFeatTermExtract",
    "Name": "Congree Term Extraction"
  },
  {
    "Id": "CltEditorAuthit",
    "Name": "Congree for ASC Author-it®"
  },
  {
    "Id": "CltEditorProxy",
    "Name": "Congree Client Proxy"
  }
]

Linguistic

...

Status
colourGreen
titlePOST

...

/congree/api/Linguistic/v1/Check?ruleSet={rulesetName}

...

Checks the document

The request should be included in the body in the following form:

Codeblock
languagejs
titleRequest body
{
  "Xml": "string",
  "Options": {
    "IncludeValidTerms": true,
    "IncludeReporting": true,
    "IncludeContextMapping": true,
    "ExtractTermCandidates": true
  }
}
Hinweis
titleImportant:

“string” has some restrictions. It must be valid XML. It cannot just be any string.

Options

...

IncludeValidTerms

...

IncludeReporting

...

IncludeContextMapping

...

Split input XML into contexts and map linguistic errors to the contexts. This option are enabled if IncludeReporting is true

...

ExtractTermCandidates

...

The response structure corresponds to LinguisticCheckResult3 class, see Congree Bulk Check Service documentation, see Type definitions - IBulkCheckService - Linguistic-related types.

...

languagejs
titleResponse

...

:

...

Here comes an example to describe "String" in more detail:

...

languagexml
collapsetrue

...

/

...

Please note that in  the example, Processing Instructions are used to mark ranges:

...

ctx = context (a paragraph ID)

...

/

...

e = end of the range

...

b = beginning of the range

Please find the additional response content explained below.

Errors

...

/

...

  • Code: identifier for a specific Congree notification
  • Description:
    • Header: short summary to identify the notification
    • Instruction: short text telling the author what to correct
    • Explanation: short text telling the author why to correct

...

  • Type: can be Text or Explanation
  • Text

...

  • Type: can be Text or Explanation
  • Text
Hinweis
titleImportant:
Sample texts are split into parts. Parts with Type = ‘Text’ are plain text and should be passed through; Parts with Type = ‘Explanation’ contain text to be highlighted. To get the final result, one should concatenate texts of parts, highlighting (in any way) appropriate parts.

Proposals

  • Text: any string which should be applied by authors as their correction of some problem
  • AdditionalInfo: (Warnung) legacy property, has to be null
  • BaseTermForm: String required for "Valid term" messages and also for Terminology Research to find a term
  • ConceptId: If the proposal is a term, this is the concept ID of said term to be used if necessary.

TermCandidates

  • Id: Id of corresponding “…” region
  • Text: the candidates as displayed to the author
  • Context: the sentence(s) in which a term candidate has been found
  • IsExist: information if this term has already been proposed by someone else in the past

Reporting

  • TotalCheckedWord: counter for the amount of checked words
  • ReleaseLevel: value which shows the quality of checked text
  • RelativeReleaseLevel: ReleaseLevel value, scaled as if quality levels (unsafe/acceptable/safe) were of equal length of 40. Returned values are in range [0…80) U {120}. 120 is returned only when ReleaseLevel = 100.
  • SafeReleaseLevel: value when the shown release level is good
  • SafeReleaseLevelTitle: name of the good release level
  • AcceptableReleaseLevel: value when the shown release level is ok
  • AcceptableReleaseLevelTitle: name of the ok release level
  • UnsafeReleaseLevel: value when the shown release level is bad
  • UnsafeReleaseLevelTitle: name of the bad release level
  • ReportingByTypes: contains total counts and calculated severities of Language Check error types.
    • Type
    • ErrorCount
    • Severity
    • RelativeSeverity
  • FailedParagraphsInfo
    • FailedParagraphsAmount: provides information on how many paragraphs were skipped due to errors

...

Status
colourGreen
titlePOST

...

/congree/api/Linguistic/v1/StartCheckTask?ruleSet={rulesetName}

...

Checks the document in asynchronous mode

The request is the same as for /congree/api/Linguistic/v1/Check?ruleSet=rulesetName but the result is a task id.

...

congree/api

...

Codeblock
languagejs
titleResponse
{
  "Id": "00000000-0000-0000-0000-000000000000"
}
Codeblock
languagejs
titleResponse example
collapsetrue
{
  "Id": "514290f4-fc30-48e3-99b8-0973011bd2e5"
}

...

Linguistic: StyleGuide

...

Status
colourGreen
titlePOST

...

Create a new style guide

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

StyleGuide can be specified as follows:

  • Id (integer, optional): Id of style guide
  • Name (string, optional): Name
  • RulesConfiguration (integer, optional): Id of rules configuration
  • SynonymsConfiguration (integer, optional): Id of synonyms configuration
  • UserLexiconConfiguration (integer, optional): Id of user lexicon configuration
  • TerminologyConfiguration (integer, optional): Id of terminology configuration

Linguistic: StyleGuide Configurations

...

Status
colourGreen
titlePOST

...

Creates some configuration of the specified culture and type

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Attributes for Configurations:

  • Id (integer, optional): Id of existing configuration
  • Name (string, optional): Configuration name

Parameters:

  • culture (string)
  • type (string): Rules, UserLexicon, Synonyms, Terminology
  • request

The request should be included in the body in the following form:

Codeblock
languagejs
collapsetrue
{
  "Id": 0,
  "Name": "string",
  "Copy": true
}

Linguistic: StyleGuide Rules

...

Status
colourYellow
titlePut

...

Linguistic: StyleGuide Synonyms

...

Status
colourGreen
titlePOST

...

Adds new synonyms

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Linguistic: StyleGuide Terminology

...

Status
colourGreen
titlePOST

...

Adds new term candidate filters

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourYellow
titlePut

...

Linguistic: StyleGuide User Lexicon

...

Status
colourGreen
titlePOST

...

Adds new term candidate filters

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourGreen
titlePOST

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourGreen
titlePOST

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourGreen
titlePOST

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Linguistic: StyleGuide User Lexicon Word forms

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Status
colourYellow
titlePut

...

Status
colourRed
titledelete

...

Document settings

...

/congree/api/Settings/v1/Document

...

Gets list of available document-specific rule sets

Codeblock
languagejs
titleResponse
[
  "string"
]
Codeblock
languagejs
titleResponse example
collapsetrue
[
  "Congree Standard",
  "Compathy",
  "Congree Word"
]

...

/congree/api/Settings/v1/Document/{RulesetName}

...

Gets all document-specific rule set settings

{RulesetName} is the name of the document-specific rule set. Available settings groups are described here.

Codeblock
languagejs
titleResponse
{
  <Settings group name>: <Settings object>
}

...

/congree/api/Settings/v1/Document/{RulesetName}/{SettingsGroupName}

...

Gets specified document-specific rule set settings

{SettingsGroupName} is the name of the settings group. Parameter can contain a set of comma separated groups. Available settings groups are described here.

Codeblock
languagejs
titleResponse
{
  <Settings group name>: <Settings object>
}

...

Language settings

Group name: LanguageSettings

Structure:

Codeblock
languagejs
titleLanguage settings
{
  "Language": string
}

Language Check Report configuration

Group name: LinguisticReportingConfiguration

Structure (corresponds to LinguisticReportConfiguration, see Congree Bulk Check Service documentation, Type definitions - IBulkCheckSettingsService - Document settings XML description):

Codeblock
languagejs
titleLinguistic reporting settings
  {
    "ConfigurationName": string,
    "Language": string,
    "WordCountFactor": double,
    "HighRatingLimit": double,
    "HighRatingName": string,
    "MediumRatingLimit": double,
    "MediumRatingName": string,
    "LowRatingLimit": double,
    "LowRatingName": string,
    "Rules": [
      {
        "RuleName": string,
        "CategoryType": string,
        "Weight": double
      }
    ],
    "Categories": [
      {
        "ErrorType": string,
        "Priority": double
      }
    ]
  }
Codeblock
languagejs
titleLinguistic reporting settings example
collapsetrue
  {
    "ConfigurationName": "Congree Standard DE",
    "Language": "de",
    "WordCountFactor": 1.2,
    "HighRatingLimit": 95.0,
    "HighRatingName": "Safe",
    "MediumRatingLimit": 85.0,
    "MediumRatingName": "Acceptable",
    "LowRatingLimit": 0.0,
    "LowRatingName": "Unsafe",
    "Rules": [
      {
        "RuleName": "alt",
        "CategoryType": "Spelling",
        "Weight": 10.0
      },
      {
        "RuleName": "unknown",
        "CategoryType": "Spelling",
        "Weight": 10.0
      },
      {
        "RuleName": "ADM",
        "CategoryType": "Terminology",
        "Weight": 0.0
      },
      {
        "RuleName": "DEPR",
        "CategoryType": "Terminology",
        "Weight": 10.0
      },
      {
        "RuleName": "PARTDEPR",
        "CategoryType": "Terminology",
        "Weight": 5.0
      },
      {
        "RuleName": "POSNEG",
        "CategoryType": "Terminology",
        "Weight": 0.0
      },
      {
        "RuleName": "VARPOSNEG",
        "CategoryType": "Terminology",
        "Weight": 0.0
      }
    ],
    "Categories": [
      {
        "ErrorType": "Abbreviation",
        "Priority": 1.0
      },
      {
        "ErrorType": "Spelling",
        "Priority": 10.0
      },
      {
        "ErrorType": "Style",
        "Priority": 1.0
      },
      {
        "ErrorType": "Terminology",
        "Priority": 10.0
      },
      {
        "ErrorType": "Grammar",
        "Priority": 3.0
      }
    ]
  }

Paragraph recognition settings

Group name: ParagraphRecognition

Codeblock
languagejs
titleResponse structure
"ParagraphRecognition": {
    "IsAutomaticMode": bool,
    "SymbolsAmountToCheck": int,
    "CheckUnitDefinitions": [
        {
            "Name": string,
            "Treatment": string,
            "StructureClass": string,
            "Parents": string,
            "Attributes": string,
            "Rules": [
                {
                    "ErrorType": string,
                    "ErrorCode": string,
                    "IsDeactivated": bool
                }
            ]
        }
    ],
    "InlineElementDefinitions": [
        {
            "Name": string,
            "Treatment": string,
            "IsReadOnly": bool,
            "LanguageCheckSpecifics": string,
            "Parents": string,
            "Attributes": string
        }
    ]
}
Codeblock
languagejs
titleSample response
collapsetrue
"ParagraphRecognition": {
    "IsAutomaticMode": false,
    "SymbolsAmountToCheck": 2,
    "CheckUnitDefinitions": [
        {
            "Name": "p",
            "Treatment": "Check",
            "StructureClass": "Regular",
            "Parents": null,
            "Attributes": null,
            "Rules": [
                {
                    "ErrorType": "Grammar",
                    "ErrorCode": "gESL325en",
                    "IsDeactivated": false
                },
                {
                    "ErrorType": "Grammar",
                    "ErrorCode": "gESL324en",
                    "IsDeactivated": true
                },
                // ...
            ]
        },
        // ...
    ],
    "InlineElementDefinitions": [
        {
            "Name": "systemoutput",
            "Treatment": "Check",
            "IsReadOnly": false,
            "LanguageCheckSpecifics": "c=noun,literal=yes,grkl=sic",
            "Parents": null,
            "Attributes": null
        },
        // ...
    ]
}

Reporting

...

Status
colourGreen
titlePOST

...

/congree/api/Reporting/v1/Linguistic

...

Stores the Language Check Report.

The report should be included in the body in following form: 

DocumentId - is guid which uniquely identifies the document.

Codeblock
languagejs
titleRequest body
{
  "DocumentRuleSet": "string",
  "DocumentId": "00000000-0000-0000-0000-000000000000",
  "TotalCheckedWords": 0,
  "ReleaseLevel": 0,
  "RelativeReleaseLevel": 0,
  "ErrorData": [
    {
      "ErrorType": "Abbreviation",
      "ErrorCount": 0,
      "ErrorSeverity": 0
    }
  ]
}

You can build report based on the response of linguistic check with parameter "IncludeReporting": true. 

Codeblock
languagejs
titleRequest body example
collapsetrue
{
  "documentRuleSet" : "Congree Standard",
  "documentId": "33BB8BDB-3E9F-4944-9E23-2FFA56C143EE",
  "TotalCheckedWords": 498,
  "ReleaseLevel": 3.82,
  "RelativeReleaseLevel": 1.7976470588235292,
    "ErrorData": [
      {
        "ErrorType": "Abbreviation",
        "ErrorCount": 0,
        "ErrorSeverity": 100.0
      },
      {
        "ErrorType": "Grammar",
        "ErrorCount": 4,
        "ErrorSeverity": 97.59
      },
      {
        "ErrorType": "Spelling",
        "ErrorCount": 2,
        "ErrorSeverity": 59.84
      },
      {
        "ErrorType": "Style",
        "ErrorCount": 7,
        "ErrorSeverity": 98.59
      },
      {
        "ErrorType": "Terminology",
        "ErrorCount": 9,
        "ErrorSeverity": 47.79
      }
    ]
}

Third-party settings

The current third-party system is defined at authorization step.

...

/congree/api/Settings/v1/ThirdParty/Current

...

Gets all settings of the current third-party system.

Codeblock
languagejs
titleResponse
{
  <Settings group name>: <Settings object>
}
Codeblock
languagejs
titleResponse example
collapsetrue
{
  "CongreeWebInterfaceSettings": {
    "Rules": [
      {
        "Rule": "Rule 1",
        "RuleSets": [
          "Congree Standard"
        ]
      }
    ]
  }
}

...

/congree/api/Reporting/v1/ThirdParty/Current/{SettingsGroupName}

...

Gets settings of the current third-party system specified by the settings group.

{SettingsGroupName} support comma separated set of settings groups.

Codeblock
languagejs
titleResponse
{
  <Settings group name>: <Settings object>
}
Codeblock
languagejs
titleResponse example for /congree/api/Reporting/v1/Linguistic/CongreeWebInterfaceSettings
collapsetrue
{
  "CongreeWebInterfaceSettings": {
    "Rules": [
      {
        "Rule": "Rule 1",
        "RuleSets": [
          "Congree Standard"
        ]
      }
    ]
  }
}

Available Third-party settings groups

Congree Web Interface

Represents settings from group "Congree Web Interface" for Bulk Check Service.

Group name: CongreeWebInterfaceSettings

Structure:

Codeblock
languagejs
titleCongree Web Interface settings
{
  "Rules": [
    {
      "Rule": string,
      "RuleSets": [
        string
      ]
    }
  ]
}
Codeblock
languagejs
titleCongree Web Interface settings example
collapsetrue
{
  "Rules": [
    {
      "Rule": "Rule 1",
      "RuleSets": [
        "Congree Standard"
      ]
    }
  ]
}

...

 Tasks endpoints allows to get the current status of the asynchronous task and it result.

...

/congree/api/Tasks/v1/Status/{taskId}

...

Gets task status

Codeblock
languagejs
titleResponse
{
  "State": "string",
  "ErrorInfo": {
    "Code": int,
    "Message": "string"
  }
}

Available states: Pending, InProgress, Success, Failed

ErrorInfo present in state Failed only. In other cases it is null.

...

/congree/api/Tasks/v1/Result/{taskId}

...

Gets task result

Available only for finished tasks (states: Success, Failed)

Codeblock
languagejs
titleResponse
{
  "Result": <result object>
}

In failed state "Result" contains ErrorInfo object. In success state - corresponding result. Result available 5 minutes after the task is completed.

Terminology

...

Status
colourGreen
titlePOST

...

/congree/api/Terminology/v1/TermCandidate?ruleSet={ruleSetName}&addOnlyUnknown={true or false}

...

Stores new term candidate

Term candidate should be included in the body in following form (corresponding to the TermCandidateModel class, see Congree Bulk Check Service documentation, Type definitions - IBulkCheckService - DataGrooming-related types).

Codeblock
languagejs
titleRequest body
{
  "Text": "string",
  "Context": "string"
}

...

/congree/api/Terminology/v1/SearchTerm?ruleSet={ruleSetName}&term={term text}&culture={CultureName}

...

Searches term in terminology system

The culture name in the format languagecode2-country/regioncode2languagecode2 is a lowercase two-letter code derived from ISO 639-1. country/regioncode2 is derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47 language tag.

Responce structure corresponds Type definitions - IBulkCheckService - Terminology-related types.

Codeblock
languagejs
titleResponse
[
  {
    "Concept": {
      "ConceptId": 0,
      "Properties": [
        {
          "Values": [
            "string"
          ],
          "Name": "string"
        }
      ],
      "Definitions": [
        {
          "Culture": "string",
          "Text": "string",
          "Note": "string"
        }
      ],
      "Synonyms": [
        {
          "Id": 0,
          "Term": "string",
          "Properties": [
            {
              "Values": [
                {
                  "Usage": "string",
                  "Value": "string",
                  "IsMultiValue": boolean
                }
              ],
              "Name": "string"
            }
          ]
        }
      ]
    },
    "Id": 0,
    "Term": "string",
    "Properties": [
      {
        "Values": [
          {
            "Usage": "string",
            "Value": "string",
            "IsMultiValue": boolean
          }
        ],
        "Name": "string"
      }
    ]
  }
]

 

...

languagejs
titleResponse example
collapsetrue

...