97 lines
3.3 KiB
Markdown
97 lines
3.3 KiB
Markdown
![]() |

|
||
|
|
||
|
<div align="center">
|
||
|
<h1>Emails and messages</h1>
|
||
|
</div>
|
||
|
|
||
|
### What's included?
|
||
|
|
||
|
- sending emails via SMTP
|
||
|
- MJML template support
|
||
|
- supported messages:
|
||
|
- order
|
||
|
- created
|
||
|
- confirmed
|
||
|
- cancelled
|
||
|
- fully fulfilled
|
||
|
- fully paid
|
||
|
- invoice
|
||
|
- sent
|
||
|
|
||
|
### How to install
|
||
|
|
||
|
- start local dev server or deploy the application
|
||
|
- install the application in your Saleor Instance using manifest URL
|
||
|
- configure the application in the dashboard
|
||
|
|
||
|
### Learn more about Apps
|
||
|
|
||
|
[Apps guide](https://docs.saleor.io/docs/3.x/developer/extending/apps/key-concepts)
|
||
|
|
||
|
[Configuring apps in dashboard](https://docs.saleor.io/docs/3.x/dashboard/apps)
|
||
|
|
||
|
## Development
|
||
|
|
||
|
### Requirements
|
||
|
|
||
|
Before you start, make sure you have installed:
|
||
|
|
||
|
- [Node.js](https://nodejs.org/en/)
|
||
|
- [pnpm](https://pnpm.io/)
|
||
|
- [Saleor CLI](https://docs.saleor.io/docs/3.x/cli) - optional, but recommended
|
||
|
|
||
|
1. Install the dependencies by running:
|
||
|
|
||
|
```
|
||
|
pnpm install
|
||
|
```
|
||
|
|
||
|
2. Start the local server with:
|
||
|
|
||
|
```
|
||
|
pnpm dev
|
||
|
```
|
||
|
|
||
|
3. Expose local environment using tunnel:
|
||
|
|
||
|
- Use Saleor CLI `saleor app tunnel`
|
||
|
- Use tunneling tools like [localtunnel](https://github.com/localtunnel/localtunnel) or [ngrok](https://ngrok.com/).
|
||
|
|
||
|
4. Install application at your dashboard:
|
||
|
|
||
|
If you use Saleor Cloud or your local server is exposed, you can install your app by following this link:
|
||
|
|
||
|
```
|
||
|
[YOUR_SALEOR_DASHBOARD_URL]/apps/install?manifestUrl=[YOUR_APP_TUNNEL_MANIFEST_URL]
|
||
|
```
|
||
|
|
||
|
This template host manifest at `/api/manifest`
|
||
|
|
||
|
You can also install application using GQL or command line. Follow the guide [how to install your app](https://docs.saleor.io/docs/3.x/developer/extending/apps/installing-apps#installation-using-graphql-api) to learn more.
|
||
|
|
||
|
5. Start the dev SMTP server
|
||
|
|
||
|
```bash
|
||
|
docker compose up
|
||
|
```
|
||
|
|
||
|
All emails will be captured by the MailHog service. To inspect emails, open `http://localhost:8025/` in your browser.
|
||
|
|
||
|
### Generated schema and typings
|
||
|
|
||
|
Commands `build` and `dev` would generate schema and typed functions using Saleor's GraphQL endpoint. Commit the `generated` folder to your repo as they are necessary for queries and keeping track of the schema changes.
|
||
|
|
||
|
[Learn more](https://www.graphql-code-generator.com/) about GraphQL code generation.
|
||
|
|
||
|
### Storing registration data - APL
|
||
|
|
||
|
During registration process Saleor API pass the auth token to the app. With this token App can query Saleor API with privileged access (depending on requested permissions during the installation).
|
||
|
To store this data, app-template use a different [APL interfaces](https://github.com/saleor/saleor-app-sdk/blob/main/docs/apl.md).
|
||
|
|
||
|
The choice of the APL is done using `APL` environment variable. If value is not set, FileAPL is used. Available choices:
|
||
|
|
||
|
- `file`: no additional setup is required. Good choice for local development. Can't be used for multi tenant-apps or be deployed (not intended for production)
|
||
|
- `upstash`: use [Upstash](https://upstash.com/) Redis as storage method. Free account required. Can be used for development and production and supports multi-tenancy. Requires `UPSTASH_URL` and `UPSTASH_TOKEN` environment variables to be set
|
||
|
|
||
|
If you want to use your own database, you can implement your own APL. [Check the documentation to read more.](https://github.com/saleor/saleor-app-sdk/blob/main/docs/apl.md)
|