sms.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. import { gupshupConfig, nexmoConfig, plivoConfig, sms77Config, snsConfig, telnyxConfig, twilioConfig, firetextConfig, infobipSMSConfig, burstSmsConfig, clickatellConfig, fortySixElksConfig, kannelConfig, maqsamConfig, smsCentralConfig, termiiConfig, africasTalkingConfig, sendchampConfig, genericSmsConfig, clickSendConfig, simpleTextingConfig, bandwidthConfig, messagebirdConfig, azureSmsConfig, bulkSmsConfig, iSendSmsConfig, ringCentralConfig, brevoSmsConfig, } from '../credentials';
  2. import { SmsProviderIdEnum } from '../provider.enum';
  3. import { ChannelTypeEnum } from '../../../types';
  4. import { UTM_CAMPAIGN_QUERY_PARAM } from '../../../ui';
  5. export const smsProviders = [
  6. {
  7. id: SmsProviderIdEnum.Novu,
  8. displayName: 'Novu SMS',
  9. channel: ChannelTypeEnum.SMS,
  10. credentials: [],
  11. docReference: `https://docs.novu.co/channels-and-providers/default-providers${UTM_CAMPAIGN_QUERY_PARAM}#novu-sms-provider`,
  12. logoFileName: { light: 'novu.png', dark: 'novu.png' },
  13. },
  14. {
  15. id: SmsProviderIdEnum.Nexmo,
  16. displayName: 'Nexmo',
  17. channel: ChannelTypeEnum.SMS,
  18. credentials: nexmoConfig,
  19. docReference: `https://docs.novu.co/channels-and-providers/sms/nexmo${UTM_CAMPAIGN_QUERY_PARAM}`,
  20. logoFileName: { light: 'nexmo.png', dark: 'nexmo.png' },
  21. },
  22. {
  23. id: SmsProviderIdEnum.Plivo,
  24. displayName: 'Plivo',
  25. channel: ChannelTypeEnum.SMS,
  26. credentials: plivoConfig,
  27. docReference: `https://docs.novu.co/channels-and-providers/sms/plivo${UTM_CAMPAIGN_QUERY_PARAM}`,
  28. logoFileName: { light: 'plivo.png', dark: 'plivo.png' },
  29. },
  30. {
  31. id: SmsProviderIdEnum.Sms77,
  32. displayName: 'sms77',
  33. channel: ChannelTypeEnum.SMS,
  34. credentials: sms77Config,
  35. docReference: `https://docs.novu.co/channels-and-providers/sms/sms77${UTM_CAMPAIGN_QUERY_PARAM}`,
  36. logoFileName: { light: 'sms77.svg', dark: 'sms77.svg' },
  37. },
  38. {
  39. id: SmsProviderIdEnum.SNS,
  40. displayName: 'SNS',
  41. channel: ChannelTypeEnum.SMS,
  42. credentials: snsConfig,
  43. docReference: `https://docs.novu.co/channels-and-providers/sms/aws-sns${UTM_CAMPAIGN_QUERY_PARAM}`,
  44. logoFileName: { light: 'sns.svg', dark: 'sns.svg' },
  45. },
  46. {
  47. id: SmsProviderIdEnum.Telnyx,
  48. displayName: 'Telnyx',
  49. channel: ChannelTypeEnum.SMS,
  50. credentials: telnyxConfig,
  51. docReference: `https://docs.novu.co/channels-and-providers/sms/telnyx${UTM_CAMPAIGN_QUERY_PARAM}`,
  52. logoFileName: { light: 'telnyx.png', dark: 'telnyx.png' },
  53. },
  54. {
  55. id: SmsProviderIdEnum.MessageBird,
  56. displayName: 'MessageBird',
  57. channel: ChannelTypeEnum.SMS,
  58. credentials: messagebirdConfig,
  59. docReference: 'https://developers.messagebird.com/quickstarts/sms-overview/',
  60. logoFileName: { light: 'messagebird.png', dark: 'messagebird.png' },
  61. },
  62. {
  63. id: SmsProviderIdEnum.Twilio,
  64. displayName: 'Twilio',
  65. channel: ChannelTypeEnum.SMS,
  66. credentials: twilioConfig,
  67. docReference: `https://docs.novu.co/channels-and-providers/sms/twilio${UTM_CAMPAIGN_QUERY_PARAM}`,
  68. logoFileName: { light: 'twilio.png', dark: 'twilio.png' },
  69. },
  70. {
  71. id: SmsProviderIdEnum.Gupshup,
  72. displayName: 'Gupshup',
  73. channel: ChannelTypeEnum.SMS,
  74. credentials: gupshupConfig,
  75. docReference: 'https://docs.gupshup.io/docs/send-single-message',
  76. logoFileName: { light: 'gupshup.png', dark: 'gupshup.png' },
  77. },
  78. {
  79. id: SmsProviderIdEnum.Firetext,
  80. displayName: 'Firetext',
  81. channel: ChannelTypeEnum.SMS,
  82. credentials: firetextConfig,
  83. docReference: 'https://www.firetext.co.uk/docs',
  84. logoFileName: { light: 'firetext.svg', dark: 'firetext.svg' },
  85. },
  86. {
  87. id: SmsProviderIdEnum.Infobip,
  88. displayName: 'Infobip',
  89. channel: ChannelTypeEnum.SMS,
  90. credentials: infobipSMSConfig,
  91. docReference: `https://docs.novu.co/channels-and-providers/sms/infobip${UTM_CAMPAIGN_QUERY_PARAM}`,
  92. logoFileName: { light: 'infobip.png', dark: 'infobip.png' },
  93. },
  94. {
  95. id: SmsProviderIdEnum.BurstSms,
  96. displayName: 'BurstSMS',
  97. channel: ChannelTypeEnum.SMS,
  98. credentials: burstSmsConfig,
  99. docReference: 'https://developer.transmitsms.com/',
  100. logoFileName: { light: 'burst-sms.svg', dark: 'burst-sms.svg' },
  101. },
  102. {
  103. id: SmsProviderIdEnum.BulkSms,
  104. displayName: 'BulkSMS',
  105. channel: ChannelTypeEnum.SMS,
  106. credentials: bulkSmsConfig,
  107. docReference: 'https://www.bulksms.com/developer/json/v1/',
  108. logoFileName: { light: 'bulk-sms.png', dark: 'bulk-sms.png' },
  109. },
  110. {
  111. id: SmsProviderIdEnum.ISendSms,
  112. displayName: 'iSend SMS',
  113. channel: ChannelTypeEnum.SMS,
  114. credentials: iSendSmsConfig,
  115. docReference: 'https://send.com.ly/developers/docs',
  116. logoFileName: { light: 'isend-sms.svg', dark: 'isend-sms.svg' },
  117. },
  118. {
  119. id: SmsProviderIdEnum.Clickatell,
  120. displayName: 'clickatell',
  121. channel: ChannelTypeEnum.SMS,
  122. credentials: clickatellConfig,
  123. betaVersion: true,
  124. docReference: 'https://docs.clickatell.com/',
  125. logoFileName: { light: 'clickatell.png', dark: 'clickatell.png' },
  126. },
  127. {
  128. id: SmsProviderIdEnum.FortySixElks,
  129. displayName: '46elks',
  130. channel: ChannelTypeEnum.SMS,
  131. credentials: fortySixElksConfig,
  132. docReference: 'https://46elks.com/docs/send-sms',
  133. logoFileName: { light: '46elks.png', dark: '46elks.png' },
  134. },
  135. {
  136. id: SmsProviderIdEnum.Kannel,
  137. displayName: 'Kannel SMS',
  138. channel: ChannelTypeEnum.SMS,
  139. credentials: kannelConfig,
  140. betaVersion: true,
  141. docReference: 'https://www.kannel.org/doc.shtml',
  142. logoFileName: { light: 'kannel.png', dark: 'kannel.png' },
  143. },
  144. {
  145. id: SmsProviderIdEnum.Maqsam,
  146. displayName: 'Maqsam',
  147. channel: ChannelTypeEnum.SMS,
  148. credentials: maqsamConfig,
  149. docReference: 'https://portal.maqsam.com/docs/v2/sms',
  150. logoFileName: { light: 'maqsam.png', dark: 'maqsam.png' },
  151. },
  152. {
  153. id: SmsProviderIdEnum.SmsCentral,
  154. displayName: 'SMS Central',
  155. channel: ChannelTypeEnum.SMS,
  156. credentials: smsCentralConfig,
  157. docReference: 'https://www.smscentral.com.au/sms-api/',
  158. logoFileName: { light: 'sms-central.png', dark: 'sms-central.png' },
  159. },
  160. {
  161. id: SmsProviderIdEnum.Termii,
  162. displayName: 'Termii',
  163. channel: ChannelTypeEnum.SMS,
  164. credentials: termiiConfig,
  165. docReference: `https://docs.novu.co/channels-and-providers/sms/termii${UTM_CAMPAIGN_QUERY_PARAM}`,
  166. logoFileName: { light: 'termii.png', dark: 'termii.png' },
  167. },
  168. {
  169. id: SmsProviderIdEnum.AfricasTalking,
  170. displayName: `Africa's Talking`,
  171. channel: ChannelTypeEnum.SMS,
  172. credentials: africasTalkingConfig,
  173. docReference: `https://docs.novu.co/channels-and-providers/sms/africas-talking${UTM_CAMPAIGN_QUERY_PARAM}`,
  174. logoFileName: { light: 'africas-talking.svg', dark: 'africas-talking.svg' },
  175. },
  176. {
  177. id: SmsProviderIdEnum.Sendchamp,
  178. displayName: `Sendchamp`,
  179. channel: ChannelTypeEnum.SMS,
  180. credentials: sendchampConfig,
  181. docReference: `https://docs.novu.co/channels-and-providers/sms/sendchamp${UTM_CAMPAIGN_QUERY_PARAM}`,
  182. logoFileName: { light: 'sendchamp.svg', dark: 'sendchamp.svg' },
  183. },
  184. {
  185. id: SmsProviderIdEnum.GenericSms,
  186. displayName: `Generic SMS`,
  187. channel: ChannelTypeEnum.SMS,
  188. credentials: genericSmsConfig,
  189. docReference: `https://docs.novu.co/channels/sms/generic-sms${UTM_CAMPAIGN_QUERY_PARAM}`,
  190. logoFileName: { light: 'generic-sms.svg', dark: 'generic-sms.svg' },
  191. },
  192. {
  193. id: SmsProviderIdEnum.Clicksend,
  194. displayName: `Clicksend`,
  195. channel: ChannelTypeEnum.SMS,
  196. credentials: clickSendConfig,
  197. docReference: 'https://developers.clicksend.com/docs/rest/v3/?javascript--nodejs#send-sms',
  198. logoFileName: { light: 'clicksend.png', dark: 'clicksend.png' },
  199. },
  200. {
  201. id: SmsProviderIdEnum.Simpletexting,
  202. displayName: `SimpleTexting`,
  203. channel: ChannelTypeEnum.SMS,
  204. credentials: simpleTextingConfig,
  205. docReference: 'https://simpletexting.com/api/docs/v2/',
  206. logoFileName: { light: 'simpletexting.png', dark: 'simpletexting.png' },
  207. },
  208. {
  209. id: SmsProviderIdEnum.Bandwidth,
  210. displayName: `Bandwidth`,
  211. channel: ChannelTypeEnum.SMS,
  212. credentials: bandwidthConfig,
  213. betaVersion: true,
  214. docReference: 'https://dev.bandwidth.com/docs/messaging/createMessage',
  215. logoFileName: { light: 'bandwidth.png', dark: 'bandwidth.png' },
  216. },
  217. {
  218. id: SmsProviderIdEnum.AzureSms,
  219. displayName: `Azure Sms`,
  220. channel: ChannelTypeEnum.SMS,
  221. credentials: azureSmsConfig,
  222. docReference: 'https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/sms/receive-sms',
  223. logoFileName: { light: 'azure-sms.png', dark: 'azure-sms.png' },
  224. },
  225. {
  226. id: SmsProviderIdEnum.RingCentral,
  227. displayName: `RingCentral`,
  228. channel: ChannelTypeEnum.SMS,
  229. credentials: ringCentralConfig,
  230. docReference: 'https://developers.ringcentral.com/guide/messaging',
  231. logoFileName: { light: 'ring-central.svg', dark: 'ring-central.svg' },
  232. },
  233. {
  234. id: SmsProviderIdEnum.BrevoSms,
  235. displayName: `Brevo`,
  236. channel: ChannelTypeEnum.SMS,
  237. credentials: brevoSmsConfig,
  238. docReference: 'https://developers.brevo.com/reference/sendtransacsms',
  239. logoFileName: { light: 'brevo.svg', dark: 'brevo.svg' },
  240. },
  241. ];