1. Authentication
1.1 OAuth2
OAuth, specifically OAuth2, is the open standard used across the MeditLink OpenAPI Platform for token-based authentication and authorization.
Please be noted that the OpenAPI manages authorization and permission under 'Standard Oauth2.0 authorization method' and few of the features are not provided due to security reasons.
Specific details regarding Oauth 2.0 can be found in https://oauth.net/2/
1.1.1 Field Guide
Client ID
The “client ID” is essentially your app’s username.
It is a 32-character alphanumeric string (e.g., oYYDFeocxR24zSJtuHuSCVvljrJGP8gx), and it is passed as the value for the client_id
query parameter and JSON attribute.
Client Secret
The “client secret” is essentially your app’s password.
It is a 32-character alphanumeric string (e.g., SGBb3Fa0EsRklPd0DrC02pFV7jsUVwEv), and it is passed as the value for the client_secret
query parameter and JSON attribute.
If you lose control of your credentials, you can regenerate your client secret.
Authorization Code
In a three-legged authorization code grant type flow, an authorization code is passed through a code query parameter when the user is redirected back to the app via the callback URL. Anything returned this way is accessible to the end user and, in principle, any intermediate system (including spyware in a browser extension).
For this reason, returning an access token directly poses a security risk. But an authorization code on its own cannot be used to get an access token; the app has to supplement it with its client ID and secret in the POST gettoken endpoint. Because the end user (and any part of the app that runs in the web browser) does not have the client ID and secret, the access token is not exposed.
The authorization code is a 32-character string (e.g., R24zS0EsRklPd0JtpFV7ua0EsRklPdS2).
Access Token
An access token (sometimes just “token” or “bearer token”) is returned at the end of a successful authentication flow.
The token is used in subsequent API calls to the MeditLink OpenAPI Platform. The platform keeps track of what resources the token is entitled to access and either allows or denies access at call time.
Tokens have a limited lifespan and expire after the number of seconds specified in the expires_in JSON attribute that is returned alongside the access_token attribute when it is first acquired.
Refresh Token
it would be very disruptive to require that an end user of your app be required to go through the authentication flow every time the access token expired. When your app obtains a access_token, it is also provided a refresh token, which can be used with the POST refreshtoken endpoint to get a new three-legged access token without involving the user by putting them through another authentication flow.
1.1.2 Scopes
A scope is a permission that is set on a token, a context in which that token may act. For example, a token with the USER scope is permitted to read User data within the MeditLink OpenAPI platform and can be used on those endpoints that require that scope. Tokens without that scope would be denied access to such endpoints. (Individual endpoint reference pages list the required scopes.)
Scopes serve two principal functions:
Privacy and Control
they act as a mechanism for requesting and securing permission to act on an end user’s behalf in specified ways.
Security
they ensure that if you lose control of your token, it cannot be misused to access resources for which it was not intended.
Note that scopes are mandatory for all access tokens; calls without scopes will be rejected.
Scope | Permission | Description |
---|---|---|
|
View your User info |
The application will be able to read the User’s profile data (but it will not include associated File). |
|
View your Group data |
The application will be able to read the Group’s data (not including associated File). |
|
View your Case data |
The application will be able to read the Case’s data (you can show list of File, but will not be able to download them). |
|
View your File data, and Download |
The application will be able to read and download the File. |
|
Manage your File data |
The application will be able to register/upload/delete the File. |
|
View your Order data |
The application will be able to read the Order’s data. |
|
Manage your Order data |
The application will be able to accept/cancel/reject the Order’s data. |
1.2 Get Token
1.2.1 Authorized Code Grant
If you need an end user to authorize your app to act on the user’s behalf, you’ll want to check out this tutorial.
The authorization code grant type is used to obtain both access tokens and refresh tokens and is optimized for confidential clients
Note that this tutorial does not show you how to write server-side code. Instead, it uses cURL commands to illustrate the calls you need to instrument in your code.
This tutorial presupposes that the app is a web app and that it needs to read the user’s data.
Before you begin, please contact us to create your app on the MedtiLink OpenAPI Platform. Specify your app’s callback URL and note your client ID and secret.
Step #1. Direct the User to the Authorization Web Flow
GET https://stage-openapi-auth.meditlink.com/oauth/authorize
At some point in the UI of your web app, you will find that you need to get the end user’s consent to access MeditLink resources on the user’s behalf. Depending on your app, you may do this when the user first starts using the app, or you may wait until your app actually needs to access the resource. Whatever the case, you will redirect the user to the GET authorize endpoint in their browser. For example, you might provide a link that looks like the following.
<a href="https://stage-openapi-auth.meditlink.com/oauth/authorize?client_id=Hpg1DOJGCPSLGk6kIxZTF1z9ZT4ScQlZ&response_type=code&redirect_uri=http://localhost/callback?me&scope=USER GROUP&state=bn6q6ru91ygkzwo8rfc0s1f7">
-
https://stage-openapi-auth.meditlink.com/oauth/authorize
This is the endpoint URI and should be used verbatim.
-
client_id=Hpg1DOJGCPSLGk6kIxZTF1z9ZT4ScQlZ
replace the value here with your app’s client ID.
-
response_type=code
This is what tells the OAuth server that you’re using the “Authentication Code” grant type and should be used verbatim.
-
redirect_uri=http://your-domain-url/callback
his is the URL-encoded callback URL you want the user redirected to after they grant consent. In this example, that URL is http://your-domain-url/callback. Replace the value here with the appropriate URL for your web app. Note that it must match the pattern specified for the callback URL in your app’s registration in the MeditLink OpenAPI platform.
-
scope=USER GROUP
This requests the USER and GROUP scope. You can leave this value as-is for purposes of this example, but in your own app, you should request the scope(s) you actually need.
ref. 1.1.2 Scopes
-
state=bn6q6ru91ygkzwo8rfc0s1f7
Authorization protocols provide a state parameter that allows you to restore the previous state of your application. The state parameter preserves some state object set by the client in the Authorization request and makes it available to the client in the response.
ref. https://auth0.com/docs/protocols/oauth2/oauth-state#csrf-attacks
Step #2. Login and Authorize approve
Clicking on this link will take the end user to the MeditLink OpenAPI Log In page
After entering their MeditLink ID credentials and logging in, the user will be redirected to the OAuth consent page.
When consent has been granted, the user will be redirected back to your callback URL (redirect_uri) with an additional code query parameter that contains the authorization code (e.g., R24zS0EsRklPd0JtpFV7ua0EsRklPdS2).
Step #3. Implement Code that Extracts the Authorization Code
in this example, the user was redirected to http://your-domain-url/callback?code=R24zS0EsRklPd0JtpFV7ua0EsRklPdS2
Your code that serves up the /callback URL in your web app should extract this code query parameter value and store it in a temporary variable.
Step #4. Exchange the Authorization Code for an Access Token
POST https://stage-openapi-auth.meditlink.com/oauth/token
Immediately after extracting the code query parameter value, you should exchange the authorization code for an access token using the /oauth/token
endpoint.
Replace the client_id, client_secret, code, and redirect_uri values in the example below with those specific to your app and from the above steps.
POST /oauth/token HTTP/1.1
Authorization: Basic {your-basic-authentication-value}
Content-Type: application/x-www-form-urlencoded
code=R24zS0EsRklPd0JtpFV7ua0EsRklPdS2&state=bn6q6ru91ygkzwo8rfc0s1f7&grant_type=authorization_code&redirect_uri=http%3A%2F%2Flocalhost%3A20000%2Fcallback&scope=USER%20GROUP
Host: stage-openapi-auth.meditlink.com
you can use this example to instrument the correct call in your server-side code.
A successful response, in relevant part, will look like this
{
"access_token": "492f2f8c-07d5-433b-8afc-13ba304157cd",
"token_type": "bearer",
"refresh_token": "96a9e748-8cad-4a29-b371-0a7d252f38fb",
"expires_in": 10159,
"scope": "USER GROUP",
"refresh_token_exp": 1686217896
}
1.2.2 Implicit Grant
The main difference here from the authorization code grant type is that the client receives the access token as the result of the authorization request. The refresh token is not issued in this case which requires repeating the authorization process once the access token expires.
Based on the use case that needs to be covered by your application and the above described constraints, you should make a choice between the authorization code and implicit grant type workflow.
Note that this tutorial does not show you how to write your code, instead it just illustrates the calls you need to instrument in your code.
Before you begin, please contact us to create your app on the MedtiLink OpenAPI Platform. Specify your app’s callback URL and note your client ID and secret.
Step #1. Direct the User to the Authorization Web Flow
GET https://stage-openapi-auth.meditlink.com/oauth/authorize
At some point in the UI of your web app, you will find that you need to get the end user’s consent to access MeditLink resources on the user’s behalf. Depending on your app, you may do this when the user first starts using the app, or you may wait until your app actually needs to access the resource. Whatever the case, you will redirect the user to the GET authorize endpoint in their browser. For example, you might provide a link that looks like the following.
<a href="https://stage-openapi-auth.meditlink.com/oauth/authorize?client_id=Hpg1DOJGCPSLGk6kIxZTF1z9ZT4ScQlZ&response_type=token&redirect_uri=http://localhost/callback?me&scope=USER GROUP&state=bn6q6ru91ygkzwo8rfc0s1f7">
-
https://stage-openapi-auth.meditlink.com/oauth/authorize
This is the endpoint URI and should be used verbatim.
-
client_id=Hpg1DOJGCPSLGk6kIxZTF1z9ZT4ScQlZ
eplace the value here with your app’s client ID.
-
response_type=token
This is what tells the OAuth server that you’re using the “Implicit” grant type and should be used verbatim.
-
redirect_uri=http://your-domain-url/callback
his is the URL-encoded callback URL you want the user redirected to after they grant consent. In this example, that URL is http://your-domain-url/callback. Replace the value here with the appropriate URL for your web app. Note that it must match the pattern specified for the callback URL in your app’s registration in the MeditLink OpenAPI platform.
-
scope=USER GROUP
This requests the USER and GROUP scope. You can leave this value as-is for purposes of this example, but in your own app, you should request the scope(s) you actually need.
ref. 1.1.2 Scopes
-
state=bn6q6ru91ygkzwo8rfc0s1f7
Authorization protocols provide a state parameter that allows you to restore the previous state of your application. The state parameter preserves some state object set by the client in the Authorization request and makes it available to the client in the response.
ref. https://auth0.com/docs/protocols/oauth2/oauth-state#csrf-attacks
Step #2. Login and Authorize approve
Clicking on this link will take the end user to the MeditLink OpenAPI Log In page
After entering their MeditLink ID credentials and logging in, the user will be redirected to the OAuth consent page.
When consent has been granted, the user will be redirected back to your callback URL (redirect_uri) with an additional code query parameter that contains the authorization code (e.g., R24zS0EsRklPd0JtpFV7ua0EsRklPdS2).
Step #3. Implement Code that Extracts the Access Token
in this example, the user was redirected to http://your-domain-url/callback#access_token=da91514b-41c2-4e58-bacb-d4e32ac39f3a&token_type=bearer&state=bn6q6ru91ygkzwo8rfc0s1f7&expires_in=86399
Your code that serves up the /callback URL in your web app should return a web page with a snippet of JavaScript to extract the fragment. and you will parsing URL and get the access_token
You will then be able to use the access token to make calls to other API endpoints on behalf of the end user.
After the token expires, You should repeat this flow to authorize the user again to acquire a new access token.
1.2.3 Password Grant
Step #1. Use Your Account of MeditLink to Obtain an Access Token
POST https://stage-openapi-auth.meditlink.com/oauth/token
Basic authentication must be created using client_id and client_secret, and the access token must be issued using the
endpoint with the user information subscribed to MeditLink.POST https://stage-openapi-auth.meditlink.com/oauth/token
Basic authentication is a method of providing a username and password when requested by an HTTP user agent (such as a web browser). Please refer to https://www.twilio.com/docs/glossary/what-is-basic-authentication. |
POST /oauth/token HTTP/1.1
Authorization: Basic {your-basic-authentication-value}
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=username@mail.com&password=password
Host: stage-openapi-auth.meditlink.com
A successful response, in relevant part, will look like this
{
"access_token": "492f2f8c-07d5-433b-8afc-13ba304157cd",
"token_type": "bearer",
"refresh_token": "96a9e748-8cad-4a29-b371-0a7d252f38fb",
"expires_in": 10159,
"scope": "USER GROUP",
"refresh_token_exp": 1686217896
}
1.3 Check Token
URI Information
POST https://stage-openapi-auth.meditlink.com/oauth/check_token
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
Basic authentication must be created using client_id and client_secret, and the access token must be issued using the
endpoint with the user information subscribed to MeditLink.POST https://stage-openapi-auth.meditlink.com/oauth/token
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
access_token value in Token Data |
Response Body Structure
{
"aud": [
"MEDITLINK_OPENAPI_CLIENT"
],
"user_name": "meditlink.api.clinic@medit.com",
"scope": [
"USER",
"GROUP",
"CASE",
"FILE",
"ORDER",
"PRODUCT:DENTAL"
],
"active": true,
"exp": 1624322318,
"authorities": [
"CLINIC:ADMIN"
],
"refresh_token_exp": 1701852155,
"client_id": "rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO"
}
Example Request
POST /oauth/check_token?token=0791b0db-b3a1-4f29-ab7a-a97f725c1bb5 HTTP/1.1
Authorization: Basic {your-basic-authentication-value}
Host: stage-openapi-auth.meditlink.com
1.4 Refresh Token
URI Information
POST https://stage-openapi-auth.meditlink.com/oauth/token
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
Basic authentication must be created using client_id and client_secret, and the access token must be issued using the
endpoint with the user information subscribed to MeditLink.POST https://stage-openapi-auth.meditlink.com/oauth/token
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
use |
|
|
|
refresh_token value in Token Data |
Response Body Structure
{
"access_token": "492f2f8c-07d5-433b-8afc-13ba304157cd",
"token_type": "bearer",
"refresh_token": "96a9e748-8cad-4a29-b371-0a7d252f38fb",
"expires_in": 10159,
"scope": "USER GROUP",
"refresh_token_exp": 1686217896
}
Example Request
POST /oauth/token?grant_type=refresh_token&refresh_token=96a9e748-8cad-4a29-b371-0a7d252f38fb HTTP/1.1
Authorization: Basic {your-basic-authentication-value}
Host: stage-openapi-auth.meditlink.com
2. OpenAPI Overview
2.2 Version information
path parameter | Type | Description |
---|---|---|
|
string |
API Version, current support v1 |
2.3 Error Handling
2.3.1 HTTP status codes
MeditLink OpenAPI services use standard HTTP status response codes in the response header to indicate whether a request completed successfully or not. A 2xx type response indicates success. A 4xx type response indicates a failure in handling a request. For example, an error caused by a request containing an invalid parameter. A 5xx type response usually indicates an internal server error.
RESTful notes tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP status codes.
Status code | Description |
---|---|
|
The request completed successfully |
|
The requested list could not be found |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
The requested resource Duplicated |
|
Too many requests. |
|
Internal Server Error |
2.3.2 Error Response Schema
Most errors are typically indicated by a 4xx or 5xx HTTP status code in the response header. The JSON payload body may provide details of the error that occured. The body structure of the error response payload generated for MeditLink OpenAPI errors is as below.
{
"timestamp": "2019-01-02T05:21:38.298Z",
"status": 400,
"error": "unsupported_grant_type",
"message": "Unsupported grant type: password",
"path": "/v1/user/username@mail.com"
}
Field | Type | Description |
---|---|---|
|
|
API Response time |
|
|
Http Status code |
|
|
A code that identifies the error type. |
|
|
A short, generic description of the error, meant for an end-user audience. |
|
|
Requested API URL |
3. Resources
3.1.User
3.1.1 Get user information about me
Resource Information
GET /{ver}/me
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"schemaVersion" : "s1",
"dateUpdated" : "2021-12-30T00:57:23Z",
"dateCreated" : "2019-01-25T01:32:13Z",
"email" : "meditlink.api.clinic@medit.com",
"name" : "D.Davis",
"profileImage" : {
"name" : "profile.png",
"size" : 4921,
"hashValue" : "922d4be136d23dd18e0ca14ee49cfdd2",
"hashAlgorithm" : "MD5",
"uuid" : "c09cf002-8d74-0e2b-874a-0735574c8e30",
"url" : "https://com-meditlink-group-files-global-dev-aws.s3.amazonaws.com/74VdO/users/gPplW/profile.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20231207T071043Z&X-Amz-SignedHeaders=host&X-Amz-Expires=299&X-Amz-Credential=AKIAYIA5BBFU5C6IMMWG%2F20231207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=68f6e5be00f367f568e32e696a71c078170f3581bf902c9e440031a58bcef830",
"dateExpired" : "2023-12-07T07:15:43.876Z"
},
"group" : {
"dateUpdated" : "2020-05-29T01:59:10Z",
"dateCreated" : "2019-01-25T01:32:13Z",
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"description" : "",
"type" : "CLINIC"
}
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
last modified Date and Time about User Data |
|
|
created Date and Time about User Data |
|
|
|
|
|
Name |
|
|
profile image information |
|
|
The unique identifier of a profile image |
|
|
name of image |
|
|
size of file |
|
|
hash value of file |
|
|
hash algorithm |
|
|
Download URL of profile image |
|
|
Expiration date available for download |
|
|
Group information |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
Example Request
GET /v1/me?schema=latest HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.1.2 Get user by user email
Resource Information
GET /{ver}/users/{userEmail}
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Must be a well-formed email address. |
User Email |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"schemaVersion" : "s1",
"dateUpdated" : "2021-12-30T00:57:23Z",
"dateCreated" : "2019-01-25T01:32:13Z",
"email" : "meditlink.api.clinic@medit.com",
"name" : "D.Davis",
"profileImage" : {
"name" : "profile.png",
"size" : 4921,
"hashValue" : "922d4be136d23dd18e0ca14ee49cfdd2",
"hashAlgorithm" : "MD5",
"uuid" : "c09cf002-8d74-0e2b-874a-0735574c8e30",
"url" : "https://com-meditlink-group-files-global-dev-aws.s3.amazonaws.com/74VdO/users/gPplW/profile.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20231207T071059Z&X-Amz-SignedHeaders=host&X-Amz-Expires=299&X-Amz-Credential=AKIAYIA5BBFU5C6IMMWG%2F20231207%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1250523bfb25de5210cb7bb28dfccf120bc3b4e9fa2c80f34a3f0e4cf53f32bc",
"dateExpired" : "2023-12-07T07:15:59.585Z"
},
"group" : {
"dateUpdated" : "2020-05-29T01:59:10Z",
"dateCreated" : "2019-01-25T01:32:13Z",
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"description" : "",
"type" : "CLINIC"
}
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
last modified Date and Time about User Data |
|
|
created Date and Time about User Data |
|
|
|
|
|
Name |
|
|
profile image information |
|
|
The unique identifier of a profile image |
|
|
name of image |
|
|
size of file |
|
|
hash value of file |
|
|
hash algorithm |
|
|
Download URL of profile image |
|
|
Expiration date available for download |
|
|
Group information |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
Example Request
GET /v1/users/meditlink.api.clinic@medit.com?schema=latest HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.2. Group
3.2.1 Get Group
Resource Information
GET /{ver}/groups/{groupUuid}
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Must not be null. |
The unique identifier of a Group |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"dateUpdated" : "2020-05-29T01:59:10Z",
"dateCreated" : "2019-01-25T01:32:13Z",
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"description" : "",
"type" : "CLINIC",
"contact" : {
"userName" : "D.Davis",
"cellPhone" : "10-9876-5432",
"officePhone" : "2193-9600"
},
"address" : {
"state" : "Seoul",
"city" : "Seongbuk-gu",
"postal" : "02855",
"detail1" : "Medit Company, 19 Inchon-ro 22-gil",
"detail2" : ""
},
"homePage" : "https://www.medit.com",
"files" : [ {
"uuid" : "4cfe5fca-dc5d-fefb-7cab-537a5bcd298a",
"size" : 4233,
"mimeType" : "image/png",
"fileType" : "COVER_IMAGE",
"url" : "https://s3.amazonaws.com/74VdO/images/4cfe5fca-dc5d-fefb-7cab-537a5bcd298a",
"dateUpdated" : "2019-04-24T05:31:03Z",
"dateCreated" : "2019-04-24T05:31:03Z"
}, {
"uuid" : "e7322566-24cd-1a0a-c7f6-7a5cbbd17565",
"size" : 5178,
"mimeType" : "image/png",
"fileType" : "LOGO_IMAGE",
"url" : "https://s3.amazonaws.com/74VdO/images/e7322566-24cd-1a0a-c7f6-7a5cbbd17565",
"dateUpdated" : "2019-04-24T05:31:03Z",
"dateCreated" : "2019-04-24T05:31:03Z"
}, {
"uuid" : "fb8d4d19-ec65-3840-eecc-147ef34f1078",
"size" : 179564,
"mimeType" : "image/png",
"fileType" : "INTRO_PHOTO",
"url" : "https://s3.amazonaws.com/74VdO/images/photos/fb8d4d19-ec65-3840-eecc-147ef34f1078",
"dateUpdated" : "2019-04-24T05:31:03Z",
"dateCreated" : "2019-04-24T05:31:03Z"
}, {
"uuid" : "cfb1e20e-4c69-f120-2e97-6e54354766c6",
"size" : 58683,
"mimeType" : "image/jpeg",
"fileType" : "INTRO_PHOTO",
"url" : "https://s3.amazonaws.com/74VdO/images/photos/cfb1e20e-4c69-f120-2e97-6e54354766c6",
"dateUpdated" : "2019-04-24T05:36:24Z",
"dateCreated" : "2019-04-24T05:36:24Z"
} ],
"schemaVersion" : "s1"
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
The Type of Group Group Type |
|
|
Contact information of Group |
|
|
user name |
|
|
cell-phone number |
|
|
office number |
|
|
Address information of Group |
|
|
state of address |
|
|
city of address |
|
|
zip/postal of address |
|
|
additional information of address |
|
|
additional information of address |
|
|
homepage url of Group |
|
|
Address information of Group |
|
|
last modified Date and Time about File |
|
|
created Date and Time about File |
|
|
The unique identifier of a File |
|
|
size of File |
|
|
MIME Type of File |
|
|
Type of File Group File Type |
|
|
Download URL of file |
Example Request
GET /v1/groups/RC5EQVZJU18xNTQ4Mzc5OTMzODc0?schema=latest HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.3. Case
3.3.1 Get Cases
Resource Information
GET /{ver}/cases/search
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
|
|
|
Must be at least 1. |
request size of list. (default 20) |
|
|
Must be at least 0. |
request page of list, (default 0) |
|
|
Must be at least 0. |
search by start of dateCreated timestamp, Assuming that this timestamp is in milliseconds |
|
|
Must be at least 0. |
search by end of dateCreated timestamp, Assuming that this timestamp is in milliseconds |
|
|
search by name field |
|
|
|
search by status field Case Status |
Response Body Structure
{
"schemaVersion" : "s1",
"first" : true,
"last" : false,
"size" : 2,
"content" : [ {
"dateUpdated" : "2023-12-07T07:07:14Z",
"dateCreated" : "2021-04-13T01:25:54Z",
"dateScanned" : "2021-04-13T01:49:55Z",
"uuid" : "72218637-46a3-4a9c-a675-399e668dd8ff",
"name" : "Seolah.Jeon's Case",
"status" : "SCAN",
"tags" : [ "Dental", "Case", "Medit" ],
"patient" : {
"name" : "Seolah.Jeon",
"code" : "201222039"
}
}, {
"dateUpdated" : "2019-05-15T09:13:32Z",
"dateCreated" : "2019-05-15T05:30:04Z",
"dateScanned" : "",
"uuid" : "74707ab5-6084-4a61-bddb-b2eb6c8cd89b",
"name" : "David Back's Case - clone",
"status" : "FORM",
"tags" : [ "One", "Two", "Three" ],
"patient" : {
"name" : "David Back",
"code" : ""
}
} ],
"totalPage" : 5,
"page" : 0,
"totalElements" : 10,
"numberOfElements" : 2
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
request size of list |
|
|
request page of list |
|
|
returns whether the current is the first one |
|
|
returns whether the current is the last one |
|
|
returns whether the page total count |
|
|
returns whether the total elements count |
|
|
returns the number of elements currently on this |
|
|
Cases of Group |
|
|
last modified Date and Time about Case |
|
|
created Date and Time about Case |
|
|
last scanned Date and Time about Case |
|
|
The unique identifier of a Case |
|
|
name of Case |
|
|
The Status of Case Case Status |
|
|
Tags entered for the case. |
|
|
Patient Information |
|
|
name of Patient. For Labs, the patient.name value can only be checked if the ‘Share Patient Name’ setting is allowed when Clinic makes an order. ref) Medit Link Workflow for Clinics: Ordering from Labs |
|
|
code of Patient. For Labs, patient.code cannot be seen or used because it is not shared when Clinic makes an order. |
Example Request
GET /v1/cases/search?schema=latest&size=2&page=0&start=1504717228000&end=1701932925934&name=&status= HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
x-meditlink-group-uuid: RC5EQVZJU18xNTQ4Mzc5OTMzODc0
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The requested list could not be found |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.3.2 Get Case
Resource Information
GET /{ver}/cases/{caseUuid}
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Must not be null. |
The unique identifier of a Case |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"dateUpdated" : "2023-12-07T07:07:14Z",
"dateCreated" : "2021-04-13T01:25:54Z",
"dateScanned" : "2021-04-13T01:49:55Z",
"uuid" : "72218637-46a3-4a9c-a675-399e668dd8ff",
"name" : "Seolah.Jeon's Case",
"status" : "SCAN",
"tags" : [ "Dental", "Case", "Medit" ],
"patient" : {
"name" : "Seolah.Jeon",
"code" : "201222039"
},
"files" : [ {
"name" : "mandibular.meditMesh",
"size" : 3197161,
"uuid" : "97f54290-943a-418f-8a2f-fa67da83e643",
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T01:53:52Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "maxillary.meditMesh",
"size" : 4650526,
"uuid" : "97d5d5d3-e282-4e27-9fea-5ccf4f418bb9",
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T01:53:52Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusionfirst.meditMesh",
"size" : 682241,
"uuid" : "9c142b25-9d08-4495-899a-d31931ac2df6",
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T01:53:52Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusionsecond.meditMesh",
"size" : 1036449,
"uuid" : "e5c3679b-b6ce-4b35-8b7a-8ec1ba64fc9a",
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusion_1_raw.meditGroupInfo",
"size" : 1005,
"uuid" : "9717a722-c458-4f16-891b-a0a9bfbe8ed1",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:41:51Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusion_2_raw.meditGroupInfo",
"size" : 1005,
"uuid" : "8156ec50-9cbf-490e-9535-c402e965e108",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:41:51Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusion_3_raw.meditGroupInfo",
"size" : 1015,
"uuid" : "31c7a119-634f-4c1f-b1b1-c94e4009bd5f",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:50:20Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "mandibular.meditMesh",
"size" : 3197161,
"uuid" : "34134ead-e868-465b-8b3b-14110869fd10",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "maxillary.meditMesh",
"size" : 4650526,
"uuid" : "91f9ff74-8527-4b3a-93da-091e2e84fcf9",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusionfirst.meditMesh",
"size" : 1370100,
"uuid" : "25b02cb1-e543-44c3-8d91-e405f2284f92",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusionsecond.meditMesh",
"size" : 916556,
"uuid" : "05038cbe-afe6-4aa5-b1c4-f0975c4a9e1e",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "mandibular.meditMesh",
"size" : 3197161,
"uuid" : "46c95f99-6074-4c52-b5f4-0af29b2ec645",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "maxillary.meditMesh",
"size" : 4650526,
"uuid" : "9b5b9eef-68cf-42aa-b0dd-4c9adc85aa19",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusionfirst.meditMesh",
"size" : 1616655,
"uuid" : "3bdc9c40-189f-4642-8108-37ce6cb43a0b",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
}, {
"name" : "occlusionsecond.meditMesh",
"size" : 858497,
"uuid" : "80201013-f5a0-46fa-af2c-6bbc5242eb79",
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T01:53:53Z",
"fileType" : "SCAN_DATA"
} ],
"formInformation" : {
"type" : "TEETH",
"items" : [ {
"category" : "CROWN",
"categoryDisplayName" : "Crown",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 45,
"jawType" : "",
"multiDieNo" : 0
}, {
"category" : "PONTIC",
"categoryDisplayName" : "Pontic",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 46,
"jawType" : "",
"multiDieNo" : 0
}, {
"category" : "CROWN",
"categoryDisplayName" : "Crown",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 47,
"jawType" : "",
"multiDieNo" : 0
} ]
},
"multiOcclusionGroup" : [ {
"groupId" : 1,
"groupName" : "CO Bite",
"files" : [ "97f54290-943a-418f-8a2f-fa67da83e643", "97d5d5d3-e282-4e27-9fea-5ccf4f418bb9", "9c142b25-9d08-4495-899a-d31931ac2df6", "e5c3679b-b6ce-4b35-8b7a-8ec1ba64fc9a", "9717a722-c458-4f16-891b-a0a9bfbe8ed1" ]
}, {
"groupId" : 2,
"groupName" : "CR Bite",
"files" : [ "8156ec50-9cbf-490e-9535-c402e965e108", "34134ead-e868-465b-8b3b-14110869fd10", "91f9ff74-8527-4b3a-93da-091e2e84fcf9", "25b02cb1-e543-44c3-8d91-e405f2284f92", "05038cbe-afe6-4aa5-b1c4-f0975c4a9e1e" ]
}, {
"groupId" : 3,
"groupName" : "Lateral Bite",
"files" : [ "31c7a119-634f-4c1f-b1b1-c94e4009bd5f", "46c95f99-6074-4c52-b5f4-0af29b2ec645", "9b5b9eef-68cf-42aa-b0dd-4c9adc85aa19", "3bdc9c40-189f-4642-8108-37ce6cb43a0b", "80201013-f5a0-46fa-af2c-6bbc5242eb79" ]
} ],
"bridges" : [ [ 15, 14, 13, 12 ], [ 26, 27 ], [ 36, 35, 34 ] ],
"schemaVersion" : "s1"
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
last modified Date and Time about Case |
|
|
created Date and Time about Case |
|
|
last scanned Date and Time about Case |
|
|
The unique identifier of a Case |
|
|
name of Case |
|
|
The Status of Case Case Status |
|
|
Tags entered for the case. |
|
|
Patient Information |
|
|
name of Patient. For Labs, the patient.name value can only be checked if the ‘Share Patient Name’ setting is allowed when Clinic makes an order. ref) Medit Link Workflow for Clinics: Ordering from Labs |
|
|
code of Patient. For Labs, patient.code cannot be seen or used because it is not shared when Clinic makes an order. |
|
|
File list of Case |
|
|
last modified Date and Time about File |
|
|
created Date and Time about File |
|
|
The unique identifier of a File |
|
|
name of File |
|
|
size of File |
|
|
Type of File Case File Type |
|
|
Form Information |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This information is about Occlusion groups created using the Multi Occlusion function in Medit Scan for Clinics. |
|
|
Occlusion Group ID |
|
|
name of Occlusion Group |
|
|
uuid list of case files associated with the occlusion group. #Ref : files[].uuid |
|
|
Information about connecting two or more prosthetics. |
Example Request
GET /v1/cases/72218637-46a3-4a9c-a675-399e668dd8ff?schema=latest HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
x-meditlink-group-uuid: RC5EQVZJU18xNTQ4Mzc5OTMzODc0
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.4. File
3.4.1 Get File
Resource Information
GET /{ver}/files/{fileUuid}
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Must not be null. |
The unique identifier of a File |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Type of meditMesh file you want to convert. Do not use type parameters if you want to download the original file. Case File Convert Type |
Response Body Structure
{
"uuid" : "930449b1-76b4-479e-b1a7-a57e65d9d172",
"url" : "https://com-meditlink-case-files-ap-northeast-2-dev-aws.s3.ap-northeast-2.amazonaws.com/us-east-1%3Ad5f87fb1-c190-426d-afd3-2b64dd3e4310/convert-930449b1-76b4-479e-b1a7-a57e65d9d172/930449b1-76b4-479e-b1a7-a57e65d9d172.obj.7z?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20231207T071002Z&X-Amz-SignedHeaders=host&X-Amz-Expires=299&X-Amz-Credential=AKIAYIA5BBFU5C6IMMWG%2F20231207%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Signature=c6dde4f08d8212e09001c8abf804c746a77e82f24f26492ec1e84f24db451ec6",
"downloadFileName" : "930449b1-76b4-479e-b1a7-a57e65d9d172.obj.7z",
"dateExpired" : "2023-12-07T07:15:02.627Z",
"items" : [ {
"name" : "mandible.obj",
"size" : 25129108,
"hashValue" : "5f5d079910a276b68ff863f02d12c992",
"hashAlgorithm" : "MD5"
} ],
"schemaVersion" : "s1"
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
The unique identifier of a File |
|
|
items of a compressed 7z file |
|
|
name of File |
|
|
size of File |
|
|
hash value of File |
|
|
hash algorithm |
|
|
Download URL of File(5 Minutes) |
|
|
Name of Download File |
|
|
Expiration date available for download |
Example Request
GET /v1/files/930449b1-76b4-479e-b1a7-a57e65d9d172?type=obj HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
x-meditlink-group-uuid: RC5EQVZJU18xNTQ4Mzc5OTMzODc0
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.4.2 Register File information
First of all, please understand How to attach a file and use the API. |
Resource Information
POST /{ver}/files
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Request Body Structure
{
"caseUuid" : "72218637-46a3-4a9c-a675-399e668dd8ff",
"name" : "mandible.obj",
"size" : 13612946,
"hashValue" : "vZ2A+bV5ZH3HZx51JAMhzA==",
"callbackUrl" : "https://webhook.site/e3c0464d-d9d4-4f8b-b94f-c69861a273f4"
}
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be blank. |
The unique identifier of a Case |
|
|
Must not be blank. |
name of File |
|
|
Must be at least 1. |
size of File (byte) |
|
|
Must not be blank. |
hash value of File, Base64 encode MD5 hash value. Generate a file hash value |
|
|
Must URL Pattern. |
URL to return the file upload process result |
Response Body Structure
{
"uuid" : "0027931e-bd07-4737-8bb1-0fb12c77d064",
"uploadUrl" : "https://com-meditlink-case-files-dev.s3.amazonaws.com/.openapi/us-east-1%3Ad5f87fb1-c190-426d-afd3-2b64dd3e4310/0027931e-bd07-4737-8bb1-0fb12c77d064.tmp?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220922T013337Z&X-Amz-SignedHeaders=content-md5%3Bhost&X-Amz-Expires=1799&X-Amz-Credential=AKIAYIA5BBFUYGAOPOMS%2F20220922%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Signature=da457efadfe26b14a1dd87a17754003888f60f10e1668a1bdcb82e04056bc910",
"dateExpired" : "2022-09-22T02:03:37.599Z",
"item" : {
"name" : "mandible.obj",
"size" : 13612946,
"hashValue" : "bd9d80f9b579647dc7671e75240321cc",
"hashAlgorithm" : "MD5"
},
"schemaVersion" : "s1"
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
The unique identifier of a File |
|
|
Upload URL of File, [how_to_upload_file] |
|
|
Expiration date available for upload(30 Minutes) |
|
|
items of a compressed 7z file |
|
|
name of File |
|
|
size of File |
|
|
hash value of File |
|
|
hash algorithm |
Example Request
POST /v1/files?schema=latest HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Content-Length: 228
x-meditlink-group-uuid: RC5EQVZJU18xNTQ4Mzc5OTMzODc0
Host: stage-openapi-resources.meditlink.com
{
"caseUuid" : "72218637-46a3-4a9c-a675-399e668dd8ff",
"name" : "mandible.obj",
"size" : 13612946,
"hashValue" : "vZ2A+bV5ZH3HZx51JAMhzA==",
"callbackUrl" : "https://webhook.site/e3c0464d-d9d4-4f8b-b94f-c69861a273f4"
}
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
The requested resource Duplicated |
|
Internal Server Error |
3.4.3 Upload File
Uploading files to the cloud uses the Amazon S3 (Simple Storage Service) pre-signed upload URL.
You can google "AWS S3 pre-signed url upload example" for various use cases.
ref. https://www.google.com/search?q=aws+s3+presigned+url+upload+example
Resource Information
PUT {uploadUrl}
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
Example Request
PUT /.openapi/us-east-1%3Ac803ab4c-a64e-49c0-abfd-7512802b9c5c/162ec8a8-9c45-479f-9f01-ad5ebb5bc27e.tmp?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220921T050850Z&X-Amz-SignedHeaders=content-md5%3Bhost&X-Amz-Expires=1799&X-Amz-Credential=AKIAYLZZ3NLKN7USRAD7%2F20220921%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Signature=2d48b4e0c33cbe725076f2ba1ae0b3ddf9f36153a004bbe79e2f8a5136df3aea HTTP/1.1
Host: com-meditlink-case-files-dev.s3.amazonaws.com
Content-MD5: vZ2A+bV5ZH3HZx51JAMhzA==
Content-Type: model/obj
Content-Length: 22
<file contents here>
3.4.4 Delete File
Resource Information
DELETE /{ver}/files/{fileUuid}
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
Must not be null. |
|
|
|
Must not be null. |
The unique identifier of a File |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"name" : "mandible.obj.general.meditMesh",
"size" : 13612946,
"uuid" : "a1bc5fd2-165a-447d-a1c1-28340aa038e0",
"dateUpdated" : "2023-12-07T07:09:37Z",
"dateCreated" : "2023-12-07T07:09:37Z",
"fileType" : "ATTACHED_DATA"
}
Field | Type | Description |
---|---|---|
|
|
name of File |
|
|
size of File |
|
|
The unique identifier of a File |
|
|
Type of File Case File Type |
|
|
last modified Date and Time about File |
|
|
created Date and Time about File |
Example Request
DELETE /v1/files/a1bc5fd2-165a-447d-a1c1-28340aa038e0?schema=latest HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
x-meditlink-group-uuid: RC5EQVZJU18xNTQ4Mzc5OTMzODc0
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Internal Server Error |
3.5. Order
3.5.1 Get Orders
Resource Information
GET /{ver}/orders/search
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
|
|
|
Must be at least 1. Must be at most 40. Must not be null |
request size of list. (default 20) |
|
|
Must be at least 0. Must be at most 1000. Must not be null |
request page of list, (default 0) |
|
|
Must be at least 0. Must be at most 253402300799000. Must not be null |
search by start of dateUpdated timestamp, Assuming that this timestamp is in milliseconds |
|
|
Must be at least 0. Must be at most 253402300799000. Must not be null |
search by end of dateUpdated timestamp, Assuming that this timestamp is in milliseconds |
|
|
search by status field Order Status |
Response Body Structure
{
"schemaVersion" : "s1",
"first" : true,
"last" : false,
"size" : 2,
"content" : [ {
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateDesiredDelivery" : "2021-04-20T05:10:00Z",
"status" : "PENDING",
"buyer" : {
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"type" : "CLINIC"
},
"seller" : {
"uuid" : "T05FTEFCXzE1NDgzODA1Nzk0MzY=",
"name" : "OneLab",
"type" : "LAB"
},
"case" : {
"uuid" : "72218637-46a3-4a9c-a675-399e668dd8ff",
"name" : "Seolah.Jeon's Case",
"status" : "SCAN",
"tags" : [ "Dental", "Case", "Medit" ],
"patient" : {
"name" : "Seolah.Jeon",
"code" : "201222039"
}
},
"orderNumber" : 3706720
}, {
"dateUpdated" : "2019-05-15T09:13:33Z",
"dateCreated" : "2019-05-15T09:13:31Z",
"dateDesiredDelivery" : "2019-05-21T15:00:00Z",
"status" : "PENDING",
"buyer" : {
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"type" : "CLINIC"
},
"seller" : {
"uuid" : "T05FTEFCXzE1NDgzODA1Nzk0MzY=",
"name" : "OneLab",
"type" : "LAB"
},
"case" : {
"uuid" : "74707ab5-6084-4a61-bddb-b2eb6c8cd89b",
"name" : "David Back's Case - clone",
"status" : "FORM",
"tags" : [ "One", "Two", "Three" ],
"patient" : {
"name" : "David Back",
"code" : ""
}
},
"orderNumber" : 3700956
} ],
"totalPage" : 11,
"page" : 0,
"totalElements" : 22,
"numberOfElements" : 2
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
request size of list |
|
|
request page of list |
|
|
returns whether the current is the first one |
|
|
returns whether the current is the last one |
|
|
returns whether the page total count |
|
|
returns whether the total elements count |
|
|
returns the number of elements currently on this |
|
|
Cases of Group |
|
|
Order Number |
|
|
last modified Date and Time about Order |
|
|
created Date and Time about Order |
|
|
Desired Delivery Date from Clinic |
|
|
The Status of Order Order Status |
|
|
Buyer Group Information |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
The Type of Group Group Type |
|
|
Seller Group Information |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
The Type of Group Group Type |
|
|
Case Information |
|
|
The unique identifier of a Case |
|
|
name of Case |
|
|
The Status of Case Case Status |
|
|
Tags entered for the case. |
|
|
Patient Information |
|
|
The patient name of Case. |
|
|
The patient ID of Case. |
Example Request
GET /v1/orders/search?schema=latest&size=2&page=0&start=1504717228000&end=1701932662980&status=&status= HTTP/1.1
Authorization: Bearer 8bc2b700-2d33-403b-8c23-c5c59fc06495
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
x-meditlink-group-uuid: RC5EQVZJU18xNTQ4Mzc5OTMzODc0
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The requested list could not be found |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.5.2 Get Order
Resource Information
GET /{ver}/orders/{orderNumber}
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Order Number |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateDesiredDelivery" : "2021-04-20T05:10:00Z",
"status" : "PENDING",
"buyer" : {
"dateUpdated" : "+52377-10-31T18:06:40Z",
"dateCreated" : "+51036-03-17T00:56:40Z",
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"description" : "",
"type" : "CLINIC",
"contact" : {
"userName" : "D.Davis",
"cellPhone" : "",
"officePhone" : "2193-9600"
},
"address" : {
"state" : "Seoul",
"city" : "Seongbuk-gu",
"postal" : "02855",
"detail1" : "Medit Company, 19 Inchon-ro 22-gil",
"detail2" : ""
},
"homePage" : ""
},
"seller" : {
"dateUpdated" : "+51447-12-26T02:16:40Z",
"dateCreated" : "+51036-03-24T12:23:20Z",
"uuid" : "T05FTEFCXzE1NDgzODA1Nzk0MzY=",
"name" : "OneLab",
"description" : "",
"type" : "LAB",
"contact" : {
"userName" : "Peter Parker",
"cellPhone" : "",
"officePhone" : "2193-9600"
},
"address" : {
"state" : "Seoul",
"city" : "Seongbuk-gu",
"postal" : "02855",
"detail1" : "Medit Company, 19 Inchon-ro 22-gil",
"detail2" : ""
},
"homePage" : ""
},
"description" : "",
"delivery" : [ ],
"schemaVersion" : "s1",
"case" : {
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateScanned" : "",
"uuid" : "bf335448-ebfc-4922-9b9e-d903b191ad7e",
"name" : "Seolah.Jeon's Case",
"status" : "SCAN",
"tags" : [ "Dental", "Case", "Medit" ],
"files" : [ {
"uuid" : "746f4a30-6e6f-4e74-b305-6246b532f005",
"name" : "maxillary.meditMesh",
"size" : 4650526,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "7de375a3-4f59-4e59-bce5-0a6889da2fda",
"name" : "mandibular.meditMesh",
"size" : 3197161,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "16dfcbfb-e22a-4053-98ae-2a90f5ae779e",
"name" : "occlusionfirst.meditMesh",
"size" : 682241,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "f9b62c52-2635-40e7-90fc-31bbbb7fca3d",
"name" : "occlusionsecond.meditMesh",
"size" : 1036449,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "6dc4ac01-c090-4657-8738-5f914ce36f48",
"name" : "occlusion_1_raw.meditGroupInfo",
"size" : 1005,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "e8445f37-afe6-4ae1-9566-d00fe776f5ff",
"name" : "occlusion_2_raw.meditGroupInfo",
"size" : 1005,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "c69b4a82-fd39-4ad4-8456-64a8ee4b1a2b",
"name" : "mandibular.meditMesh",
"size" : 3197161,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "b3cac2af-0790-4084-953a-87909a498edb",
"name" : "maxillary.meditMesh",
"size" : 4650526,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "486df72c-31b7-41a8-948b-7fe7ebfbf7e0",
"name" : "occlusionfirst.meditMesh",
"size" : 1370100,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "1c4293b0-ad77-4302-b26f-84e99c74432b",
"name" : "occlusionsecond.meditMesh",
"size" : 916556,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "793bd5af-c9aa-4e87-94e8-7a0a87aeff75",
"name" : "occlusion_3_raw.meditGroupInfo",
"size" : 1015,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "c976cbbd-b134-4615-a00b-4d720dbdadc2",
"name" : "mandibular.meditMesh",
"size" : 3197161,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "d984fd87-a2dc-4c7a-a498-f27a36d373b5",
"name" : "maxillary.meditMesh",
"size" : 4650526,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "34eb5ba1-110f-4c16-ae63-c1057ef0155b",
"name" : "occlusionfirst.meditMesh",
"size" : 1616655,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "6a679fcd-e83d-4f1f-a3d4-9df8ad078784",
"name" : "occlusionsecond.meditMesh",
"size" : 858497,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
} ],
"formInformation" : {
"type" : "TEETH",
"items" : [ {
"category" : "CROWN",
"categoryDisplayName" : "Crown",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 45,
"jawType" : "",
"multiDieNo" : 0
}, {
"category" : "PONTIC",
"categoryDisplayName" : "Pontic",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 46,
"jawType" : "",
"multiDieNo" : 0
}, {
"category" : "CROWN",
"categoryDisplayName" : "Crown",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 47,
"jawType" : "",
"multiDieNo" : 0
} ]
},
"multiOcclusionGroup" : [ {
"groupId" : 1,
"groupName" : "CO Bite",
"files" : [ "746f4a30-6e6f-4e74-b305-6246b532f005", "7de375a3-4f59-4e59-bce5-0a6889da2fda", "16dfcbfb-e22a-4053-98ae-2a90f5ae779e", "f9b62c52-2635-40e7-90fc-31bbbb7fca3d", "6dc4ac01-c090-4657-8738-5f914ce36f48" ]
}, {
"groupId" : 2,
"groupName" : "CR Bite",
"files" : [ "e8445f37-afe6-4ae1-9566-d00fe776f5ff", "c69b4a82-fd39-4ad4-8456-64a8ee4b1a2b", "b3cac2af-0790-4084-953a-87909a498edb", "486df72c-31b7-41a8-948b-7fe7ebfbf7e0", "1c4293b0-ad77-4302-b26f-84e99c74432b" ]
}, {
"groupId" : 3,
"groupName" : "Lateral Bite",
"files" : [ "793bd5af-c9aa-4e87-94e8-7a0a87aeff75", "c976cbbd-b134-4615-a00b-4d720dbdadc2", "d984fd87-a2dc-4c7a-a498-f27a36d373b5", "34eb5ba1-110f-4c16-ae63-c1057ef0155b", "6a679fcd-e83d-4f1f-a3d4-9df8ad078784" ]
} ],
"bridges" : [ [ 15, 14, 13, 12 ], [ 26, 27 ], [ 36, 35, 34 ] ],
"patient" : {
"name" : "Seolah.Jeon",
"code" : ""
}
},
"orderNumber" : 3706720
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
Order Number |
|
|
last modified Date and Time about Order |
|
|
created Date and Time about Order |
|
|
Desired Delivery Date from Clinic |
|
|
The Status of Order Order Status |
|
|
Description of Order |
|
|
|
|
|
last modified Date and Time about Delivery |
|
|
scheduled Date and Time about Delivery |
|
|
name of Delivery Company |
|
|
tracking number by Delivery Company |
|
|
The Status of Delivery Order Delivery Status |
|
|
delivery message |
|
|
Buyer Group Information |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
The Type of Group Group Type |
|
|
Contact information of Group |
|
|
user name |
|
|
cell-phone number |
|
|
office number |
|
|
Address information of Group |
|
|
state of address |
|
|
city of address |
|
|
zip/postal of address |
|
|
additional information of address |
|
|
additional information of address |
|
|
homepage url of Group |
|
|
Seller Group Information |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
The Type of Group Group Type |
|
|
Contact information of Group |
|
|
user name |
|
|
cell-phone number |
|
|
office number |
|
|
Address information of Group |
|
|
state of address |
|
|
city of address |
|
|
zip/postal of address |
|
|
additional information of address |
|
|
additional information of address |
|
|
homepage url of Group |
|
|
Case Information |
|
|
The unique identifier of a Case |
|
|
name of Case |
|
|
created Date and Time about Case |
|
|
last modified Date and Time about Case |
|
|
last scanned Date and Time about Case |
|
|
The Status of Case Case Status |
|
|
Tags entered for the case. |
|
|
Patient Information |
|
|
The patient name of Case. |
|
|
The patient ID of Case. |
|
|
File list of Case |
|
|
The unique identifier of a File |
|
|
name of File |
|
|
size of File |
|
|
Type of File Case File Type |
|
|
created Date and Time about File |
|
|
last modified Date and Time about File |
|
|
Form Information |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FDI tooth number |
|
|
|
|
|
|
|
|
This information is about Occlusion groups created using the Multi Occlusion function in Medit Scan for Clinics. |
|
|
Occlusion Group ID |
|
|
name of Occlusion Group |
|
|
uuid list of case files associated with the occlusion group. #Ref : case.files[].uuid |
|
|
Information about connecting two or more prosthetics. |
Example Request
GET /v1/orders/3706720?schema=latest HTTP/1.1
x-meditlink-group-uuid: T05FTEFCXzE1NDgzODA1Nzk0MzY=
Authorization: Bearer 3cbfa98f-95d9-4d6a-adda-de9c7ceacb9f
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
Too many requests. |
|
Internal Server Error |
3.5.3 Cancel Order
Clinics can cancel the orders they have placed. When an order is canceled, depending on the notification settings of the lab account, an email will be sent to the email address the lab has registered with Medit Link. |
Resource Information
PUT /{ver}/orders/{orderNumber}/cancel
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Order Number |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateDesiredDelivery" : "2021-04-20T05:10:00Z",
"status" : "CANCELED",
"buyer" : {
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"type" : "CLINIC"
},
"seller" : {
"uuid" : "T05FTEFCXzE1NDgzODA1Nzk0MzY=",
"name" : "OneLab",
"type" : "LAB"
},
"schemaVersion" : "s1",
"orderNumber" : 3706720
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
Order Number |
|
|
last modified Date and Time about Order |
|
|
created Date and Time about Order |
|
|
Desired Delivery Date from Clinic |
|
|
The Status of Order Order Status |
|
|
Buyer Group Information |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
The Type of Group Group Type |
|
|
Seller Group Information |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
The Type of Group Group Type |
Example Request
PUT /v1/orders/3706720/cancel?schema=latest HTTP/1.1
x-meditlink-group-uuid: T05FTEFCXzE1NDgzODA1Nzk0MzY=
Authorization: Bearer 3cbfa98f-95d9-4d6a-adda-de9c7ceacb9f
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
schema=latest
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
The requested resource duplicated or already processed. |
|
Too many requests. |
|
Internal Server Error |
3.5.4 Accept Order
Labs can accept orders from clinics. When an order is canceled, depending on the notification settings of the clinic account, an email will be sent to the email address the clinic has registered with Medit Link. |
Resource Information
PUT /{ver}/orders/{orderNumber}/accept
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Order Number |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateDesiredDelivery" : "2021-04-20T05:10:00Z",
"status" : "ACCEPTED",
"buyer" : {
"dateUpdated" : "+52377-10-31T18:06:40Z",
"dateCreated" : "+51036-03-17T00:56:40Z",
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"description" : "",
"type" : "CLINIC",
"contact" : {
"userName" : "D.Davis",
"cellPhone" : "",
"officePhone" : "2193-9600"
},
"address" : {
"state" : "Seoul",
"city" : "Seongbuk-gu",
"postal" : "02855",
"detail1" : "Medit Company, 19 Inchon-ro 22-gil",
"detail2" : ""
},
"homePage" : ""
},
"seller" : {
"dateUpdated" : "+51447-12-26T02:16:40Z",
"dateCreated" : "+51036-03-24T12:23:20Z",
"uuid" : "T05FTEFCXzE1NDgzODA1Nzk0MzY=",
"name" : "OneLab",
"description" : "",
"type" : "LAB",
"contact" : {
"userName" : "Peter Parker",
"cellPhone" : "",
"officePhone" : "2193-9600"
},
"address" : {
"state" : "Seoul",
"city" : "Seongbuk-gu",
"postal" : "02855",
"detail1" : "Medit Company, 19 Inchon-ro 22-gil",
"detail2" : ""
},
"homePage" : ""
},
"description" : "",
"delivery" : [ ],
"schemaVersion" : "s1",
"case" : {
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateScanned" : "",
"uuid" : "bf335448-ebfc-4922-9b9e-d903b191ad7e",
"name" : "Seolah.Jeon's Case",
"status" : "SCAN",
"tags" : [ "Dental", "Case", "Medit" ],
"files" : [ {
"uuid" : "746f4a30-6e6f-4e74-b305-6246b532f005",
"name" : "maxillary.meditMesh",
"size" : 4650526,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "7de375a3-4f59-4e59-bce5-0a6889da2fda",
"name" : "mandibular.meditMesh",
"size" : 3197161,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "16dfcbfb-e22a-4053-98ae-2a90f5ae779e",
"name" : "occlusionfirst.meditMesh",
"size" : 682241,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "f9b62c52-2635-40e7-90fc-31bbbb7fca3d",
"name" : "occlusionsecond.meditMesh",
"size" : 1036449,
"dateUpdated" : "2021-04-13T05:14:28Z",
"dateCreated" : "2021-04-13T05:14:28Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "6dc4ac01-c090-4657-8738-5f914ce36f48",
"name" : "occlusion_1_raw.meditGroupInfo",
"size" : 1005,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "e8445f37-afe6-4ae1-9566-d00fe776f5ff",
"name" : "occlusion_2_raw.meditGroupInfo",
"size" : 1005,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "c69b4a82-fd39-4ad4-8456-64a8ee4b1a2b",
"name" : "mandibular.meditMesh",
"size" : 3197161,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "b3cac2af-0790-4084-953a-87909a498edb",
"name" : "maxillary.meditMesh",
"size" : 4650526,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "486df72c-31b7-41a8-948b-7fe7ebfbf7e0",
"name" : "occlusionfirst.meditMesh",
"size" : 1370100,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "1c4293b0-ad77-4302-b26f-84e99c74432b",
"name" : "occlusionsecond.meditMesh",
"size" : 916556,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "793bd5af-c9aa-4e87-94e8-7a0a87aeff75",
"name" : "occlusion_3_raw.meditGroupInfo",
"size" : 1015,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "c976cbbd-b134-4615-a00b-4d720dbdadc2",
"name" : "mandibular.meditMesh",
"size" : 3197161,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "d984fd87-a2dc-4c7a-a498-f27a36d373b5",
"name" : "maxillary.meditMesh",
"size" : 4650526,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "34eb5ba1-110f-4c16-ae63-c1057ef0155b",
"name" : "occlusionfirst.meditMesh",
"size" : 1616655,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
}, {
"uuid" : "6a679fcd-e83d-4f1f-a3d4-9df8ad078784",
"name" : "occlusionsecond.meditMesh",
"size" : 858497,
"dateUpdated" : "2021-04-13T05:14:29Z",
"dateCreated" : "2021-04-13T05:14:29Z",
"fileType" : "SCAN_DATA"
} ],
"formInformation" : {
"type" : "TEETH",
"items" : [ {
"category" : "CROWN",
"categoryDisplayName" : "Crown",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 45,
"jawType" : "",
"multiDieNo" : 0
}, {
"category" : "PONTIC",
"categoryDisplayName" : "Pontic",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 46,
"jawType" : "",
"multiDieNo" : 0
}, {
"category" : "CROWN",
"categoryDisplayName" : "Crown",
"method" : "ANATOMIC",
"methodDisplayName" : "Anatomic",
"material" : "ZIRCONIA",
"materialDisplayName" : "Zirconia",
"shade" : "NONE_SHADE",
"toothNo" : 47,
"jawType" : "",
"multiDieNo" : 0
} ]
},
"multiOcclusionGroup" : [ {
"groupId" : 1,
"groupName" : "CO Bite",
"files" : [ "746f4a30-6e6f-4e74-b305-6246b532f005", "7de375a3-4f59-4e59-bce5-0a6889da2fda", "16dfcbfb-e22a-4053-98ae-2a90f5ae779e", "f9b62c52-2635-40e7-90fc-31bbbb7fca3d", "6dc4ac01-c090-4657-8738-5f914ce36f48" ]
}, {
"groupId" : 2,
"groupName" : "CR Bite",
"files" : [ "e8445f37-afe6-4ae1-9566-d00fe776f5ff", "c69b4a82-fd39-4ad4-8456-64a8ee4b1a2b", "b3cac2af-0790-4084-953a-87909a498edb", "486df72c-31b7-41a8-948b-7fe7ebfbf7e0", "1c4293b0-ad77-4302-b26f-84e99c74432b" ]
}, {
"groupId" : 3,
"groupName" : "Lateral Bite",
"files" : [ "793bd5af-c9aa-4e87-94e8-7a0a87aeff75", "c976cbbd-b134-4615-a00b-4d720dbdadc2", "d984fd87-a2dc-4c7a-a498-f27a36d373b5", "34eb5ba1-110f-4c16-ae63-c1057ef0155b", "6a679fcd-e83d-4f1f-a3d4-9df8ad078784" ]
} ],
"bridges" : [ [ 15, 14, 13, 12 ], [ 26, 27 ], [ 36, 35, 34 ] ],
"patient" : {
"name" : "Seolah.Jeon",
"code" : ""
}
},
"orderNumber" : 3706720
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
Order Number |
|
|
last modified Date and Time about Order |
|
|
created Date and Time about Order |
|
|
Desired Delivery Date from Clinic |
|
|
The Status of Order Order Status |
|
|
Description of Order |
|
|
|
|
|
last modified Date and Time about Delivery |
|
|
scheduled Date and Time about Delivery |
|
|
name of Delivery Company |
|
|
tracking number by Delivery Company |
|
|
The Status of Delivery Order Delivery Status |
|
|
delivery message |
|
|
Buyer Group Information |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
The Type of Group Group Type |
|
|
Contact information of Group |
|
|
user name |
|
|
cell-phone number |
|
|
office number |
|
|
Address information of Group |
|
|
state of address |
|
|
city of address |
|
|
zip/postal of address |
|
|
additional information of address |
|
|
additional information of address |
|
|
homepage url of Group |
|
|
Seller Group Information |
|
|
last modified Date and Time about Group Data |
|
|
created Date and Time about Group Data |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
Description of Group |
|
|
The Type of Group Group Type |
|
|
Contact information of Group |
|
|
user name |
|
|
cell-phone number |
|
|
office number |
|
|
Address information of Group |
|
|
state of address |
|
|
city of address |
|
|
zip/postal of address |
|
|
additional information of address |
|
|
additional information of address |
|
|
homepage url of Group |
|
|
Case Information |
|
|
The unique identifier of a Case |
|
|
name of Case |
|
|
created Date and Time about Case |
|
|
last modified Date and Time about Case |
|
|
last scanned Date and Time about Case |
|
|
The Status of Case Case Status |
|
|
Tags entered for the case. |
|
|
Patient Information |
|
|
The patient name of Case. |
|
|
The patient ID of Case. |
|
|
File list of Case |
|
|
The unique identifier of a File |
|
|
name of File |
|
|
size of File |
|
|
Type of File Case File Type |
|
|
created Date and Time about File |
|
|
last modified Date and Time about File |
|
|
Form Information |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FDI tooth number |
|
|
|
|
|
|
|
|
This information is about Occlusion groups created using the Multi Occlusion function in Medit Scan for Clinics. |
|
|
Occlusion Group ID |
|
|
name of Occlusion Group |
|
|
uuid list of case files associated with the occlusion group. #Ref : case.files[].uuid |
|
|
Information about connecting two or more prosthetics. |
Example Request
PUT /v1/orders/3706720/accept?schema=latest HTTP/1.1
x-meditlink-group-uuid: T05FTEFCXzE1NDgzODA1Nzk0MzY=
Authorization: Bearer 3cbfa98f-95d9-4d6a-adda-de9c7ceacb9f
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
schema=latest
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
The requested resource duplicated or already processed. |
|
Too many requests. |
|
Internal Server Error |
3.5.5 Reject Order
Labs can reject orders from clinics. When an order is canceled, depending on the notification settings of the clinic account, an email will be sent to the email address the clinic has registered with Medit Link. |
Resource Information
PUT /{ver}/orders/{orderNumber}/reject
Authentication |
|
Required OAuth Scopes |
|
Data Format |
|
API Request Throttling |
|
Request Headers
Name | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Authentication OAuth2 Client ID. refer to 1.1.1 Field Guide |
|
|
|
The unique identifier of a Group |
Request URI Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
|
|
|
|
|
Order Number |
Request Query Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
|
|
response json schema version, default |
Response Body Structure
{
"dateUpdated" : "2023-07-05T10:14:24Z",
"dateCreated" : "2021-04-13T05:14:27Z",
"dateDesiredDelivery" : "2021-04-20T05:10:00Z",
"status" : "REJECTED",
"buyer" : {
"uuid" : "RC5EQVZJU18xNTQ4Mzc5OTMzODc0",
"name" : "D.Davis",
"type" : "CLINIC"
},
"seller" : {
"uuid" : "T05FTEFCXzE1NDgzODA1Nzk0MzY=",
"name" : "OneLab",
"type" : "LAB"
},
"schemaVersion" : "s1",
"orderNumber" : 3706720
}
Field | Type | Description |
---|---|---|
|
|
json structure schema version |
|
|
Order Number |
|
|
last modified Date and Time about Order |
|
|
created Date and Time about Order |
|
|
Desired Delivery Date from Clinic |
|
|
The Status of Order Order Status |
|
|
Buyer Group Information |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
The Type of Group Group Type |
|
|
Seller Group Information |
|
|
The unique identifier of a Group |
|
|
name of Group |
|
|
The Type of Group Group Type |
Example Request
PUT /v1/orders/3706720/reject?schema=latest HTTP/1.1
x-meditlink-group-uuid: T05FTEFCXzE1NDgzODA1Nzk0MzY=
Authorization: Bearer 3cbfa98f-95d9-4d6a-adda-de9c7ceacb9f
x-meditlink-client-id: rLHYWvCKTpONpuc7L1L8FUXowgQMh6HO
Content-Type: application/json
Host: stage-openapi-resources.meditlink.com
schema=latest
HTTP Status codes
Status code | Description |
---|---|
|
The request completed successfully |
|
The request was malformed. The response body will include an error providing further information. |
|
The request was Unauthorized |
|
it has been refused or access denied. The response payload body provides further details of the error. |
|
The requested resource does not exist |
|
The requested resource duplicated or already processed. |
|
Too many requests. |
|
Internal Server Error |
FAQ
Authentication
Does Medit provide the OAuth Client Credentials method?
We support other grant types of OAuth framework except for the OAuth Client Credentials method.
The OAuth Client Credentials method does not provide user information of a specific user, so you cannot use it where user authorization is mandatory.
Are the URLs for the Authorization Code Grant flow valid? They seem to have different subdomains.
There are two subdomains, one for Authorization URL and the other for URL to get a token subdomain. Please check if you are using the right one.
-
Authorization URL subdomain: openapi-auth.meditlink.com
-
URL to get a token subdomain: openapi-auth.meditlink.com
How do I get tokens?
Please refer to 1.2 Get Token in the API documentation.
Which scopes do we need?
Please refer to 1.1.2 Scopes in the API documentation.
How to handle token expiration and manage renewal?
-
access_token expiration period: 24H(1D)
-
refresh_token expiration period: 168H(7D)
The refresh_token expiration period can be extended up to 30 days based on request. -
When refresh_token is not renewed.
-
Re-authorization is mandatory when refresh_token expires.
A periodical re-authorization process is mandatory to verify that the user is a Medit Link user to secure the Medit Link data. -
The refresh_token expiration is not notified via the API response. To design the notification function, please refer to the re-authorization method below.
Calculate the expiration date from the first access_token response and use the value for re-authorization. -
You will get the 'Invalid refresh token' for the message and '400' for the status when it fails to refresh the token after requesting.
{ "timestamp": "2019-01-02T05:21:38.298Z", "status": 400, "error": "invalid_grant", "message": "Invalid refresh token: xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "path": "/oauth/token" }
-
Are the changes for the refresh token applied right away?
The previous tokens are not deleted even after extending the period or renewing tokens. They are only applied when newly issued.
How can I manage the Callback URL? (Range of availability)
You can register a maximum of 4 callback URLs per client ID/KEY.
We support private URLs (ex. localhost)
We support the HTTP protocol.
The response for Callback URL changes based on the code query parameter method.
eg) When set as https://test.com/auth : Respond as https://test.com/auth?code=XXXXX
eg) When set as https://test.com/auth?type=medit : Respond as https://test.com/auth?type=medit&code=XXXXX
Resources
In which case status can I download data files?
Cases synchronized to the cloud can be downloaded in all statuses except FORM. You can check the file types on the list and download the files you need among the synced ones.
Can I use the API to change the order status of a case?
Clinics can cancel orders using the API, while labs can accept or reject orders.
When I use the URL to get a 7-zip file and extract it, we get the MEDITGROUPINFO file. Is it an STL file?
The MEDITGROUPINFO file is created to manage the scan result files in Medit programs, but it won’t be required for users.
Is the "downloadFileName" unique for each file in the entire system?
Since we are using UUIDs as file names, we guarantee the uniqueness of downloaded file names.
Should we always re-request/re-check user information to fetch the Group UUID?
Since the Group UUID can be stored after the initial request, there is no need to check or request it again every time.
Can a user have multiple Group UUID?
We only provide only 1 Group UUID per user.
When using a UUID, how can I specify if it is a clinic or lab?
If you need to distinguish clinic IDs and lab IDs, use the two different UUIDs for clinics and labs as below:
-
Clinic: buyer.uuid
-
Lab: seller.uuid
Can I use other file compressors other than 7-zip?
The file can only be provided as a compressed file in a 7-zip format.
How can I get a group uuid and what do we need to input in header’s x-meditlink-group-uuid?
To get the group uuid, refer to the Response Body Structure of 3.1.1 Get user information about me and 3.1.2 Get user by user email in the API documentation.
Which file type do the .meditMesh extension files convert to?
You can convert meditMEsh files into STL, PYL, or OBJ file formats.
What is the file type of ATTACHED_DATA? Is it a picture file?
The ATTACHED_DATA is a file a user attaches to a case in Medit Link to deliver to the lab when ordering.
ATTACHED_DATA files can be 3D data, images, videos, etc., and there is no limitation for the file format.
I have no search results after searching for "name" What should I do?
It only search for equal words for name.
The name refers to the case name, and it must be URL-encoded as it is a query parameter.
Do you provide standard file type? (How do I know which files can be convertible?)
Please refer to the Request Query Parameters in 3.4.1 Get File in the API documentation.
-
File types: SCAN_DATA, ATTACHED_DATA
-
File extensions: meditMesh, meditImportedMesh, meditLibraryInfo, meditCTMesh / marginLine
What file extensions do you provide, and what are they used for?
File Type | Extensions | Usage |
---|---|---|
SCAN_DATA |
.meditGroupInfo |
Multi Occlusion information |
ATTACHED_DATA |
.meditDesign |
Medit Design project file |
.meditCrownFit |
Medit Crown Fit project file |
|
.meditOrthoSimulation |
Medit Ortho Simulation project file |
|
.meditSmileDesign |
Medit Smile Design project file |
|
.meditTemporaries |
Medit Temporaries project file |
|
.meditSplints |
Medit Splints project file |
|
.meditModelBuilder |
Medit Model Builder project file |
|
.png, .mkv, .mp4, .meditMesh |
Result files from Apps |
Support
I got an error. What should I do?
Please share the request (header, host, endpoint, parameter) and response data. The Medit Link team will guide you on how to handle the error.
Appendix A: Code Define
User Language
language | Description |
---|---|
|
Korean |
|
English |
|
French |
|
Chinese (People’s Republic of China) |
|
Chinese (Taiwan) |
|
Japanese |
|
Spanish (Spain) |
|
German |
|
Russian |
|
Greek |
|
Turkish |
|
Czech |
|
Italian |
|
Portuguese (Brazil) |
|
Romanian |
|
Polish |
|
Arabic (Egypt) |
Group Type
Type | Description |
---|---|
|
Clinic type of group in Medit Link |
|
Lab type of group in Medit Link |
Group File Type
Status | Description |
---|---|
|
Business license |
|
Cover image for Organization introduction |
|
Logo image for Organization introduction |
|
Images for Organization introduction |
Case Status
Status | Description |
---|---|
|
Only form information is saved |
|
Case Completed to SCAN |
|
Only raw files are saved after scan |
|
Case completed to CAD |
|
Case completed to CAM |
|
Case completed to Mill |
|
Complete the entire process of the case |
Case File Type
Status | Description |
---|---|
|
The scan file of Case |
|
The cad file of Case |
|
The cam file of Case |
|
The milling file of Case |
|
The attached file of Case |
|
The scan raw file of Case |
Case File Convert Type
Type | Description |
---|---|
|
a geometry definition file format. |
|
a file format native to the stereolithography CAD software created by 3D Systems. |
|
a computer file format known as the Polygon File Format, or the Stanford Triangle Format. |
Case Form Information Type
Type | Description |
---|---|
|
Form information entered as individual teeth |
|
Form information entered as arch type (=jaw type) |
|
Form information for using Flexible Multi-Die |
|
Form information for using Multi-Die |
Dental Product Category
category | displayName | Description |
---|---|---|
ANTI-SNORING_DEVICE |
Anti-Snoring Appliance |
|
ARTIFICIAL_TOOTH |
Artificial Tooth |
|
BITE_SPLINT |
Bite Splint |
|
BITE_SPLINT_V2 |
Bite Splint |
|
BLEACHING_TRAY |
Bleaching Tray |
|
CLEAR_ALIGNER |
Clear Aligner |
|
COPING |
Coping |
|
CROWN |
Crown |
|
CUSTOM_ABUTMENT |
Custom Abutment |
|
CUSTOM_ABUTMENT___COPING |
Custom Abutment + Coping |
|
CUSTOM_ABUTMENT___IMPLANT_CROWN |
Custom Abutment + Implant Crown |
|
DENTURE |
Denture |
|
DENTURE_COPING |
Denture Coping |
|
DIAGNOSIS_MODEL |
Diagnostic Model |
|
DIAGNOSTIC_WAX_UP |
Diagnostic Wax-Up |
|
FLEXIBLE_MULTIDIE_COPING |
Coping |
|
FLEXIBLE_MULTIDIE_INLAY |
Inlay |
|
FLEXIBLE_MULTIDIE_WAXUP |
Wax-Up |
|
IMPLANT_CROWN |
Implant Crown |
|
INDIRECT_BONDING_TRAY |
IDB (Indirect Bonding Tray) |
|
INDIVIDUAL_TRAY |
Custom Tray |
|
INLAY |
Inlay |
|
MULTIDIE_COPING |
Coping |
|
MULTIDIE_INLAY |
Inlay |
|
MULTIDIE_WAXUP |
Wax-Up |
|
NIGHT_GUARD |
Night Guard |
|
OFFSET_SUBSTRUCTURE |
Offset substructure |
|
ONLAY |
Onlay |
|
ORTHODONTIC |
Orthodontic Appliance |
|
ORTHODONTIC_V2 |
Orthodontic Appliance |
|
PARTIAL_DENTURE |
Partial Denture |
|
PARTIAL_DENTURE_PER_TEETH |
Partial Denture |
|
PONTIC |
Pontic |
|
POST_AND_CORE |
Post & Core |
|
POST_AND_CORE___COPING |
Post & Core + Coping |
|
POST_AND_CORE___CROWN |
Post & Core + Crown |
|
PRIMARY_UNIT |
Primary Unit |
|
REPLICA_DENTURE |
Denture Replica |
|
SPORTS_MOUTH_GUARD |
Sports Mouth Guard |
|
STUDY_MODEL |
Study Model |
|
SURGICAL_GUIDE |
Surgical Guide |
|
TOOTH_POSITIONER |
Tooth Positioner |
|
VENEER |
Veneer |
|
WAXUP |
Wax-Up |
Dental Product Method
method | displayName | Description |
---|---|---|
ANATOMIC |
Anatomic |
|
ATTACHMENT |
Attachment |
|
BAR_PILLAR |
Bar Pillar |
|
BAR_SEGMENT |
Bar Segment |
|
CEMENTATION_TYPE |
Cementation Type |
|
CEMENTATION_TYPE_LAYERED |
Cementation Type-Layered |
|
CEMENTATION_TYPE_PFG |
Cementation Type-PFG |
|
CEMENTATION_TYPE_PFM |
Cementation Type-PFM |
|
CEMENTATION_TYPE_PFZ |
Cementation Type-PFZ |
|
COLLARLESS |
Collarless |
|
DIGITAL_STUDY_MODEL |
Digital Study Model |
|
E.MAX_COPING |
e.max |
|
FRAMEWORK |
Framework |
|
FULL_DENTURE |
Full Denture |
|
IMPLANT_SUPPORTED_DENTURE |
Implant Supported Denture |
|
LAMINATE |
Laminate |
|
LAYERED |
Layered |
|
LIGHT_CURING |
Light Curing |
|
LISI_COPING |
LiSi |
|
OFFSET |
Offset |
|
PARTIAL_DENTURE_COPING |
Partial Denture Coping |
|
PFG |
PFG |
|
PFM |
PFM |
|
PFZ |
PFZ |
|
PONTIC |
Pontic |
|
PREFORM |
Preform |
|
PRESSED |
Pressed |
|
REDUCED |
Cut Back |
|
REPLICA_DENTURE |
Replica Denture |
|
SCREW_TYPE |
Screw Type |
|
SCREW_TYPE_LAYERED |
Screw Type-Layered |
|
SCREW_TYPE_PFG |
Screw Type-PFG |
|
SCREW_TYPE_PFM |
Screw Type-PFM |
|
SCREW_TYPE_PFZ |
Screw Type-PFZ |
|
SCRP_LAYERED |
SCRP-Layered |
|
SCRP_PFG |
SCRP-PFG |
|
SCRP_PFM |
SCRP-PFM |
|
SCRP_PFZ |
SCRP-PFZ |
|
SC_RP |
SCRP |
|
SELF_CURING |
Self Curing |
|
SET-UP_MODEL |
Set-Up Model |
|
TELESCOPIC_CROWN |
Telescopic Crown |
|
TELESCOPIC_INNER_CROWN_PFG |
Primary Telescopic Crown - PFG |
|
TELESCOPIC_INNER_CROWN_PFM |
Primary Telescopic Crown - PFM |
|
TELESCOPIC_OUTER_CROWN_PFG |
Secondary Telescopic Crown - PFG |
|
TELESCOPIC_OUTER_CROWN_PFM |
Secondary Telescopic Crown - PFM |
|
TEMPORARY_CROWN |
Temporary |
|
TEMPORARY_DENTURE |
Temporary |
|
TEMPORARY_PARTIAL_DENTURE |
Temporary |
|
TEMPORARY_PONTIC |
Temporary |
|
WAX-RIM |
Wax-Rim |
Dental Product Material
material | displayName | Description |
---|---|---|
3D_PRINT |
3D Print |
|
COMPOSITE_REGIN |
Composite Resin |
|
CR-CO |
Cr-Co |
|
E.MAX |
e.max |
|
GLASS_CERAMIC |
Glass Ceramic |
|
GOLD |
Gold |
|
HYBRID_CERAMIC |
Hybrid Ceramic |
|
LISI |
LiSi |
|
METAL |
Metal |
|
METAL___3D_PRINT |
Metal + 3D Print |
|
METAL___COMPOSITE_REGIN |
Metal + Composite resin |
|
METAL___E.MAX |
Metal + e.max |
|
METAL___GLASS_CERAMIC |
Metal + Glass ceramic |
|
METAL___GOLD |
Metal + Gold |
|
METAL___HYBRID_CERAMIC |
Metal + Hybrid ceramic |
|
METAL___LISI |
Metal + LiSi |
|
METAL___METAL |
Metal + Metal |
|
METAL___NOT_SELECTED |
Metal + Not Selected |
|
METAL___PMMA |
Metal + PMMA |
|
METAL___PRESS_CERAMIC |
Metal + Press ceramic |
|
METAL___STAINLESS_STEEL |
Metal + Stainless steel |
|
METAL___TITANIUM |
Metal + Titanium |
|
METAL___WAX |
Metal + Wax |
|
METAL___ZIRCONIA |
Metal + Zirconia |
|
METAL___ZIRCONIA_MULTI_LAYER |
Metal + Multi-Layered Zirconia |
|
NI-CR |
Ni-Cr |
|
NOT_SELECTED |
Not Selected |
|
PEEK |
PEEK |
|
PMMA |
PMMA |
|
POLY_GLASS |
Poly Glass |
|
PORCELAIN |
Porcelain |
|
PRESS_CERAMIC |
Press Ceramic |
|
RESIN |
Resin |
|
RESIN___3D_PRINT |
Resin + 3D Print |
|
RESIN___COMPOSITE_REGIN |
Resin + Composite resin |
|
RESIN___E.MAX |
Resin + e.max |
|
RESIN___GLASS_CERAMIC |
Resin + Glass ceramic |
|
RESIN___GOLD |
Resin + Gold |
|
RESIN___HYBRID_CERAMIC |
Resin + Hybrid ceramic |
|
RESIN___LISI |
Resin + LiSi |
|
RESIN___METAL |
Resin + Metal |
|
RESIN___NOT_SELECTED |
Resin + Not Selected |
|
RESIN___PMMA |
Resin + PMMA |
|
RESIN___PRESS_CERAMIC |
Resin + Press ceramic |
|
RESIN___STAINLESS_STEEL |
Resin + Stainless steel |
|
RESIN___TITANIUM |
Resin + Titanium |
|
RESIN___WAX |
Resin + Wax |
|
RESIN___ZIRCONIA |
Resin + Zirconia |
|
RESIN___ZIRCONIA_MULTI_LAYER |
Resin + Multi-Layered Zirconia |
|
STAINLESS_STEEL |
Stainless Steel |
|
TITANIUM |
Titanium |
|
TITANIUM___3D_PRINT |
Titanium + 3D Print |
|
TITANIUM___E.MAX |
Titanium + e.max |
|
TITANIUM___GOLD |
Titanium + Gold |
|
TITANIUM___LISI |
Titanium + LiSi |
|
TITANIUM___METAL |
Titanium + Metal |
|
TITANIUM___NOT_SELECTED |
Titanium + Not Selected |
|
TITANIUM___PMMA |
Titanium + PMMA |
|
TITANIUM___WAX |
Titanium + Wax |
|
TITANIUM___ZIRCONIA |
Titanium + Zirconia |
|
TITANIUM___ZIRCONIA_MULTI_LAYER |
Titanium + Multi-Layered Zirconia |
|
UNDEFINED |
Undefined |
|
WAX |
WAX |
|
ZIRCONIA |
Zirconia |
|
ZIRCONIA_MULTI_LAYER |
Multi-Layered Zirconia |
|
ZIRCONIA_MULTI_LAYER___3D_PRINT |
Multi-Layered Zirconia + 3D Print |
|
ZIRCONIA_MULTI_LAYER___COMPOSITE_REGIN |
Multi-Layered Zirconia + Composite resin |
|
ZIRCONIA_MULTI_LAYER___E.MAX |
Multi-Layered Zirconia + e.max |
|
ZIRCONIA_MULTI_LAYER___GLASS_CERAMIC |
Multi-Layered Zirconia + Glass ceramic |
|
ZIRCONIA_MULTI_LAYER___GOLD |
Multi-Layered Zirconia + Gold |
|
ZIRCONIA_MULTI_LAYER___HYBRID_CERAMIC |
Multi-Layered Zirconia + Hybrid ceramic |
|
ZIRCONIA_MULTI_LAYER___LISI |
Multi-Layered Zirconia + LiSi |
|
ZIRCONIA_MULTI_LAYER___METAL |
Multi-Layered Zirconia + Metal |
|
ZIRCONIA_MULTI_LAYER___NOT_SELECTED |
Multi-Layered Zirconia + Not Selected |
|
ZIRCONIA_MULTI_LAYER___PMMA |
Multi-Layered Zirconia + PMMA |
|
ZIRCONIA_MULTI_LAYER___PRESS_CERAMIC |
Multi-Layered Zirconia + Press ceramic |
|
ZIRCONIA_MULTI_LAYER___STAINLESS_STEEL |
Multi-Layered Zirconia + Stainless steel |
|
ZIRCONIA_MULTI_LAYER___TITANIUM |
Multi-Layered Zirconia + Titanium |
|
ZIRCONIA_MULTI_LAYER___WAX |
Multi-Layered Zirconia + Wax |
|
ZIRCONIA_MULTI_LAYER___ZIRCONIA |
Multi-Layered Zirconia + Zirconia |
|
ZIRCONIA_MULTI_LAYER___ZIRCONIA_MULTI_LAYER |
Multi-Layered Zirconia + Multi-Layered Zirconia |
|
ZIRCONIA___3D_PRINT |
Zirconia + 3D Print |
|
ZIRCONIA___COMPOSITE_REGIN |
Zirconia + Composite resin |
|
ZIRCONIA___E.MAX |
Zirconia + e.max |
|
ZIRCONIA___GLASS_CERAMIC |
Zirconia + Glass ceramic |
|
ZIRCONIA___GOLD |
Zirconia + Gold |
|
ZIRCONIA___HYBRID_CERAMIC |
Zirconia + Hybrid ceramic |
|
ZIRCONIA___LISI |
Zirconia + LiSi |
|
ZIRCONIA___METAL |
Zirconia + Gold |
|
ZIRCONIA___NOT_SELECTED |
Zirconia + Not Selected |
|
ZIRCONIA___PMMA |
Zirconia + PMMA |
|
ZIRCONIA___PRESS_CERAMIC |
Zirconia + Press ceramic |
|
ZIRCONIA___STAINLESS_STEEL |
Zirconia + Stainless steel |
|
ZIRCONIA___TITANIUM |
Zirconia + Titanium |
|
ZIRCONIA___WAX |
Zirconia + Wax |
|
ZIRCONIA___ZIRCONIA |
Zirconia + Zirconia |
|
ZIRCONIA___ZIRCONIA_MULTI_LAYER |
Zirconia + Multi-Layered Zirconia |
Jaw Type
Status | Description |
---|---|
|
Maxilla |
|
Mandible |
Order Status
Status | Description |
---|---|
|
The lab has not yet accepted the case ordered by the clinic. |
|
Canceled by the clinic before the lab accepted the order. |
|
The lab has rejected a case ordered from the clinic. |
|
The case ordered by the clinic was accepted by the lab. |
|
The finished prosthesis from the lab is being delivered to the clinic. |
|
Cases paid through Medit Link have been refunded. |
|
The prosthesis worked in the lab has been delivered and the ordering process has been completed. |
Order Delivery Status
Status | Description |
---|---|
|
Lab has shared the expected delivery date to the clinic |
|
Lab has completed the work and is preparing for delivery |
|
Shipment has been started |
|
Shipment has arrived |
|
The shipment from the lab was received at the clinic |
Appendix B: How to attach a file
The process of attaching a file
This session describes the process of attaching files to a case.
Please understand the process below and use the relevant APIs.
Step #1. Get File Hash
ref. Generate a file hash value
Get the file hash value for the upload target file for integrity check.
Step #2. Register File Info
ref. 3.4.2 Register File information
File information must be registered before uploading a file.
After registration is complete, upload the file to the cloud using the URL in the uploadUrl of the response data.
Step #3. Upload to Cloud
ref. 3.4.3 Upload File
Upload the file to the cloud.
After uploading the file to the cloud, the service conducts post-processing to convert the file into the file formats that work for Medit Link.
After the post-processing process completes, the result of the file upload is sent to the callbackUrl that you requested while registering the file information.
|
Generate a file hash value
When uploading files using the pre-signed upload URL method provided by Amazon S3 (Simple Storage Service), you need to verify the integrity of target files.
For the integrity check, the file’s hash value must be set in Content-MD5 of the header when uploading the file. It is also required to set the hashValue in the request data of the APIs to register or modify file information.
You can obtain the file’s hash value by applying the base64-encoding to the MD5 hash value. Refer to the link below for more information.
ref. https://aws.amazon.com/premiumsupport/knowledge-center/data-integrity-s3/