> For the complete documentation index, see [llms.txt](https://cross-packages.gitbook.io/cross-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cross-packages.gitbook.io/cross-api/pt-br/providers.md).

# Provedores

Provedores são implementações de serviços que auxiliam nas regras de negócio do seu projeto. Eles podem conter uma ou mais implementações, você decide qual usar, para alternar a chave em .env.

Para usar um provedor na sua lógica de negócios basta injetar o seu token com o tsyinge:

```typescript
import { IProvider } from '@shared/container/providers/Provider/models/IProvider';
import { injectable, inject } from 'tsyringe';

@injectable()
export class ExampleService {
  public constructor(
    @inject('Provider')
    private readonly provider: IProvider,
  ) {}

  public async execute(): Promise<void> {
    try {
      this.provider.doSomething();
    } catch (error: unknown) {
      throw error;
    }
  }
}
```
