Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

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

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

Account

POST

/congree/api/Account/v1/SignOut

Releases locked license

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.

AuthoringMemory

POST

/congree/api/AuthoringMemory/v1/ImportXml?lang={CultureName}

HTTP request used to add content to the Congree Sentence Database

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.

 E.g. /congree/api/AuthoringMemory/v1/ImportXml?lang=de-DE

The content type should be multipart/form-data and it should contain file XML.

Response
{
  "DetectedParagraphsCount": 0,
  "DetectedSentencesCount": 0,
  "AddedSentencesCount": 0,
  "FailedParagraphsCount": 0
}

Requirements

The content has to be well-formed XML with resolved entity references.

Maximum size: 10 MB

Authoring Memory: Attributes

POST

/api/AuthoringMemory/v1/Attributes

Adds new attributes with values

GET

/api/AuthoringMemory/v1/Attributes Returns available attributes

DELETED

/api/AuthoringMemory/v1/Attributes Deleted available attributes

Attributes can be specified by:

  • Type (string, optional): Type = ['Text', 'Picklist'],
  • Name (string, optional): Name
  • Values (Array[string], optional): Available values

Authoring Memory: Sentences

POST

/api/AuthoringMemory/v1/Sentences/{sentenceId}/AttributesAdds new attibutes or values to the sentence

GET

/api/AuthoringMemory/v1/Sentences/{sentenceId}/AttributesGets attributes for certain sentence

DELETE

/api/AuthoringMemory/v1/Sentences/{sentenceId}/AttributesDeletes attributes or values of the sentence

GET

/congree/api/AuthoringMemory/v1/SentencesGet sentences based on the provided filter

DELETE

/congree/api/AuthoringMemory/v1/SentencesCleans up Authoring Memory sentences
DELETE

/congree/api/AuthoringMemory/v2/Sentences

Deletes sentences from Authoring Memory

The body of the request should contain the options you can find in the table below in the following form:

Response
{
  "ClearImportedSentences" : true,
  "ClearDataGroomingSentences": true
}


Option nameDescription
ClearImportedSentences
Deletes imported (via API /congree/api/AuthoringMemory/v1/ImportXml) sentences
ClearDataGroomingSentences
Deletes all sentences from Congree Data Grooming and also related sentences from the Authoring Memory

In order to get the task status and results, use the methods described in Tasks. The result is an empty object.

Response
{
  "Id": "00000000-0000-0000-0000-000000000000"
}


Renponse example
{
  "Id": "514290f4-fc30-48e3-99b8-0973011bd2e5"
}

Information

GET

/congree/api/Information/v1/Version

Returns Congree Server and Web API versions


Response
{
  "CongreeWebApiVersion": "string",
  "CongreeVersion": "string"
}


Response example
{
  "CongreeWebApiVersion": "5.0.14353.13448.20190325.Dev",
  "CongreeVersion": "5.0.14353.13448.20190325.Dev"
}


GET

/congree/api/Information/v1/Components

Returns available components

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

Response
[
  {
    "Id": "string",
    "Name": "string"
  }
]


Response example
[
  {
    "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

POST

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

Checks the document

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

Request body
{
  "Xml": "string",
  "Options": {
    "IncludeValidTerms": true,
    "IncludeReporting": true,
    "IncludeContextMapping": true,
    "ExtractTermCandidates": true
  }
}

Important:

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

Options

Option nameDescription
IncludeValidTerms
Include valid terms from Style Guide in the result
IncludeReporting
Include Language Check Report in the result
IncludeContextMapping

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

ExtractTermCandidates
Extract terminology candidates from input XML and include them in the result

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

Response
{
  "ResultXml": "string",
  "Errors": [
    {
      "Id": "string",
      "ContextId": 0,
      "Type": "Abbreviation",
      "Descriptions": [
        {
          "Code": "string",
          "Description": {
            "Header": "string",
            "Instruction": "string",
            "Explanation": "string"
          },
          "Explanation": [
            {
              "Type": "Text",
              "Text": "string"
            }
          ],
          "ExplanationRewrite": [
            {
              "Type": "Text",
              "Text": "string"
            }
          ]
        }
      ],
      "Proposals": [
        {
          "Text": "string",
          "AdditionalInfo": "string",
          "BaseTermForm": "string",
          "ConceptId": 0
        }
      ]
    }
  ],
  "TermCandidates": [
    {
      "Id": "string",
      "Text": "string",
      "Context": "string",
      "IsExist": true
    }
  ],
  "Reporting": {
    "TotalCheckedWords": 0,
    "ReleaseLevel": 0,
    "RelativeReleaseLevel": 0,
    "SafeReleaseLevel": 0,
    "SafeReleaseLevelTitle": "string",
    "AcceptableReleaseLevel": 0,
    "AcceptableReleaseLevelTitle": "string",
    "UnsafeReleaseLevel": 0,
    "UnsafeReleaseLevelTitle": "string",
    "ReportingByTypes": [
      {
        "Type": "Abbreviation",
        "ErrorCount": 0,
        "Severity": 0,
        "RelativeSeverity": 0
      }
    ]
  },
  "FailedParagraphsInfo": {
    "FailedParagraphsAmount": 0
  }
}


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

<ul><li><?cngr-ctx-b 6?>Wie verständlich einzelne Passagen <?cngr-lc-b 13?>waren<?cngr-lc-e 13?><?cngr-ctx-e 6?></li><li>

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

Processing InstructionExplanation

<?cngr-ctx-b 6?>

ctx = context (a paragraph ID)

<?cngr-lc-b 13?>

lc = Language Check (a highlight/error ID)

<?cngr-ctx-e 6?>

e = end of the range

<?cngr-lc-b 13?>

b = beginning of the range

Please find the additional response content explained below.

Errors

  • Id: highlight/error ID to find the correct range of a Congree notification)
  • ContextId: ContextId corresponds to a “<?cngr-ctx-b X?> … <?cngr-ctx-e X?>” region. These PIs are emitted when IncludeContextMapping is true or both IncludeReporting is true and RuleSet has reporting configuration set.
  • Type: Spelling, Grammar, Style, Terminology, Abbreviation or Valid terms
  • Descriptions:
    • 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
  • Explanation: negative example
    • Type: can be Text or Explanation
    • Text
  • ExplanationRewrite: positive example
    • Type: can be Text or Explanation
    • Text

Important:

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 “<?cngr-lc-b X?>…<?cngr-lc-e X?>” 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


POST

/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.

In order to get the task status and results, use methods described in Tasks. The result is the same as for /congree/api/Linguistic/v1/Check

Response
{
  "Id": "00000000-0000-0000-0000-000000000000"
}


Response example
{
  "Id": "514290f4-fc30-48e3-99b8-0973011bd2e5"
}

GET

/congree/api/Linguistic/v1/LanguagesGets available languages

Linguistic: StyleGuide

POST

/api/Linguistic/StyleGuide/v1/Templates/{culture}

Create a new style guide

GET

/api/Linguistic/StyleGuide/v1/Templates/{culture}Get all style guides for the specified culture

PUT

/api/Linguistic/StyleGuide/v1/Templates/{culture}Edit a style guide

DELETE

/api/Linguistic/StyleGuide/v1/Templates/{culture}Delete style guides

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

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type}

Creates some configuration of the specified culture and type

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type}Gets some configuration of the specified culture and type

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type}Edit configurations

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type}Delete configurations

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:

{
  "Id": 0,
  "Name": "string",
  "Copy": true
}

Linguistic: StyleGuide Rules

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Rules/{configurationId}Gets language check rules for specific language and configuration

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Rules/{configurationId}Edit rules configuration

Linguistic: StyleGuide Synonyms

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId}

Adds new synonyms

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId}Get synonyms

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId}Edit synonyms

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId}Delete synonyms

Linguistic: StyleGuide Terminology

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFilters

Adds new term candidate filters

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFiltersGets term candidate filters

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFiltersEdit term candidate filter

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFiltersDelete term candidate filter

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/VariantsRecognitionGets terminology variants recognition rules for the specified language and configuration

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/VariantsRecognitionEdit terminology variants recognition rules configuration

Linguistic: StyleGuide User Lexicon

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns

Adds new term candidate filters

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/NounsGets term candidate filters

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/NounsEdit term candidate filter

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/NounsDelete term candidate filter

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/AbbreviationsAdds new abbreviations

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/AbbreviationsGets all abbreviations

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/AbbreviationsEdit abbreviation

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/AbbreviationsDeletes abbreviations by Id

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellingsAdds new Incorrect Spellings

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellingsGet all Incorrect Spellings

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellingsEdit Incorrect Spellings

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellingsDeletes an Incorrect Spelling by Id

POST

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnitsAdds new Measuring Units

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnitsGet all Measuring Units

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnitsEdit Measuring Units

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnitsDeletes a Measuring Unit by Id

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/SystemLexiconValidationValidates content in the system UserLexicon

Linguistic: StyleGuide User Lexicon Word forms

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns/{entryId}/FormsGet all word forms for the specified Noun entry

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns/{entryId}/FormsStore word forms for the specified Noun entry

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns/{entryId}/FormsClear configured word forms for the specified Noun entry

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations/{entryId}/FormsGet all word forms for the specified Abbreviation entry

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations/{entryId}/FormsStore word forms for the specified Abbreviation entry

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations/{entryId}/FormsClear configured word forms for the specified Abbreviation entry

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits/{entryId}/FormsGet all word forms for the specified Measuring unit entry

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits/{entryId}/FormsStore word forms for the specified Measuring unit entry

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits/{entryId}/FormsClear configured word forms for the specified Measuring unit entry

GET

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings/{entryId}/FormsGet all word forms for the specified Incorrect spelling entry

PUT

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings/{entryId}/FormsStore word forms for the specified Incorrect spelling entry

DELETE

/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings/{entryId}/FormsClear configured word forms for the specified Incorrect spelling entry

Document settings

GET

/congree/api/Settings/v1/Document

Gets list of available document-specific rule sets


Response
[
  "string"
]


Response example
[
  "Congree Standard",
  "Compathy",
  "Congree Word"
]


GET

/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.

Response
{
  <Settings group name>: <Settings object>
}


GET

/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.

Response
{
  <Settings group name>: <Settings object>
}

Available document-specific rule set settings groups

Language settings

Group name: LanguageSettings

Structure:

Language 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):

Linguistic 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
      }
    ]
  }


Linguistic reporting settings example
  {
    "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

Response 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
        }
    ]
}


Sample response
"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

POST

/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.

Request 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. 

Request body example
{
  "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.

GET

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

Gets all settings of the current third-party system.


Response
{
  <Settings group name>: <Settings object>
}


Response example
{
  "CongreeWebInterfaceSettings": {
    "Rules": [
      {
        "Rule": "Rule 1",
        "RuleSets": [
          "Congree Standard"
        ]
      }
    ]
  }
}


GET

/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.

Response
{
  <Settings group name>: <Settings object>
}


Response example for /congree/api/Reporting/v1/Linguistic/CongreeWebInterfaceSettings
{
  "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:

Congree Web Interface settings
{
  "Rules": [
    {
      "Rule": string,
      "RuleSets": [
        string
      ]
    }
  ]
}


Congree Web Interface settings example
{
  "Rules": [
    {
      "Rule": "Rule 1",
      "RuleSets": [
        "Congree Standard"
      ]
    }
  ]
}

Tasks

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

GET

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

Gets task status


Response
{
  "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.

GET

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

Gets task result

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

Response
{
  "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

POST

/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).

Request body
{
  "Text": "string",
  "Context": "string"
}


GET

/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.

Response
[
  {
    "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"
      }
    ]
  }
]

 

Response example
[
  {
    "Concept": {
      "ConceptId": 1,
      "Properties": [
        {
          "Values": [
            "555588"
          ],
          "Name": "Note"
        },
        {
          "Values": [
            {
              "Usage": "Undefined",
              "Value": "V2",
              "IsMultiValue": false
            }
          ],
          "Name": "PL1"
        }
      ],
      "Definitions": [
        {
          "Culture": "de-DE",
          "Text": "Definition",
          "Note": ""
        }
      ],
      "Synonyms": [
        {
          "Id": 0,
          "Term": "Test",
          "Properties": [
            {
              "Values": [
                {
                  "Usage": "Normal",
                  "Value": "main entry term",
                  "IsMultiValue": false
                }
              ],
              "Name": "Term type"
            },
            {
              "Values": [
                {
                  "Usage": "Normal",
                  "Value": "noun",
                  "IsMultiValue": false
                }
              ],
              "Name": "Part of speech"
            },
            {
              "Values": [
                {
                  "Usage": "Recommended",
                  "Value": "standard",
                  "IsMultiValue": false
                }
              ],
              "Name": "Usage"
            }
          ]
        }
      ]
    },
    "Id": 2,
    "Term": "Proband",
    "Properties": [
      {
        "Values": [
          {
            "Usage": "Normal",
            "Value": "main entry term",
            "IsMultiValue": false
          }
        ],
        "Name": "Term type"
      },
      {
        "Values": [
          {
            "Usage": "Normal",
            "Value": "noun",
            "IsMultiValue": false
          }
        ],
        "Name": "Part of speech"
      },
      {
        "Values": [
          {
            "Usage": "Normal",
            "Value": "masculine",
            "IsMultiValue": false
          }
        ],
        "Name": "Grammatical gender"
      },
      {
        "Values": [
          {
            "Usage": "Recommended",
            "Value": "standard",
            "IsMultiValue": false
          }
        ],
        "Name": "Usage"
      }
    ]
  }
]


  • Keine Stichwörter