Skip to content

Auto generated OpenAPI client for TCA

Notifications You must be signed in to change notification settings

turnitin/tca-client-javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

turnitin_core_api

TurnitinCoreApi - JavaScript client for turnitin_core_api Turnitin Core API (TCA) provides direct API access to the core functionality provided by Turnitin. TCA supports file submission, similarity report generation, group management, and visualization of report matches via Cloud Viewer or PDF download. Below is the full flow to successfully set up an integration scope, an API Key, and make calls to TCA. Integration Scope and API Key management is done via the Admin Console UI by logging in as an admin user. For more details, go to our developer portal documentation page.

Integration Scope and API Key Management

TCA API calls must provide an API Key for authentication, so you must first have at least one integration scope associated with at least one API Key to use TCA.

Admin Console UI

First, login to Admin Console UI as an Admin user with permission to create Integration Scopes, under a tenant that is licensed to use the TCA product Integration Scopes (you can create a new one, or add keys to existing)

  • Click Integrations in the side bar --> + Add Integration at top the top of the page --> Enter a name --> Add Button API Keys
  • Click Integrations in the side bar --> Create API Key Button next to a given Integration Scope --> Enter a name --> click Create and View button
  • Copy/Save the key manually or click save to clipboard button to copy it (this is the only time it will show)

TCA Flow

  • Register a webhook
  • Create a submission
  • Upload a file for the submission
  • Wait for the submission upload to process
    • If you registered a webhook, a callback will be sent to it when upload is complete
    • The status of the submission will also update to COMPLETE
  • Request a Similarity Report
  • Wait for similarity report to process
    • If you registered a webhook, a callback will be sent to it when report is complete
    • The status of the report will also be updated to COMPLETE
  • Request a URL with parameters to view the Similarity Report

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.258
  • Package version: 1.0.258
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

Installation

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install turnitin_core_api --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your turnitin_core_api from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build

git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var TurnitinCoreApi = require('turnitin_core_api');

var defaultClient = TurnitinCoreApi.ApiClient.instance;
// Configure API key authorization: api_key
var api_key = defaultClient.authentications['api_key'];
api_key.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//api_key.apiKeyPrefix['Authorization'] = "Token"

var api = new TurnitinCoreApi.EULAApi()
var xTurnitinIntegrationName = myintegration; // {String} a human readable string representing the type of integration being used
var xTurnitinIntegrationVersion = v1.0.2; // {String} the version of the integration platform being used
var versionId = latest; // {String} The EULA version ID (or `latest`) 
var data = new TurnitinCoreApi.EulaAcceptRequest(); // {EulaAcceptRequest} 
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.eulaVersionIdAcceptPost(xTurnitinIntegrationName, xTurnitinIntegrationVersion, versionId, data, callback);

Documentation for API Endpoints

All URIs are relative to https://app-us.turnitin.com/api/v1

Class Method HTTP request Description
TurnitinCoreApi.EULAApi eulaVersionIdAcceptPost POST /eula/{version_id}/accept Accepts a particular EULA version on behalf of an external user
TurnitinCoreApi.EULAApi eulaVersionIdAcceptUserIdGet GET /eula/{version_id}/accept/{user_id} Queries the acceptences of a particular EULA version on behalf of an external user
TurnitinCoreApi.EULAApi eulaVersionIdGet GET /eula/{version_id} Gets information about a particular EULA version
TurnitinCoreApi.EULAApi eulaVersionIdViewGet GET /eula/{version_id}/view Gets the text of a particular EULA version
TurnitinCoreApi.FeaturesApi featuresEnabledGet GET /features-enabled Get information about what features are allowed by the current license
TurnitinCoreApi.GroupsApi addGroupAttachment POST /groups/{group_id}/attachments Add attachment to a group. will create a group if it does not exist.
TurnitinCoreApi.GroupsApi deleteGroupAttachment DELETE /groups/{group_id}/attachments/{attach_id} Hard delete group attachment
TurnitinCoreApi.GroupsApi getGroup GET /groups/{group_id} Get group, group context and group context owners info
TurnitinCoreApi.GroupsApi getGroupAttachment GET /groups/{group_id}/attachments/{attach_id} Get group attachment
TurnitinCoreApi.GroupsApi getGroupAttachments GET /groups/{group_id}/attachments Get all attachments
TurnitinCoreApi.GroupsApi groupsGroupIdPut PUT /groups/{group_id} upsert group, group context and group context owners info
TurnitinCoreApi.GroupsApi updateGroupAttachment PATCH /groups/{group_id}/attachments/{attach_id} Patch a group attachment
TurnitinCoreApi.GroupsApi uploadGroupAttachment PUT /groups/{group_id}/attachments/{attach_id}/original Upload Submitted File
TurnitinCoreApi.IndexApi getIndexStatus GET /submissions/{id}/index Return index state of submission
TurnitinCoreApi.IndexApi indexSubmission PUT /submissions/{id}/index Index and return index state of submission
TurnitinCoreApi.SimilarityApi downloadSimilarityReportPdf GET /submissions/{id}/similarity/pdf/{pdf_id} GET download pdf
TurnitinCoreApi.SimilarityApi getSimilarityReportPdfStatus GET /submissions/{id}/similarity/pdf/{pdf_id}/status GET pdf download status
TurnitinCoreApi.SimilarityApi getSimilarityReportResults GET /submissions/{id}/similarity Get Similarity Report Results
TurnitinCoreApi.SimilarityApi getSimilarityReportUrl POST /submissions/{id}/viewer-url Returns a URL to access Cloud Viewer
TurnitinCoreApi.SimilarityApi requestSimilarityReport PUT /submissions/{id}/similarity Request Similarity Report generation
TurnitinCoreApi.SimilarityApi requestSimilarityReportPdf POST /submissions/{id}/similarity/pdf Request Pdf download and returns the Pdf Id
TurnitinCoreApi.SubmissionApi createSubmission POST /submissions Create a new Submission
TurnitinCoreApi.SubmissionApi deleteSubmission DELETE /submissions/{id} Deletes a submission and associated similarity report.
TurnitinCoreApi.SubmissionApi getSubmiddionDetails GET /submissions/{id} Get Submission Details
TurnitinCoreApi.SubmissionApi recoverSubmission PUT /submissions/{id}/recover Recover a soft deleted submission
TurnitinCoreApi.SubmissionApi uploadSubmittedFile PUT /submissions/{id}/original Upload Submitted File
TurnitinCoreApi.WebhookApi deleteWebhook DELETE /webhooks/{id} Delete Webhook endpoint
TurnitinCoreApi.WebhookApi getWebhook GET /webhooks/{id} Get Webhook endpoint info
TurnitinCoreApi.WebhookApi updateWebhook PATCH /webhooks/{id} Update Webhook endpoint info
TurnitinCoreApi.WebhookApi webhooksGet GET /webhooks List registered Webhook endpoints
TurnitinCoreApi.WebhookApi webhooksPost POST /webhooks Register a Webhook endpoint

Documentation for Models

Documentation for Authorization

api_key

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

About

Auto generated OpenAPI client for TCA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published