Skip to content

Commit 5b9296d

Browse files
docs: add batch certificate creation section to README.md
- Introduced documentation for the new endpoint `POST /v1/certificate/create-batch` to create multiple certificates from a list of data. - Included details on required and optional fields, as well as example request and response formats.
1 parent 7358add commit 5b9296d

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

README.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,91 @@ Cria um novo certificado para um determinado produto.
4646
}
4747
```
4848

49+
### Criar Certificados em Lote
50+
51+
Cria múltiplos certificados a partir de uma lista de dados recebida diretamente.
52+
53+
- **Endpoint:** `POST /v1/certificate/create-batch`
54+
- **Entrada (body):**
55+
```json
56+
{
57+
"certificates": [
58+
{
59+
"order_id": 1234,
60+
"first_name": "João",
61+
"last_name": "Silva",
62+
"email": "[email protected]",
63+
"phone": "(48) 99999-9999",
64+
"cpf": "123.456.789-00",
65+
"city": "Florianópolis",
66+
"product_id": 5678,
67+
"product_name": "Workshop de Python Avançado",
68+
"certificate_details": "In recognition of their participation in the Workshop de Python Avançado, held on January 15, 2025, at IFSC – Câmpus Florianópolis, Brazil, with a total duration of 8 hours.",
69+
"certificate_logo": "https://example.com/logo.png",
70+
"certificate_background": "https://example.com/background.png",
71+
"order_date": "2025-01-10 14:30:00",
72+
"checkin_latitude": "-27.5667",
73+
"checkin_longitude": "-48.5156",
74+
"time_checkin": "2025-01-15 09:00:00"
75+
},
76+
{
77+
"order_id": 1235,
78+
"first_name": "Maria",
79+
"last_name": "Santos",
80+
"email": "[email protected]",
81+
"phone": "(48) 88888-8888",
82+
"cpf": "987.654.321-00",
83+
"city": "São José",
84+
"product_id": 5678,
85+
"product_name": "Workshop de Python Avançado",
86+
"certificate_details": "In recognition of their participation in the Workshop de Python Avançado, held on January 15, 2025, at IFSC – Câmpus Florianópolis, Brazil, with a total duration of 8 hours.",
87+
"certificate_logo": "https://example.com/logo.png",
88+
"certificate_background": "https://example.com/background.png",
89+
"order_date": "2025-01-10 14:35:00",
90+
"checkin_latitude": "-27.5667",
91+
"checkin_longitude": "-48.5156",
92+
"time_checkin": "2025-01-15 09:05:00"
93+
}
94+
]
95+
}
96+
```
97+
- **Campos obrigatórios:**
98+
- `order_id`: ID único do pedido (integer)
99+
- `first_name`: Primeiro nome do participante (string)
100+
- `last_name`: Sobrenome do participante (string)
101+
- `email`: Email do participante (string)
102+
- `phone`: Telefone do participante (string)
103+
- `cpf`: CPF do participante (string, pode ser vazio)
104+
- `city`: Cidade do participante (string)
105+
- `product_id`: ID do produto (integer)
106+
- `product_name`: Nome do produto (string)
107+
- `certificate_details`: Detalhes do certificado (string)
108+
- `certificate_logo`: URL do logo do certificado (string)
109+
- `certificate_background`: URL do background do certificado (string)
110+
- `order_date`: Data do pedido no formato "YYYY-MM-DD HH:MM:SS" (string)
111+
- **Campos opcionais:**
112+
- `checkin_latitude`: Latitude do check-in (string, opcional)
113+
- `checkin_longitude`: Longitude do check-in (string, opcional)
114+
- `time_checkin`: Data e hora do check-in no formato "YYYY-MM-DD HH:MM:SS" (string, opcional)
115+
- **Nota:** Certificados sem `time_checkin` serão marcados como inválidos e não serão processados.
116+
- **Saída (sucesso):**
117+
```json
118+
{
119+
"certificate_quantity": 2,
120+
"existing_orders": [],
121+
"new_orders": [1234, 1235],
122+
"processing_date": "2025-01-20 10:30:45.123456"
123+
}
124+
```
125+
- **Saída (erro):**
126+
```json
127+
{
128+
"status": 500,
129+
"message": "Internal Server Error",
130+
"details": "string"
131+
}
132+
```
133+
49134
### Consultar Certificado
50135

51136
Consulta certificados com base em diferentes critérios.

0 commit comments

Comments
 (0)