Last active
March 10, 2020 00:30
-
-
Save Furkanzmc/ed29e9044816df9701d4ef5fb2969f01 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
swagger: '2.0' | |
produces: | |
- application/json | |
securityDefinitions: | |
apiKey: | |
in: header | |
type: apiKey | |
description: Make sure to include `JWT` prefix when typing your API key in the dialog | |
name: Authorization | |
host: api.cuz.ca | |
consumes: | |
- application/json | |
info: | |
version: 0.4.5 | |
title: Cuz API | |
description: | | |
This is an excerpt from the internal API documentation at Cuz. This is | |
intended for evaluation purposes and does not reflect the entire API. | |
paths: | |
/jobs/: | |
post: | |
responses: | |
'201': | |
description: Successful response | |
schema: | |
type: object | |
properties: | |
job: | |
$ref: '#/definitions/Job' | |
'400': | |
description: Parameter error | |
schema: | |
$ref: '#/definitions/Error' | |
'401': | |
description: User is not authenticated | |
schema: | |
$ref: '#/definitions/Error' | |
description: | | |
Here's how job adding works. You need to create an initial job before | |
you can assign a translator to it. So, when a job is created it's | |
initial status will be `draft`, meaning that no translator has been | |
appointed to it yet. At this stage, you can update the job and see | |
the pricing for it. After a translator request is sent, the job's | |
status will change to `offer`. | |
## On-site Jobs | |
- address | |
- start_date | |
- end_date | |
## Document Jobs | |
- end_date | |
- documents | |
If you are creating a doc job, the `start_date` will be the date the | |
translator accepts the job. Also, the ID's in the `documents` field | |
must point to job documents that were not previously assigned a job. | |
If such is the case, the operation will be be continued. | |
## Interpretation | |
The `over_the_phone` parameter can be sent as True to allow for over | |
the phone interpretation. In that case, the `note` parameter must | |
contain the contact and other necessary details. | |
## Video Interpretation | |
If the customer wants a video interpretation, then the location is | |
not required but a note to interpeter will be required. Using this | |
note, they can add the medium for video interpretation or use the | |
interpreter's social accounts to contact them. | |
When a video interpretation request is sent, the start and end date | |
will be in UTC as usual and that date should be converted to local | |
time. | |
- note | |
- start_date | |
- end_date | |
# Note | |
- If the customer has not yet set an address in the profile, creating | |
a job won't work. | |
parameters: | |
- in: body | |
name: body | |
schema: | |
$ref: '#/definitions/Job' | |
tags: | |
- Job | |
summary: Create a Job | |
/login/: | |
post: | |
responses: | |
'200': | |
description: Successful login. | |
'400': | |
description: Wrong credentials. | |
schema: | |
$ref: '#/definitions/Error' | |
description: | | |
Users log in using email and password to Cuz The password may be a | |
temporary password that was requested using the | |
`/users/temporary-password/` endpoint or the user's actual password. | |
If the user has an active temporary password, that password is tried | |
first. If that doesn't succeed and the user's account has a password, | |
then the password is matched against that one. If that doesn't work | |
either, the authentication will fail. | |
**This endpoint is only used for logging in.** | |
To sign a user up, use the `/sign-up/` endpoint. | |
# Important Note | |
Translators are not registered here. | |
parameters: | |
- required: true | |
in: body | |
name: body | |
schema: | |
type: object | |
properties: | |
platform: | |
format: platform | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
- 4 | |
- 5 | |
type: integer | |
example: 1 | |
description: | | |
See the top of the documentation for options. This will change | |
the format of the login URL. | |
- `0`: Not specified | |
- `1`: iOS | |
- `2`: Android | |
- `3`: Web | |
- `4`: Windows | |
- `5`: macOS | |
password: | |
required: true | |
type: string | |
description: Account password or temporary password. | |
example: super_safe_password | |
email: | |
format: email | |
required: true | |
type: string | |
example: customer@email.com | |
description: Email for the user | |
tags: | |
- Authentication | |
summary: Login | |
schemes: | |
- https | |
- http | |
definitions: | |
PayoutList: | |
required: | |
- translator | |
- job | |
type: object | |
description: | | |
This will only have the job summary. | |
properties: | |
status: | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
type: integer | |
description: | | |
This status change will always be automatic and will not accept input | |
from the outside. | |
- `0` (n/a): This means that the project is still in progress. | |
- `1` (invalid): This is the status for an invalid Payout. This means | |
that the translator did not finish the project. | |
- `2` (processing): This is the status for an processing payout. This | |
means that the money is currently being processed. | |
- `3` (paid): This is the status for a paid payout. This means that | |
the translator received the payout. | |
example: 0 | |
earned_amount: | |
format: float | |
type: integer | |
example: 23.32 | |
description: | | |
This is the amount of money that the translator earns from the | |
project after the commision, | |
paid_amount: | |
format: float | |
type: integer | |
example: 23.32 | |
description: | | |
This is the amount of money paid to the translator. This may differ | |
from the `earned_amount` in case of a penalty to the translator or to | |
the customer. | |
payout_date: | |
format: dateTime | |
type: string | |
example: '2018-01-06T12:22' | |
description: | | |
This is the date that translator received the money to their | |
accounts. This is updated automatically when the status is changed. | |
creation_date: | |
format: dateTime | |
type: string | |
example: '2018-01-01T12:22' | |
description: | | |
This is the date that this object was created at. This is added | |
automatically. | |
translator: | |
type: integer | |
description: | | |
The ID of the translator. | |
example: 1 | |
currency: | |
type: string | |
description: | | |
This is the currency as | |
[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) | |
standard. | |
example: cad | |
job: | |
$ref: '#/definitions/PayoutListJob' | |
hst_amount: | |
format: float | |
type: integer | |
example: 2.34 | |
description: | | |
This is the amount of money for HST tax calculated from earned | |
amount. The earned_amount does not contain this amount. | |
bank_account: | |
$ref: '#/definitions/BankAccount' | |
JobPaymentError: | |
type: object | |
properties: | |
purchase: | |
$ref: '#/definitions/Purchase' | |
end_date: | |
type: string | |
example: '2017-01-03T15:55' | |
format: dateTime | |
nature: | |
$ref: '#/definitions/Nature' | |
page_count: | |
type: integer | |
description: | | |
If `job_type` is 'doc', this will have the page count. Otherwise, | |
it will be 0. | |
example: 2 | |
job_type: | |
required: true | |
description: | | |
- `0`: Document Job | |
- `1`: On-Site Job | |
- `2`: Video Interpretation Job | |
format: int32 | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
type: integer | |
example: 1 | |
start_date: | |
type: string | |
example: '2017-01-02T15:55' | |
format: dateTime | |
word_count: | |
type: integer | |
description: | | |
If `job_type` is 'doc', this will have the word count. Otherwise, it | |
will be 0. | |
example: 1250 | |
Certificate: | |
type: object | |
description: A certificate object | |
properties: | |
cloud_name: | |
format: 'char[128]' | |
type: string | |
example: 1.plan_to_destroy_the_world.jpeg | |
description: The file's name on the cloud. | |
name: | |
format: 'char[256]' | |
type: string | |
example: How to Translate | |
description: Name will always be saved in lower case. | |
content_type: | |
format: 'char[127]' | |
type: string | |
example: image/jpeg | |
description: The file's content type. | |
year: | |
format: int32 | |
type: integer | |
example: 1988 | |
description: The year the certificate was earned. | |
file_name: | |
format: 'char[128]' | |
type: string | |
example: plan_to_destroy_the_world.jpeg | |
description: The file's original name. | |
file_url: | |
format: url | |
type: string | |
example: 'http://www.file-url.com/asd.png' | |
description: Name of the certificate. | |
file_checksum: | |
format: 'char[128]' | |
type: string | |
example: 12345qwertwqwe12345qwertwqwe12345qwertwqwe12345qwertwqwe12345qwertwqwe | |
description: File checksum. | |
Notification: | |
type: object | |
properties: | |
is_read: | |
type: boolean | |
description: | | |
This can be updated to true when the user reads the notification. Default value is false. | |
example: false | |
sent_date: | |
format: dateTime | |
type: string | |
description: The date when the notification was sent. | |
example: '2017-01-01T13:45' | |
user: | |
type: integer | |
description: The user ID. | |
example: 1 | |
read_date: | |
format: dateTime | |
type: string | |
description: The date when the user read the notification. | |
example: '2017-01-01T13:45' | |
notification_type: | |
type: integer | |
description: This is app specific. The default value is -1 If it is not set. | |
example: 2 | |
data: | |
type: string | |
example: '{}' | |
description: A JSON object that represents the payload of the notification. | |
ProvinceTranslation: | |
type: object | |
description: | | |
The same province with different names can be added. | |
properties: | |
name: | |
type: string | |
example: United States | |
format: 'char[64]' | |
language: | |
$ref: '#/definitions/Language' | |
DelayRequestSummary: | |
type: object | |
properties: | |
response_date: | |
type: string | |
example: '2017-02-09T23:43' | |
format: dateTime | |
is_accepted: | |
type: boolean | |
example: true | |
request_date: | |
type: string | |
example: '2017-02-09T23:43' | |
format: dateTime | |
end_date: | |
type: string | |
example: '2017-02-19T23:43' | |
format: dateTime | |
JobDeclineReason: | |
type: object | |
description: The reason the job was denied by the translator. | |
properties: | |
reason: | |
format: 'char[512]' | |
type: string | |
example: Busy with other projects. | |
description: | | |
This is the reason the translator didn't accept the job. | |
The default language is English. | |
UserProfileUpdate: | |
type: object | |
description: This is used when updating a user | |
allOf: | |
- $ref: '#/definitions/UserUpdate' | |
- properties: | |
user_type: | |
type: integer | |
description: | | |
The user type. | |
- `0` (company): User belongs to a company. | |
- `1` (law firm): User belongs to a law firm. | |
- `2` (individual): User is an individual. | |
- `3` (translator): User is a translator. | |
example: 2 | |
address: | |
type: string | |
description: Address | |
example: | |
country: Canada | |
city: Toronto | |
Penalty: | |
required: | |
- job | |
- target | |
- incurred_percentage | |
- user_profile | |
type: object | |
description: | | |
This object represents a Penalty incurred to a customer or a translator. A job can only have one associated | |
penalty. In order to create a penalty for a job, that job's status must be failed. | |
properties: | |
status: | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
type: integer | |
description: | | |
The status of the penalty. | |
- `0` (default): This means that the penalty has not been yet applied. | |
- `1` (incurred): This means that the penalty was fully applied to the target. | |
- `2` (cancelled): This means that the penalty was cancelled and will not be applied to the target. | |
- `3` (partial): This means that the penalty was partially subjected and there is still money that needs to | |
be taken from the target. | |
example: 0 | |
deactivation_date: | |
format: dateTime | |
type: string | |
example: '2018-01-02T12:33' | |
description: | | |
This is automatically added by the API. This is the date that the penalty was fully incurred. | |
target: | |
enum: | |
- 0 | |
- 1 | |
type: integer | |
description: | | |
This is the target user for the penalty. | |
- `0` (translator): This means that the job was cancelled or failed because of the translator and s/he will | |
be subject to the penalty. | |
- `1` (customer): This means that the job was canceled or failed because of the customer and s/he will be | |
subject to the penalty. | |
example: 0 | |
remaining_amount: | |
format: float | |
type: integer | |
example: 10 | |
description: | | |
This is the amount of penalty still remaining. | |
is_active: | |
format: float | |
type: integer | |
example: true | |
description: | | |
This will be true as long as the remaining_amount is greater than 0. | |
creation_date: | |
format: dateTime | |
type: string | |
example: '2018-01-01T12:33' | |
description: | | |
This is automatically added by the API. This is the date that the penalty is created. | |
system_manager_note: | |
format: 'char[1024]' | |
type: string | |
example: Something something danger zone. | |
description: | | |
This is the note that the system manager left for this penalty. | |
job: | |
$ref: '#/definitions/JobSummary' | |
user: | |
$ref: '#/definitions/UserSummary' | |
incurred_percentage: | |
format: float | |
type: integer | |
example: 0.13 | |
description: | | |
This is the amount of percentage that will be cut from the project price for this penalty. | |
incurred_amount: | |
format: float | |
type: integer | |
example: 23 | |
description: | | |
This is the amount of money for the penalty. It will be updated when the penalty is created and it cannot be | |
changed after. The job price will be multiplied by incurred_percentage to set this price. | |
system_manager: | |
type: integer | |
description: | | |
This is the system manager who created the penalty. This can be null If the creation was automated. | |
example: 1 | |
JobDeclineReasonTranslation: | |
type: object | |
description: The reason the job was denied by the translator. | |
properties: | |
reason: | |
format: 'char[512]' | |
type: string | |
example: Baska islerle mesgulum. | |
description: This is the reason the translator didn't accept the job. | |
language_code: | |
format: 'char[512]' | |
type: string | |
example: Baska islerle mesgulum. | |
description: This is the reason the translator didn't accept the job. | |
CountryTranslation: | |
type: object | |
description: | | |
The same country with different names can be added. But the country with the same country code will have the same | |
cities. City names are not translatable. | |
properties: | |
name: | |
type: string | |
example: United States | |
format: 'char[64]' | |
language: | |
$ref: '#/definitions/Language' | |
NatureDetailView: | |
type: object | |
properties: | |
price: | |
type: string | |
description: 'If nature price is constant, this field nature price' | |
translations: | |
items: | |
$ref: '#/definitions/NatureTranslation' | |
type: array | |
DeviceUpdate: | |
type: object | |
properties: | |
platform: | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
- 4 | |
- 5 | |
type: integer | |
description: | | |
- `0`: Not specified | |
- `1`: iOS | |
- `2`: Android | |
- `3`: Web | |
- `4`: Windows | |
- `5`: macOS | |
example: 1 | |
pns_token: | |
type: string | |
example: qewrtyuhjgfasdsdfgbvc123 | |
format: 'char[512]' | |
device_hash: | |
type: string | |
example: 3416asdslfu3094rwsedf54_totally_not_an_id | |
format: 'char[256]' | |
device_name: | |
type: string | |
example: Google Pixel | |
format: 'char[256]' | |
UserProfile: | |
type: object | |
description: | | |
This is the main model used for customers and translators. When a customer | |
wants to become a translator, the created translator is attached to | |
`UserProfile`. | |
allOf: | |
- $ref: '#/definitions/User' | |
- properties: | |
referrals: | |
items: | |
$ref: '#/definitions/ReferralSummary' | |
type: array | |
completed_video_live_jobs_count: | |
type: integer | |
description: | | |
The number of doc jobs this customer completed. This is increased | |
whenever a job is completed. | |
example: 2 | |
user_type: | |
type: integer | |
description: | | |
The user type. | |
- `0` (company): User belongs to a company. | |
- `1` (law firm): User belongs to a law firm. | |
- `2` (individual): User is an individual. | |
- `3` (translator): User is a translator. | |
example: 2 | |
translator: | |
type: integer | |
description: | | |
If the user is a translator this field will have the translator | |
ID. If the user is not a translator, this field will be empty. | |
example: 2 | |
is_payment_method_required: | |
type: bool | |
description: | | |
This field indicates whether a payment method is required from | |
this user to create a project. This will be false If the user | |
has an active and approved billing method. When this field is true | |
the user should not be asked for a payment method. | |
example: false | |
lao_certification: | |
$ref: '#/definitions/LAOCertification' | |
address: | |
$ref: '#/definitions/Address' | |
completed_doc_jobs_count: | |
type: integer | |
description: | | |
The number of doc jobs this customer completed. This is increased | |
whenever a job is completed. | |
example: 2 | |
completed_live_jobs_count: | |
type: integer | |
description: | | |
The number of live jobs this customer completed. This is increased | |
whenever a job is completed. | |
example: 23 | |
DocumentExportSub: | |
type: object | |
properties: | |
file_url: | |
format: url | |
type: string | |
example: 'http://www.link.to/file' | |
description: Translated file url. | |
translator_full_name: | |
format: 'char[128]' | |
type: string | |
example: Cortlak Mahmut | |
description: Full name of the translator. | |
id: | |
format: in64 | |
type: integer | |
example: 1 | |
description: Translated Document ID | |
name: | |
format: 'char[64]' | |
type: string | |
example: cortlak_mahmut_customer_doc.pdf | |
description: File name on local filesystem. | |
TranslatorRequest: | |
type: object | |
properties: | |
translator: | |
$ref: '#/definitions/Translator' | |
response_date: | |
type: string | |
description: Response date for the translator request. | |
request_date: | |
type: string | |
description: Request date for the translator request. | |
admin_note: | |
type: string | |
admin: | |
$ref: '#/definitions/Admin' | |
is_accepted: | |
type: boolean | |
description: Accept/Decline for the translator request. | |
is_active: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator request is accepted by | |
the administrators | |
Referral: | |
type: object | |
description: | | |
An account can only have one referral code. Referral code must be unique, | |
regardless of the referral type. If the referral is internal, then the | |
owner will be null. | |
When a new referral is being created, it takes all the default limits. | |
A promotion can be attached to a referral so that whenever a customer | |
uses a referral code, they get the attached promotion. There can only | |
be one promotion per referral. If you want to have different promotion, | |
create a new referral object for the owner. | |
properties: | |
is_default: | |
type: bool | |
description: | | |
Indicates whether this is the default referral that the customer owns. | |
example: true | |
code: | |
format: 'char[32]' | |
type: string | |
example: xfd23gh2 | |
description: The unique referral code. | |
limits: | |
items: | |
$ref: '#/definitions/ReferralLimit' | |
type: array | |
owner: | |
$ref: '#/definitions/UserProfile' | |
promotion: | |
$ref: '#/definitions/Promotion' | |
referral_type: | |
type: string | |
description: | | |
Can be one of: | |
- personal: Belongs to an account. | |
- internal: Referrals by us. | |
format: 'char[16]' | |
TranslatorRatingSummary: | |
type: object | |
properties: | |
comment: | |
type: string | |
example: 'He''s OK, I guess...' | |
would_you_use_again_rating: | |
type: integer | |
description: | | |
The question is "Would you use this translator/translator for another project?". This is between 1 and 5 | |
inclusive. This is asked for both types of jobs. | |
example: 3 | |
appearance_rating: | |
type: integer | |
description: | | |
The question is "Did the translator show up with appropriate clothing?". This is between 1 and 5 inclusive. | |
This is only asked for live jobs. | |
example: 3 | |
kindness_rating: | |
type: integer | |
description: | | |
The question is "Was the translator polite, respectful and tactful?". This is between 1 and 5 inclusive. | |
This is only asked for live jobs. | |
example: 5 | |
arrived_on_time: | |
type: integer | |
description: | | |
The question is "Was the interpretation at the interpretation site on time?". This is between 1 and 5 | |
inclusive. This is only asked for live jobs. | |
example: 5 | |
overall_rating: | |
type: integer | |
description: This is between 1 and 5 inclusive. This is asked for both types of jobs. | |
example: 4 | |
Province: | |
type: object | |
properties: | |
country: | |
type: integer | |
description: The country ID | |
example: 23 | |
name: | |
format: 'char[128]' | |
type: string | |
example: Ontario | |
description: The name of the province in the country language | |
RushHourRate: | |
type: object | |
description: | | |
Holds information about the additional price that will be applied to | |
projects within certain time distance to its end date. | |
Once a `RushHourRate` is created, it cannot be changed. | |
properties: | |
additional_price: | |
format: float | |
type: integer | |
example: 20000 | |
description: | | |
This is the additional price that will be added to the final price of | |
the project. This amount is in the smallest unit of the currency that | |
this limit belongs to. e.g 50 cents or 500 cents for 5 dollars. | |
deadline_limit: | |
format: int32 | |
type: integer | |
example: 120 | |
description: | | |
This is the time distance from the deadline to the current date time. | |
If this deadline limit is met, the `multiplier` or the `additional_price` | |
will be applied to the price of the project. | |
This is in minutes. | |
multiplier: | |
format: float | |
type: integer | |
example: 1.2 | |
description: This amount is applied to the final price of the project. | |
TranslatorUpdate: | |
type: object | |
properties: | |
bio: | |
type: string | |
description: Description of the user. | |
example: Here's a bio. | |
language_pairs: | |
items: | |
$ref: '#/definitions/LanguagePair' | |
type: array | |
max_job_distance: | |
type: integer | |
description: | | |
The maximum distance that the translator can go in kilometers. | |
example: 50 | |
address: | |
$ref: '#/definitions/Address' | |
certificates: | |
items: | |
$ref: '#/definitions/Certificate' | |
type: array | |
is_available_for_assignments: | |
type: bool | |
example: true | |
schools: | |
items: | |
$ref: '#/definitions/School' | |
type: array | |
nature_groups: | |
items: | |
$ref: '#/definitions/NatureGroup' | |
type: array | |
hst_number: | |
type: string | |
description: HST number of the translator. | |
example: 123456789RT0001 (Usually it is a 15-digit number). | |
available_for_lao: | |
type: boolean | |
description: Indicates whether the translator accepts LAO projects. | |
example: false | |
language_certificates: | |
items: | |
$ref: '#/definitions/LanguageCertificate' | |
type: array | |
available_for_live_video_job: | |
type: boolean | |
description: | | |
If this is set to true, it means the interpreter can join the video | |
interpretations. If this is set to true, the address will not be | |
required. | |
example: false | |
courses: | |
items: | |
$ref: '#/definitions/Course' | |
type: array | |
video_chat_accounts: | |
$ref: '#/definitions/VideoChatAccounts' | |
available_for_doc_job: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator can make document | |
translation. | |
example: false | |
available_for_live_job: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator can make live | |
translation. | |
example: true | |
years_of_experience: | |
type: integer | |
description: The number of years the interpreter has worked. | |
example: 4 | |
Translator: | |
type: object | |
properties: | |
bio: | |
type: string | |
description: Description of the user. | |
example: Here's a bio. | |
language_pairs: | |
items: | |
$ref: '#/definitions/LanguagePair' | |
type: array | |
user_profile: | |
$ref: '#/definitions/UserProfile' | |
completed_video_live_jobs_count: | |
type: integer | |
description: | | |
The number of video interpretations jobs this translator completed. This | |
is increased whenever a job is completed. | |
example: 42 | |
available_for_live_job: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator can make live | |
translation. | |
example: true | |
live_job_average_response: | |
format: float | |
type: integer | |
example: 123.2 | |
description: | | |
The response time is not affected by whether the translator accepted the | |
job or denied it. It's about how long it took for the translator to | |
respond to the job. This is the average time that it took for the | |
translator to respond to the job. It's in minutes. | |
is_available_for_assignments: | |
type: boolean | |
description: | | |
Defaults to false. This can be set to false when the translator does not | |
want to receive assignments for a period of time. | |
example: true | |
is_active: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator is accepted by the | |
administrators. | |
example: true | |
is_atio_certified: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator is ATIO certified. ATIO | |
certified transaltors are required for translations of document types | |
other than regular. | |
example: false | |
latitude: | |
format: float | |
type: integer | |
example: 43.99 | |
description: | | |
The latitude of the translators location. | |
address: | |
$ref: '#/definitions/Address' | |
schools: | |
items: | |
$ref: '#/definitions/School' | |
type: array | |
nature_groups: | |
items: | |
$ref: '#/definitions/NatureGroup' | |
type: array | |
is_banned: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator is blocked by the | |
administrators. | |
example: false | |
job_certifications: | |
items: | |
$ref: '#/definitions/JobCertification' | |
type: array | |
live_job_video_average_response: | |
format: float | |
type: integer | |
example: 13.2 | |
description: | | |
The response time is not affected by whether the translator accepted the | |
job or denied it. It's about how long it took for the translator to | |
respond to the job. This is the average time that it took for the | |
translator to respond to the job. It's in minutes. | |
hst_number: | |
type: string | |
description: | | |
HST number of the translator (usually it is a 15-digit number). | |
https://turbotax.intuit.ca/tips/a-guide-to-business-numbers-6211 | |
example: 123456789RT0001 | |
completed_doc_jobs_count: | |
type: integer | |
description: | | |
The number of doc jobs this translator completed. This is increased | |
whenever a job is completed. | |
example: 42 | |
doc_job_average_response: | |
format: float | |
type: integer | |
example: 123.2 | |
description: | | |
The response time is not affected by whether the translator accepted | |
the job or denied it. It's about how long it took for the translator to | |
respond to the job. This is the average time that it took for the | |
translator to respond to the job. It's in minutes. | |
available_for_lao: | |
type: boolean | |
description: Indicates whether the translator accepts LAO projects. | |
example: false | |
courses: | |
items: | |
$ref: '#/definitions/Course' | |
type: array | |
language_certificates: | |
items: | |
$ref: '#/definitions/LanguageCertificate' | |
type: array | |
available_for_live_video_job: | |
type: boolean | |
description: | | |
If this is set to true, it means the interpreter can join the video | |
interpretations. If this is set to true, the address will not be | |
required. | |
example: false | |
longitude: | |
format: float | |
type: integer | |
example: 43.99 | |
description: | | |
The latitude of the translators location. | |
max_job_distance: | |
type: integer | |
description: | | |
The maximum distance that the translator can go. Unit kilometers | |
example: 50 | |
video_chat_accounts: | |
$ref: '#/definitions/VideoChatAccounts' | |
available_for_doc_job: | |
type: boolean | |
description: | | |
If this is set to true, it means the translator can make document | |
translation. | |
example: false | |
certificates: | |
items: | |
$ref: '#/definitions/Certificate' | |
type: array | |
years_of_experience: | |
type: integer | |
description: The number of years the interpreter has worked. | |
example: 4 | |
completed_live_jobs_count: | |
type: integer | |
description: | | |
The number of live jobs this translator completed. This is increased | |
whenever a job is completed. | |
example: 32 | |
overall_rating: | |
format: float | |
type: integer | |
example: 4.3 | |
description: | | |
This is updated whenever a translator is rated. This is calculated based | |
on the overall rating of the translator. This will be [-1, 5]. If it | |
is -1, then it means we still don't have enough data to calculate a | |
rating. | |
LanguagePair: | |
required: | |
- name | |
type: object | |
description: | | |
Used in Translator profile to search for translators that only translate | |
from one language to another. | |
properties: | |
source_language: | |
$ref: '#/definitions/Language' | |
target_language: | |
$ref: '#/definitions/Language' | |
User: | |
type: object | |
description: A User object | |
properties: | |
username: | |
type: string | |
description: Unique user name of the user. | |
example: furkanzmc | |
first_name: | |
type: string | |
description: First name of the user. | |
example: Furkan | |
last_name: | |
type: string | |
description: Last name of the user. | |
example: Uzumcu | |
gender: | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
type: string | |
description: | | |
- `0`: Not specified | |
- `1`: Male | |
- `2`: Female | |
example: 1 | |
email_rules: | |
$ref: '#/definitions/EmailRule' | |
is_active: | |
type: boolean | |
description: This will be false If the user is not active. | |
example: true | |
birthday: | |
type: string | |
description: User birthday | |
example: '1999-01-01' | |
profile_photo: | |
type: string | |
description: Profile photo | |
example: 'http://www.edmoware.com/gamze.png' | |
phone: | |
type: string | |
example: '+905064569878' | |
password: | |
type: string | |
description: Password. | |
example: furkan12345 | |
requires_password_change: | |
type: bool | |
description: | | |
Indicates whether the password must be changed. When this field is | |
true, the existing password will not be asked. | |
example: false | |
last_login: | |
format: date | |
type: string | |
example: '2017-01-01' | |
description: | | |
This is a read-only field. It is updated every time a user sends a | |
request. | |
is_registration_completed: | |
type: bool | |
description: | | |
Whether or not the user has completed registration, i.e updated their | |
profile after sign up. | |
example: true | |
email: | |
type: string | |
description: Email address of the user | |
example: furkan@zmc.com | |
date_joined: | |
format: date | |
type: string | |
example: '2017-01-01' | |
description: This is a read-only field | |
Device: | |
type: object | |
properties: | |
last_visit_date: | |
type: string | |
example: 1 | |
format: dateTime | |
login_count: | |
format: int32 | |
type: integer | |
example: 45 | |
description: The count of login requests. | |
enabled: | |
type: boolean | |
description: 'If the device is enabled, it will be used to send a push notification.' | |
example: true | |
device_hash: | |
type: string | |
example: 3416asdslfu3094rwsedf54_totally_not_an_id | |
format: 'char[256]' | |
register_date: | |
type: string | |
example: '2017-01-01T13:45' | |
format: dateTime | |
platform: | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
- 4 | |
- 5 | |
type: integer | |
description: | | |
- `0`: Not specified | |
- `1`: iOS | |
- `2`: Android | |
- `3`: Web | |
- `4`: Windows | |
- `5`: macOS | |
example: 1 | |
user: | |
type: integer | |
description: The user ID. | |
example: 1 | |
pns_token: | |
format: 'char[512]' | |
type: string | |
example: qewrtyuhjgfasdsdfgbvc123 | |
description: The PNS token for the push notification service being used. | |
device_name: | |
type: string | |
example: Google Pixel | |
format: 'char[256]' | |
LanguageCertificate: | |
required: | |
- language | |
- name | |
- number | |
type: object | |
description: | | |
Since language certificates are directly bundled with Translator profile, we are only going to use the language | |
ID and not the object itself. | |
properties: | |
name: | |
format: 'char[128]' | |
type: string | |
example: Best Translator Certificate | |
description: Name of the certificate. | |
language: | |
type: integer | |
example: 2 | |
file_name: | |
type: string | |
description: The file's original name. | |
example: plan_to_destroy_the_world.jpeg | |
file_url: | |
format: url | |
type: string | |
example: 'http://www.file-url.com/asd.png' | |
description: File url for the certificate photo. | |
number: | |
format: 'char[64]' | |
type: string | |
example: 453618364 | |
description: This the number of the certificate. | |
file_checksum: | |
format: 'char[128]' | |
type: string | |
example: 12345qwertwqwe12345qwertwqwe12345qwertwqwe12345qwertwqwe12345qwertwqwe | |
description: The file's checksum. | |
cloud_name: | |
type: string | |
description: The file's name on the cloud. | |
example: 1.plan_to_destroy_the_world.jpeg | |
content_type: | |
type: string | |
description: The file's content type. | |
example: image/jpeg | |
TranslatorMinimal: | |
first_name: | |
type: string | |
description: First name of the translator. | |
example: John | |
last_name: | |
type: string | |
description: Last name of the translator. | |
example: Doe | |
description: | | |
Used to display minimal information about the translator. The rating | |
field contains the rating for the job that this translator is attached to. | |
rating: | |
$ref: '#/definitions/TranslatorRatingSummary' | |
profile_photo: | |
format: url | |
type: string | |
example: 'https://www.herei.am/me.png' | |
description: Translator's profile photo | |
years_of_experience: | |
type: integer | |
description: Years of experience. | |
example: 43 | |
type: object | |
properties: null | |
overall_rating: | |
type: integer | |
description: Overall rating. | |
example: 4.3 | |
Error: | |
type: object | |
properties: | |
message: | |
type: string | |
example: Parameter error ocurred. | |
description: The user friendly error message from the API. | |
code: | |
type: number | |
example: 32 | |
description: | | |
This is the context dependant error code. | |
parameters: | |
type: object | |
properties: | |
field_name: | |
type: array | |
items: | |
type: string | |
example: "Error descirption." | |
BillingMethod: | |
required: | |
- name | |
- owner | |
- payment_schedule | |
type: object | |
description: | | |
A billing method is used to enable billing on a weekly/bi-weekly/monthly | |
basis. When a user belongs to an organization with a billing method, | |
they will not be required to add a payment method to their profiles. | |
This model is not yet exposed to the API. | |
properties: | |
billing_address: | |
$ref: '#/definitions/Address' | |
name: | |
format: 'char[32]' | |
type: string | |
example: My Billing | |
description: Billing method name. | |
owner: | |
$ref: '#/definitions/UserSummary' | |
billing_email: | |
format: 'char[254]' | |
type: string | |
example: billing@cuztranslation.com | |
description: | | |
The email address that will recieve the invoices. If this is not | |
provided, the email address of the owner will be used. | |
is_active: | |
type: bool | |
description: | | |
Indicates whether this billing method can be used. There can be more | |
than one active billing method. | |
example: true | |
payment_schedule: | |
format: 'char[16]' | |
type: string | |
example: monthly | |
description: | | |
The payment schedule of the billing account. | |
- `weekly`: Weekly payment schedule. | |
- `bi_weekly`: Bi-weekly payment schedule. | |
Job: | |
type: object | |
required: | |
- customer | |
- title | |
- job_type | |
- end_date | |
- from_language | |
- to_language | |
- nature | |
properties: | |
creation_date: | |
type: string | |
description: Job's creation date. | |
example: "2017-01-01T12:55" | |
response_date: | |
type: string | |
description: Job response date | |
example: "2017-01-01T15:55" | |
is_accepted: | |
type: boolean | |
description: Job accept/decline | |
example: true | |
status: | |
type: integer | |
format: int32 | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
- 4 | |
- 5 | |
- 6 | |
example: 0 | |
title: | |
type: string | |
format: char[512] | |
description: Job's title | |
example: Interpretation for Case #23 | |
required: true | |
job_type: | |
type: integer | |
format: int32 | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
example: 1 | |
required: true | |
start_date: | |
type: string | |
format: dateTime | |
example: "2017-01-02T15:55" | |
end_date: | |
type: string | |
format: dateTime | |
example: "2017-01-03T15:55" | |
required: true | |
total_duration: | |
type: integer | |
example: 1440 | |
from_language: | |
type: string | |
example: fr | |
to_language: | |
type: string | |
example: es | |
word_count: | |
type: integer | |
example: 1250 | |
page_count: | |
type: integer | |
example: 2 | |
job_distance: | |
type: number | |
example: 0 | |
address: | |
type: str | |
example: 598 St. Clair Ave West Toronto, ON M6C 1A6, Canada | |
note: | |
type: string | |
format: char[1048] | |
example: Please pay extra attention to the second document. | |
dress_code: | |
type: integer | |
format: int32 | |
description: | | |
Dress code for the live interpretation. | |
- `0`: Not Specified | |
- `1`: Formal | |
- `2`: Semi-Formal | |
- `3`: Casual | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
- 3 | |
example: 1 | |
is_archived: | |
type: boolean | |
description: A job can be archived. | |
example: false | |
over_the_phone: | |
type: boolean | |
description: | | |
Whether the interpretation to be done over the phone. The | |
necessary contact details must be given in the "note" field. | |
example: false | |
video_caller: | |
type: integer | |
format: int32 | |
description: | | |
Determines who is calling who for a video interpretation job. The default | |
value is `not_specified`. It is required for a video job. | |
- `0`: Not Specified. This means that the job type is not video. | |
- `1`: Customer is calling the interpreter. | |
- `2`: Interpreter is calling the customer. | |
enum: | |
- 0 | |
- 1 | |
- 2 | |
example: 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment