nhn-toast-notification-service-custom-connector
nhn-toast-notification-service-custom-connector copied to clipboard
This is to provide Microsoft Power Platform with a custom connector for NHN Toast Notification Services including SMS/MMS and KakaoTalk messages
NHN Toast Notification Service Custom Connector
This is to provide Microsoft Power Platform with a custom connector for NHN Toast Notification Services including SMS/MMS and KakaoTalk messages.
High-Level Architecture
The elements in the green rectangle is the scope of this project.
- Azure Functions Proxy: It works as a facade to NHN Notification Services (SMS/MMS and KakaoTalk messages) to handle requests.
- Azure API Management: It aggregates all the requests from the sender and the responses from the NHN Notification Services (SMS/MMS and KakaoTalk messages).
- OpenAPI: It is a contract between Azure API Management and Azure Functions Proxy, and between Custom Connector and Azure API Management.
- Azure Monitor: Azure Monitor includes Azure Application Insights and Azure Log Analytics to monitor/trace/observe requests/responses.
Getting Started
GitHub Secrets
Following GitHub Secrets are required for CI/CD pipelines:
-
AZURE_CREDENTIALS
: Credentials that Azure issues. To get the Azure Credentials, refer to this page. -
AZURE_RESOURCE_NAME
: Resource name. For example, if your Azure Resource Group isrg-nt-dev-krc
,nt
is the resource name. -
AZURE_APP_SUFFIXES
: Comma delimited Azure Function app suffixes. For example, if your Azure Functions apps arefncapp-nt-sms-dev-krc
,sms
is the suffix. -
AZURE_LOCATION_CODE
: Location code. For example, if your Azure Resource Group isrg-nt-dev-krc
,krc
is the location code. -
AZURE_ENVIRONMENT_CODE
: Environment code. For example, if your Azure Resource Group isrg-nt-dev-krc
,dev
is the environment code.
If you want to implement multi-stage environment – ie.
DEV
,TEST
,PROD
, etc – you need to create GitHub Environment and add thisAZURE_ENVIRONMENT_CODE
secret to each GitHut Environment.
The following GitHub Secrets will be deprecated soon.
-
TOAST_APPKEY
: AppKey that NHN Toast issues. -
TOAST_SECRETKEY
: SecretKey that NHN Toast issues. -
REQUEST_ID
: Any request ID that was used to send SMS messages for testing. -
SENDER_NO
: Any registered and verified sender number for integration tests. -
RECIPIENT_NO
: Any registered and verified recipient number for integration tests.
Make sure that the
RECIPIENT_NO
is the mobile phone number authorised for testing purpose only and used with care. If you use unauthorised mobile phone numbers, you might be involved with legal actions.
Local Development
Prerequisites for Local Development
- Visual Studio 2022 or later – Windows only
- Visual Studio Code
- Azure Functions Core Tools
- PowerShell
- Azure CLI
- Power Platform CLI
- Docker Desktop
Make sure that you might need to find Docker Desktop alternatives, if you're concerned about Docker's licensing policy.
TBD
Initial Autopilot to Azure
Prerequisites for Azure
- Azure account: Get free account or get student account
Serverless Autopilot
-
Click the button below to autopilot all instances and apps on Azure. Make sure that you don't forget the app name you give.
-
Visit the following URLs to check whether all the apps have been properly provisioned and deployed.
-
https://apim-<AZURE_RESOURCE_NAME>-<AZURE_ENVIRONMENT_CODE>-<AZURE_LOCATION_CODE>.azure-api.net/sms/swagger/ui
-
https://apim-<AZURE_RESOURCE_NAME>-<AZURE_ENVIRONMENT_CODE>-<AZURE_LOCATION_CODE>.azure-api.net/sms/verify/swagger/ui
-
AKS Autopilot
TBD
Initial Autopilot to NHN Cloud
Prerequisites for NHN Cloud
- NHN Cloud account: Get free account
NKS Autopilot
TBD
Power Platform Integration
Prerequisites for Power Platform
- Microsoft 365 Developer account: Get developer account
- Power Platform Developer account: Get developer account
TBD