While develping software applications it is recommended to do in stages. It helps to isolate changes before they are open for your end users. In most typical software development cycles, one would generally take it development to testing to production. When code is running in context of this stage, it would be referred to as an "environment".
Each environment might even run in different servers, have different databases. Broadly it is suggested to use following environments:
- Development (also referred as dev) : This is usually developers development machine or an isolated cloud hosted machine where code of the application is built and tested. Sending emails, sms etc., are usually mocked and not actually delivered to users.
- Staging (also known as uat, beta) : This is hosted in cloud for testers, product owners and other stakeholders to test. Some services might be mocked even in this environment.
- Production (also referred as prod) : This is hosted in cloud for end users, it is the most perfect possible version of code. Nothing is mocked in this environment.
In order to facilitate replication of above infrastructure, Neptune insists you send events to an Environment. You can go to "Environments" -> "Create"
You can create as many environments as possible. Mostly you should be able to do with dev, staging, production.
Environments also help you to manage permissions of team members and api tokens too.
If you opt to Mock an Environment, rest assured it won't send out any deliveries but would still render the final content and show you the preview.
That helps you not worry about configuring providers from Day 1, just focus on firing events.