From c9c6d2d5476840116a2df482ee064303ca99ae43 Mon Sep 17 00:00:00 2001 From: tejas Date: Fri, 3 Feb 2023 14:01:24 -0800 Subject: [PATCH] feat: onboard courier destination --- .../destination/destinationList/COURIER.json | 18 ++++++++++ .../destination/destinationList/dst.ts | 5 ++- .../destinationSettings.json | 17 ++++++++++ .../destinationsConfigure/COURIER.md | 18 ++++++++++ .../destinationsConfigure/index.tsx | 1 + src/components/icons/destinationIcon.tsx | 5 ++- src/icons/svg/courier.svg | 5 +++ src/stores/destinations.json | 33 ++++++++++++++++++- 8 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 src/components/destination/destinationList/COURIER.json create mode 100644 src/components/destinationsCatalogue/destinationsConfigure/COURIER.md create mode 100644 src/icons/svg/courier.svg diff --git a/src/components/destination/destinationList/COURIER.json b/src/components/destination/destinationList/COURIER.json new file mode 100644 index 0000000..ba4ccec --- /dev/null +++ b/src/components/destination/destinationList/COURIER.json @@ -0,0 +1,18 @@ +[ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "inputFieldType": "password", + "secret": true, + "footerNote": "Your API Key", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g: pk_prod_1BR12G4ZH94WNXMYFCTZR8ES62GP" + } + ] + } +] diff --git a/src/components/destination/destinationList/dst.ts b/src/components/destination/destinationList/dst.ts index a91727b..b9319dc 100644 --- a/src/components/destination/destinationList/dst.ts +++ b/src/components/destination/destinationList/dst.ts @@ -21,6 +21,7 @@ const destinationList = { CLEVERTAP: require('./CLEVERTAP.json'), CLICKHOUSE: require('./CLICKHOUSE.json'), CONFLUENT_CLOUD: require('./CONFLUENT_CLOUD.json'), + COURIER: require('./COURIER.json'), CRITEO: require('./CRITEO.json'), CUSTOMERIO: require('./CUSTOMERIO.json'), DELIGHTED: require('./DELIGHTED.json'), @@ -105,6 +106,4 @@ const destinationList = { ZENDESK: require('./ZENDESK.json'), }; -export { - destinationList -} +export { destinationList }; diff --git a/src/components/destination/destinationSettings/destinationSettings.json b/src/components/destination/destinationSettings/destinationSettings.json index 218c8c7..f401b21 100644 --- a/src/components/destination/destinationSettings/destinationSettings.json +++ b/src/components/destination/destinationSettings/destinationSettings.json @@ -3489,5 +3489,22 @@ } ] } + ], + "COURIER": [ + { + "title": "Connection credentials", + "fields": [ + { + "type": "textInput", + "label": "Courier API Key", + "value": "apiKey", + "inputFieldType": "password", + "regex": ".*", + "required": true, + "placeholder": "e.g: pk_prod_1BR12G4ZH94WNXMYFCTZR8ES62GP", + "secret": true + } + ] + } ] } diff --git a/src/components/destinationsCatalogue/destinationsConfigure/COURIER.md b/src/components/destinationsCatalogue/destinationsConfigure/COURIER.md new file mode 100644 index 0000000..62db0af --- /dev/null +++ b/src/components/destinationsCatalogue/destinationsConfigure/COURIER.md @@ -0,0 +1,18 @@ +## Courier + +Courier is an API and web studio for development teams to manage all product-triggered communications (email, chat, in-app, SMS, push, etc.) in one place. + +### Get More Out of Courier With RudderStack + +RudderStack now supports Courier as a destination to seamlessly send your event data in real-time. + +### Useful Links + +[Courier Website][] +[Documentation and Setup guide][] +[View on GitHub][] + +[//]: # "These are reference links used in the body of this note and get stripped out when the markdown processor does its job. There is no need to format nicely because it shouldn't be seen. Thanks SO - http://stackoverflow.com/questions/4823468/store-comments-in-markdown-syntax" +[courier website]: https://www.courier.com +[documentation and setup guide]: https://docs.rudderstack.com/destinations/courier +[view on github]: https://github.com/rudderlabs/rudder-transformer/tree/master/v0/destinations/courier diff --git a/src/components/destinationsCatalogue/destinationsConfigure/index.tsx b/src/components/destinationsCatalogue/destinationsConfigure/index.tsx index 421ed50..786bb94 100644 --- a/src/components/destinationsCatalogue/destinationsConfigure/index.tsx +++ b/src/components/destinationsCatalogue/destinationsConfigure/index.tsx @@ -34,6 +34,7 @@ const markdown = { CLICKHOUSE: raw('./CLICKHOUSE.md'), COMSCORE: raw('./COMSCORE.md'), CONFLUENT_CLOUD: raw('./CONFLUENT_CLOUD.md'), + COURIER: raw('./COURIER.md'), CRITEO: raw('./CRITEO.md'), CUSTOMERIO: raw('./CUSTOMERIO.md'), DELIGHTED: raw('./DELIGHTED.md'), diff --git a/src/components/icons/destinationIcon.tsx b/src/components/icons/destinationIcon.tsx index 90e2dcd..47d6aae 100644 --- a/src/components/icons/destinationIcon.tsx +++ b/src/components/icons/destinationIcon.tsx @@ -106,6 +106,7 @@ import { ReactComponent as SENDGRID } from '@svg/sendgrid.svg'; import { ReactComponent as SENTRY } from '@svg/sentry.svg'; import { ReactComponent as SNAP_PIXEL } from '@svg/snap_pixel.svg'; import { ReactComponent as TRENGO } from '@svg/trengo.svg'; +import { ReactComponent as COURIER } from '@svg/courier.svg'; import theme from '@css/theme'; @@ -301,7 +302,7 @@ const DestinationIcon = (props: any) => { case 'pinterest_tag': return ; case 'pendo': - return + return ; case 'twitter_ads': return ; case 'taplytics': @@ -328,6 +329,8 @@ const DestinationIcon = (props: any) => { return ; case 'active_campaign': return ; + case 'courier': + return ; default: break; } diff --git a/src/icons/svg/courier.svg b/src/icons/svg/courier.svg new file mode 100644 index 0000000..6ccac0d --- /dev/null +++ b/src/icons/svg/courier.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/stores/destinations.json b/src/stores/destinations.json index 22de8aa..e5f20f3 100644 --- a/src/stores/destinations.json +++ b/src/stores/destinations.json @@ -2776,5 +2776,36 @@ "displayName": "Trengo", "createdAt": "2019-09-02T08:08:05.613Z", "updatedAt": "2021-10-20T18:06:26.219Z" + }, + { + "config": { + "destConfig": { + "defaultConfig": [ + "apiKey" + ] + }, + "secretKeys": [ + "apiKey" + ], + "excludeKeys": [], + "includeKeys": [], + "transformAt": "processor", + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative" + ], + "saveDestinationResponse": false + }, + "responseRules": null, + "id": "1zlRBmGgUoB9FLKzbJPP6F6QWQv", + "name": "COURIER", + "displayName": "Courier", + "createdAt": "2023-02-03T21:56:28.114Z", + "updatedAt": "2023-02-03T21:56:28.114Z" } -] \ No newline at end of file +]