Files
accounting/README.md

112 lines
2.4 KiB
Markdown

docker run --rm -p 3030:3000 gotenberg/gotenberg:8
## Configuration
This application is configured using a `config.json` file in the root of the project. You can use the `config.json.example` file as a starting point.
```json
{
"email": {
"smtp": {
"host": "smtp.example.com",
"port": 587,
"username": "user",
"password": "password"
},
"from": "from@example.com"
},
"pdf": {
"hostname": "http://localhost:3030"
},
"gitea": {
"url": "https://gitea.example.com",
"token": "your-gitea-token"
}
}
```
## API Endpoints
### POST /invoice
Creates a new invoice.
```bash
curl -X POST -H "Content-Type: application/json" -d '{
"debtor": {
"name": "John Doe",
"Address": {
"street": "Musterstrasse",
"number": "1",
"zipCode": "1234",
"place": "Musterstadt",
"country": "CH"
},
"contact": "john.doe@example.com"
},
"creditor": {
"name": "Jane Doe",
"Address": {
"street": "Beispielweg",
"number": "2",
"zipCode": "5678",
"place": "Beispielhausen",
"country": "CH"
},
"contact": "jane.doe@example.com",
"iban": "CH1234567890123456789"
},
"durationThreshold": "1h",
"hourlyRate": 100,
"repositories": [
"lou-taylor/accounting"
]
}' http://localhost:8080/invoice
```
### POST /invoice/send
Creates a new invoice and sends it by email.
```bash
curl -X POST -H "Content-Type: application/json" -d '{
"to": ["john.doe@example.com"],
"subject": "Invoice for project lou-taylor/accounting",
"body": "Hi John,\n\nPlease find attached the invoice for the project lou-taylor/accounting.\n\nBest regards,\nJane Doe",
"invoice": {
"debtor": {
"name": "John Doe",
"Address": {
"street": "Musterstrasse",
"number": "1",
"zipCode": "1234",
"place": "Musterstadt",
"country": "CH"
},
"contact": "john.doe@example.com"
},
"creditor": {
"name": "Jane Doe",
"Address": {
"street": "Beispielweg",
"number": "2",
"zipCode": "5678",
"place": "Beispielhausen",
"country": "CH"
},
"contact": "jane.doe@example.com",
"iban": "CH1234567890123456789"
},
"durationThreshold": "1h",
"hourlyRate": 100,
"repositories": [
"lou-taylor/accounting"
]
}
}' http://localhost:8080/invoice/send
```
```
```