Generate a unique session for the user.
SUMMARY
This endpoint will create and persist both a user and a session record and associate them.
Submitting unqualified user or prescription info will return a 403 Forbidden error and high level disqualifications reasons. These reasons include age, region, prescription, and unknown_product_key.
The sample POST Body includes prior prescription information for both contact lenses and glasses. Your POST may include one, both, or neither based on the patient information you've collected.
ORDER OBJECT
The order object is an optional parameter that allows you to detail what service the user has purchased and how much you've charged them for the service.
Product
The order.products field should include an array of desired product types for your user. The field supports several types of products, including: glasses, contacts, and acuity-service. If no product type is included, we allow the user to select one of the prescription products during the exam experience.
Bundling Product TypesPrescription products (
glassesand/orcontacts) and theacuity-serviceproduct are mutually exclusive and cannot be combined in the same order.
Pricing
The order.charged_amount field indicates how much you've charged the user. Submitting 0 or greater indicates that you have charged the user, which will suppress the payment collection at the end of the experience. Submitting null indicates that Visibly will handle collection, and will charge the user accordingly.
All amounts should be submitted in the smallest currency unit.
Partner_Info
the partner_info block can optionally be sent to add additional metadata to the created session. This information is hosted and stored by Visibly for analytics and troubleshooting purposes. This block will accept any data in a JSON Object so long as it is less than 20,000 characters in size.
IN-STORE OBJECT
Store_Id
The store_id field can be optionally set to include a Visibly configured store id. Please work with your Visibly contact to configure this field correctly. If left blank no "in-store" action will take place. The corresponding store id that is provided must be enabled and associated to partner configured instances within Visibly.
RE-ORDERING OBJECT
Re-ordering Info
The reordering field can be optionally set as true to indicate that the prescription parameters passed via the prescriptions object represent the end user's prior prescription (i.e. not a net new prescription). A false value would indicate that prescription passed via the prescription object is not a prior prescription.
JSON
{
"user_key": "user1",
"session_key": "session1",
"user": {
"email": "[email protected]",
"first_name": "Test",
"last_name": "User",
"birthdate": "1988-01-01",
"region": "IL"
},
"order": {
"charged_currency": "USD",
"charged_amount": 6000,
"products": [
{
"type": "contacts"
},
{
"type": "glasses"
}
]
},
"store_id": "store_1234",
"partner_info": {
"metadata_keys": "meta data values"
},
"prescriptions": [
{
"type": "contacts",
"verification": "verified",
"reordering": true,
"issue_date": "2017-07-04",
"expiration_date": "2018-07-04",
"right_eye": {
"product_key": "example1",
"sphere": -1.0,
"cylinder": -0.25,
"axis": 90,
"base_curve": 8.7,
"diameter": 14.1,
"add": 1.50,
"dominance": "D"
},
"left_eye": {
"product_key": "example1",
"sphere": -1.0,
"cylinder": -0.25,
"axis": 90,
"base_curve": 8.7,
"diameter": 14.1,
"add": 1.50,
"dominance": "N"
}
},
{
"type": "glasses",
"verification": "unverified",
"right_eye": {
"sphere": -1.0,
"cylinder": -0.25,
"axis": 90,
"add": null,
"pupillary_distance": 30.0
},
"left_eye": {
"sphere": -1.0,
"cylinder": -0.25,
"axis": 90,
"add": null,
"pupillary_distance": 30.0
}
}
]
}