Create an HTTPS notification subscription (webhook) with built-in delivery retries (exponential back off over ~24 hours) by specifying the URL which will receive the HTTP POST request as the endpoint. Leverage Basic and Digest Access Authentication by using a URL formatted as https://user:password@domain.com or https://user@domain.com, respectively. (The password will be encrypted using TLS/SSL and not sent in plaintext).
A confirmation message will be sent to the endpoint specified in each created notification subscriptions. Navigate to the URL in the confirmation message to confirm the subscription. Unconfirmed subscriptions will be automatically deleted 3 days after their creation.
Alternatively, create an EMAIL notification subscription by specifying an email address as the endpoint.
Arguments
Return type
Notificationmutation createNotificationSubscription($type: NotificationSubscriptionType!, $endpoint: String!) {
createNotificationSubscription(type: $type, endpoint: $endpoint) {
type
id
endpoint
}
}
{ "type": "HTTPS", "endpoint": "Example String" }
{ "data": { "type": "HTTPS", "id": "Example String", "endpoint": "Example String" } }
Delete a notification subscription by its subscriptionId
Arguments
Return type
Boolean!The Boolean
scalar type represents true
or false
.
mutation deleteNotificationSubscription($subscriptionId: String!) {
deleteNotificationSubscription(subscriptionId: $subscriptionId)
}
{ "subscriptionId": "Example String" }
{ "data": true }
Specify a file name and type for a given file to be uploaded and get a fileId and uploadUrl for it.
Use HTTP POST to upload the file content to the uploadUrl. The uploadUrl has a 15-minute expiration time so use it before then.
Pass the fileId as a parameter to other mutations, but only after posting the file content to the uploadUrl.
Arguments
Return type
Filemutation uploadFile($fileUpload: FileUploadInput) {
uploadFile(fileUpload: $fileUpload) {
id
name
type
uploadUrl
}
}
{ "fileUpload": { "name": "Example String", "type": "BMP", "category": "ORDERS" } }
{ "data": { "id": "Example String", "name": "Example String", "type": "BMP", "uploadUrl": "Example String" } }
Suggest products based on those in the contacts prescription
Arguments
Contacts details
Contacts job options
List of tags
Return type
ContactsUnique ID for this job
Current job status
Current job reason, if applicable
Notes entered by Doctor and/or Visibly
Contacts details
List of tags used to correlate this workflow with other systems
Last date and time this job was updated
mutation suggestContacts(
$contacts: ContactsInput!
$options: ContactsOptionsInput
$tags: [TagInput]
) {
suggestContacts(
contacts: $contacts
options: $options
tags: $tags
) {
jobId
status
reason
notes
contacts {
__typename
# ...ContactsFragment
}
tags {
__typename
# ...TagFragment
}
updatedAt
}
}
{ "contacts": { "products": { "__typename": "ContactsProductsInput" }, "prescription": { "__typename": "ContactsPrescriptionInput" } }, "options": { "verification": { "__typename": "ContactsVerificationOptionsInput" }, "prescription": { "__typename": "ContactsPrescriptionOptionsInput" }, "fulfillment": { "__typename": "ContactsFulfillmentOptionsInput" } }, "tags": [ { "name": "Example String", "value": "Example String" } ] }
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "contacts": { "__typename": "Contacts" }, "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }
Start a contacts prescription verification job
Arguments
Contacts details
Contacts job options
List of tags
Return type
ContactsUnique ID for this job
Current job status
Current job reason, if applicable
Notes entered by Doctor and/or Visibly
Contacts details
List of tags used to correlate this workflow with other systems
Last date and time this job was updated
mutation verifyContactsPrescription(
$contacts: ContactsInput!
$options: ContactsOptionsInput
$tags: [TagInput]
) {
verifyContactsPrescription(
contacts: $contacts
options: $options
tags: $tags
) {
jobId
status
reason
notes
contacts {
__typename
# ...ContactsFragment
}
tags {
__typename
# ...TagFragment
}
updatedAt
}
}
{ "contacts": { "products": { "__typename": "ContactsProductsInput" }, "prescription": { "__typename": "ContactsPrescriptionInput" } }, "options": { "verification": { "__typename": "ContactsVerificationOptionsInput" }, "prescription": { "__typename": "ContactsPrescriptionOptionsInput" }, "fulfillment": { "__typename": "ContactsFulfillmentOptionsInput" } }, "tags": [ { "name": "Example String", "value": "Example String" } ] }
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "contacts": { "__typename": "Contacts" }, "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }
Start a glasses prescription verification job
Arguments
Glasses details
Job options
List of tags
Return type
GlassesUnique ID for this job
Current job status
Current job reason, if applicable
Notes entered by Doctor and/or Visibly
Prescription issue date, if available
Prescription expiration date, if available
List of tags used to correlate this workflow with other systems
Last date and time this job was updated
mutation verifyGlassesPrescription(
$glasses: GlassesInput!
$options: GlassesOptionsInput
$tags: [TagInput]
) {
verifyGlassesPrescription(
glasses: $glasses
options: $options
tags: $tags
) {
jobId
status
reason
notes
issueDate
expirationDate
tags {
__typename
# ...TagFragment
}
updatedAt
}
}
{ "glasses": { "lenses": { "__typename": "GlassesLensesInput" }, "frame": { "__typename": "GlassesFrameInput" }, "prescription": { "__typename": "GlassesPrescriptionInput" } }, "options": { "verification": { "__typename": "GlassesVerificationOptionsInput" }, "prescription": { "__typename": "GlassesPrescriptionOptionsInput" }, "fulfillment": { "__typename": "GlassesFulfillmentOptionsInput" } }, "tags": [ { "name": "Example String", "value": "Example String" } ] }
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "issueDate": "Example String", "expirationDate": "Example String", "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }
Submit order
Arguments
Order details
Return type
[Boolean]The Boolean
scalar type represents true
or false
.
mutation submitOrder($order: OrderInput) {
submitOrder(order: $order)
}
{ "order": { "orderId": "Example String", "orderedAt": "Example String", "total": 40, "customer": { "__typename": "CustomerInput" }, "shipping": { "__typename": "ShippingInput" }, "items": [ { "__typename": "ItemInput" } ] } }
{ "data": [ true ] }
Save order details
Arguments
Order details
Return type
BooleanThe Boolean
scalar type represents true
or false
.
mutation saveOrder($order: OrderInput) {
saveOrder(order: $order)
}
{ "order": { "orderId": "Example String", "orderedAt": "Example String", "total": 40, "customer": { "__typename": "CustomerInput" }, "shipping": { "__typename": "ShippingInput" }, "items": [ { "__typename": "ItemInput" } ] } }
{ "data": true }
Save patient detailst
Arguments
Patient details
Return type
BooleanThe Boolean
scalar type represents true
or false
.
mutation savePatient($patient: PatientInput!) {
savePatient(patient: $patient)
}
{ "patient": { "patientId": "Example String", "firstName": "Example String", "middleName": "Example String", "lastName": "Example String", "dateOfBirth": "Example String", "phoneNumber": "Example String", "email": "Example String", "address": "Example String", "address2": "Example String", "city": "Example String", "state": "Example String", "zipCode": "Example String" } }
{ "data": true }
Save contacts prescription details
Arguments
Contacts prescription details
Return type
BooleanThe Boolean
scalar type represents true
or false
.
mutation saveContactsPrescription($prescription: ContactsPrescriptionInput!) {
saveContactsPrescription(prescription: $prescription)
}
{ "prescription": { "fileId": "Example String", "prescriptionId": "Example String", "doctor": { "__typename": "DoctorInput" }, "patient": { "__typename": "PatientInput" }, "products": { "__typename": "ContactsProductsInput" } } }
{ "data": true }
Save glasses prescription details
Arguments
Glasses prescription details
Return type
BooleanThe Boolean
scalar type represents true
or false
.
mutation saveGlassesPrescription($prescription: GlassesPrescriptionInput!) {
saveGlassesPrescription(prescription: $prescription)
}
{ "prescription": { "fileId": "Example String", "prescriptionId": "Example String", "doctor": { "__typename": "DoctorInput" }, "patient": { "__typename": "PatientInput" }, "corrections": [ { "__typename": "GlassesLensesInput" } ] } }
{ "data": true }