Download OpenAPI specification:Download
Service provides a wrapper to Sendgrid that can be used to send emails from all our services. Service exposes only one internal endpoint that expects SendGrid Dynamic Template ID, receiver email address, and email payload.
Creates a new email template and stores it in the database.
| type required | string |
| active required | boolean |
| templateId required | string |
| allowedSendFrequencySeconds required | number <double> |
| provider required | string (EmailProvider) Enum: "sendgrid" "smtp2go" |
{- "type": "string",
- "active": true,
- "templateId": "string",
- "allowedSendFrequencySeconds": 0.1,
- "provider": "sendgrid"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Gets a paginated list of email templates.
| top | number <double> Default: 10 The number of search results to return on that page |
| skip | number <double> Default: 0 The number of search results skipped |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "id": "string",
- "type": "string",
- "active": true,
- "templateId": "string",
- "allowedSendFrequencySeconds": 0.1,
- "provider": "sendgrid",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Gets an email template by message type.
| type required | string The email template type |
{- "id": "string",
- "type": "string",
- "active": true,
- "templateId": "string",
- "allowedSendFrequencySeconds": 0.1,
- "provider": "sendgrid",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Update an email template by email type.
| type required | string The email template type |
Email template fields which need be updated
| type | string |
| active | boolean |
| templateId | string |
| allowedSendFrequencySeconds | number <double> |
{- "type": "string",
- "active": true,
- "templateId": "string",
- "allowedSendFrequencySeconds": 0.1
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Send an email by template type, email address and payload
The payload contains the templateType, email address and payload of the email.
Array of objects (AttachmentJSON) attachments to be included with email | |
| payload required | object Payload of the email |
| recipientsVisible required | boolean Should recipients see each other's addresses |
| to required | Array of strings [ 1 .. 10 ] items Receiver email address |
| templateType required | string (EmailTemplateType) Enum: "BEAUTYOS_OTP_CODE" "BEAUTYOS_RECEIPT" "BEAUTYOS_SALON_INVITATION" "BEAUTYOS_PAYMENT_HISTORY" "BEAUTYOS_APPOINTMENT_REMINDER_24H" "BEAUTYOS_APPOINTMENT_CONFIRMATION" "BEAUTYOS_APPOINTMENT_UPDATE" "BEAUTYOS_APPOINTMENT_CANCELLATION_BY_ARTIST" "BEAUTYOS_PAYMENT_LINK" |
{- "attachments": [
- {
- "content": "string",
- "filename": "string",
- "type": "string",
- "disposition": "string",
- "content_id": "string"
}
], - "payload": {
- "property1": null,
- "property2": null
}, - "recipientsVisible": true,
- "to": [
- "string"
], - "templateType": "BEAUTYOS_OTP_CODE"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Creates a new SMS template and stores it in the database.
| type required | string (SmsMessageType) Enum: "BEAUTYOS_OTP_CODE" "BEAUTYOS_SALON_INVITATION" "BEAUTYOS_PAYMENT_LINK" "BEAUTYOS_APPOINTMENT_REMINDER_24H" "BEAUTYOS_APPOINTMENT_REMINDER_48H" "BEAUTYOS_APPOINTMENT_CONFIRMATION" "BEAUTYOS_APPOINTMENT_UPDATE" |
| active required | boolean |
| template required | string |
| allowedSendFrequencySeconds required | number <double> |
{- "type": "BEAUTYOS_OTP_CODE",
- "active": true,
- "template": "string",
- "allowedSendFrequencySeconds": 0.1
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Gets a paginated list of SMS templates.
| top | number <double> Default: 10 The number of search results to return on that page |
| skip | number <double> Default: 0 The number of search results skipped |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "type": "BEAUTYOS_OTP_CODE",
- "active": true,
- "template": "string",
- "allowedSendFrequencySeconds": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Gets an SMS template by message type.
| type required | string (SmsMessageType) Enum: "BEAUTYOS_OTP_CODE" "BEAUTYOS_SALON_INVITATION" "BEAUTYOS_PAYMENT_LINK" "BEAUTYOS_APPOINTMENT_REMINDER_24H" "BEAUTYOS_APPOINTMENT_REMINDER_48H" "BEAUTYOS_APPOINTMENT_CONFIRMATION" "BEAUTYOS_APPOINTMENT_UPDATE" The SMS template type |
{- "type": "BEAUTYOS_OTP_CODE",
- "active": true,
- "template": "string",
- "allowedSendFrequencySeconds": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Update an SMS template by message type.
| type required | string (SmsMessageType) Enum: "BEAUTYOS_OTP_CODE" "BEAUTYOS_SALON_INVITATION" "BEAUTYOS_PAYMENT_LINK" "BEAUTYOS_APPOINTMENT_REMINDER_24H" "BEAUTYOS_APPOINTMENT_REMINDER_48H" "BEAUTYOS_APPOINTMENT_CONFIRMATION" "BEAUTYOS_APPOINTMENT_UPDATE" The SMS template type |
SMS template fields which need be updated
| type | string (SmsMessageType) Enum: "BEAUTYOS_OTP_CODE" "BEAUTYOS_SALON_INVITATION" "BEAUTYOS_PAYMENT_LINK" "BEAUTYOS_APPOINTMENT_REMINDER_24H" "BEAUTYOS_APPOINTMENT_REMINDER_48H" "BEAUTYOS_APPOINTMENT_CONFIRMATION" "BEAUTYOS_APPOINTMENT_UPDATE" |
| active | boolean |
| template | string |
| allowedSendFrequencySeconds | number <double> |
{- "type": "BEAUTYOS_OTP_CODE",
- "active": true,
- "template": "string",
- "allowedSendFrequencySeconds": 0.1
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Initiates the Twilio callback to update the status of the SMS message.
| x-twilio-signature required | string |
| SmsStatus required | string (MessageStatus) Enum: "accepted" "queued" "sending" "sent" "failed" "delivered" "undelivered" "receiving" "received" "read" "partially_delivered" "canceled" |
| SmsSid | string |
| MessagingServiceSid | string |
| ErrorCode | string |
| MessageStatus required | string (MessageStatus) Enum: "accepted" "queued" "sending" "sent" "failed" "delivered" "undelivered" "receiving" "received" "read" "partially_delivered" "canceled" |
| MessageSid required | string |
| ReferralNumMedia | string |
| NumMedia | string |
| Body | string |
| To | string |
| From | string |
| AccountSid | string |
| ApiVersion | string |
{- "SmsStatus": "accepted",
- "SmsSid": "string",
- "MessagingServiceSid": "string",
- "ErrorCode": "string",
- "MessageStatus": "accepted",
- "MessageSid": "string",
- "ReferralNumMedia": "string",
- "NumMedia": "string",
- "Body": "string",
- "To": "string",
- "From": "string",
- "AccountSid": "string",
- "ApiVersion": "string"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}Sends an SMS message to the given number and stores the message metadata in the database.
| messageType required | string (SmsMessageType) Enum: "BEAUTYOS_OTP_CODE" "BEAUTYOS_SALON_INVITATION" "BEAUTYOS_PAYMENT_LINK" "BEAUTYOS_APPOINTMENT_REMINDER_24H" "BEAUTYOS_APPOINTMENT_REMINDER_48H" "BEAUTYOS_APPOINTMENT_CONFIRMATION" "BEAUTYOS_APPOINTMENT_UPDATE" |
| toNumber required | string |
| payload | object |
{- "messageType": "BEAUTYOS_OTP_CODE",
- "toNumber": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1
}| id required | string |
| user-id required | string |
{- "id": "string",
- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| salonId required | string |
| skip | number <double> Default: 0 |
| top | number <double> Default: 10 |
| user-id required | string |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "id": "string",
- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}| title required | string |
| message required | string |
| to required | string |
| salonId required | string |
| userId required | string |
| channel required | string (NotificationChannel) Enum: "email" "sms" "push" |
| payload | object (NotificationPayloadMap) |
| type required | string (NotificationType) Enum: "owner_new_appointment" "owner_appointment_cancelled" "owner_appointment_rescheduled" "stylist_new_appointment" "stylist_appointment_cancelled" "stylist_appointment_rescheduled" "salon_invitation" "owner_payment_link_completed" "stylist_payment_link_completed" "owner_appointment_updated" "stylist_appointment_updated" |
| notificationId | string |
{- "title": "string",
- "message": "string",
- "to": "string",
- "salonId": "string",
- "userId": "string",
- "channel": "email",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "type": "owner_new_appointment",
- "notificationId": "string"
}{- "message": "string",
- "success": true
}{- "id": "string",
- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string |
| title | string |
| message | string |
| channels | Array of strings (NotificationChannel) Items Enum: "email" "sms" "push" |
| to | string |
| userId | string |
| salonId | string |
| payload | object (NotificationPayloadMap) |
| status | string (NotificationStatus) Enum: "pending" "sent" "delivered" |
| type | string (NotificationType) Enum: "owner_new_appointment" "owner_appointment_cancelled" "owner_appointment_rescheduled" "stylist_new_appointment" "stylist_appointment_cancelled" "stylist_appointment_rescheduled" "salon_invitation" "owner_payment_link_completed" "stylist_payment_link_completed" "owner_appointment_updated" "stylist_appointment_updated" |
| isRead | boolean |
| isSeen | boolean |
| sentAt | string <date-time> |
{- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isRead": true,
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isRead": true,
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| salonId required | string |
| userId required | string |
| skip | number <double> Default: 0 |
| top | number <double> Default: 10 |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "id": "string",
- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}| channels required | Array of strings (NotificationChannel) Items Enum: "email" "sms" "push" |
| to required | string |
| userId required | string |
| salonId required | string |
| payload | object (NotificationPayloadMap) |
| status | string (NotificationStatus) Enum: "pending" "sent" "delivered" |
| type required | string (NotificationType) Enum: "owner_new_appointment" "owner_appointment_cancelled" "owner_appointment_rescheduled" "stylist_new_appointment" "stylist_appointment_cancelled" "stylist_appointment_rescheduled" "salon_invitation" "owner_payment_link_completed" "stylist_payment_link_completed" "owner_appointment_updated" "stylist_appointment_updated" |
| isRead | boolean |
| isSeen | boolean |
| sentAt | string <date-time> |
{- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isRead": true,
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "title": "string",
- "message": "string",
- "channels": [
- "email"
], - "to": "string",
- "userId": "string",
- "salonId": "string",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "status": "pending",
- "type": "owner_new_appointment",
- "isRead": true,
- "isSeen": true,
- "sentAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| title required | string |
| message required | string |
| to required | string |
| salonId required | string |
| userId required | string |
| channel required | string (NotificationChannel) Enum: "email" "sms" "push" |
| payload | object (NotificationPayloadMap) |
| type required | string (NotificationType) Enum: "owner_new_appointment" "owner_appointment_cancelled" "owner_appointment_rescheduled" "stylist_new_appointment" "stylist_appointment_cancelled" "stylist_appointment_rescheduled" "salon_invitation" "owner_payment_link_completed" "stylist_payment_link_completed" "owner_appointment_updated" "stylist_appointment_updated" |
| notificationId | string |
{- "title": "string",
- "message": "string",
- "to": "string",
- "salonId": "string",
- "userId": "string",
- "channel": "email",
- "payload": {
- "property1": "string",
- "property2": "string"
}, - "type": "owner_new_appointment",
- "notificationId": "string"
}{- "message": "string",
- "success": true
}Creates a phone number that has been purchased in Twilio.
| phoneNumber required | string |
| createdBy required | string |
{- "phoneNumber": "string",
- "createdBy": "string"
}{- "phoneNumber": "string",
- "createdBy": "string",
- "updatedBy": "string",
- "active": true
}Updates a phone number that has been purchased in Twilio.
| phoneNumber required | string |
| phoneNumber | string |
| active | boolean |
| updatedBy required | string |
{- "phoneNumber": "string",
- "active": true,
- "updatedBy": "string"
}{- "name": "string",
- "message": "string",
- "code": "string",
- "status": 0.1,
- "details": { }
}