Eventos
A API de eventos disponibiliza métodos eficientes para acessar informações, incorporando recursos avançados de filtragem e pesquisa detalhada. Essas funcionalidades aprimoram a gestão dos dados, apoiando decisões mais informadas.
Introdução
Nesta documentação, detalhamos os campos que você pode esperar manipular ao interagir com a API. Cada campo é descrito para esclarecer sua função e o tipo de dado esperado, como nome, contato, e informações demográficas, garantindo que você possa fornecer ou obter informações precisas.
As URLs da API são especificadas para cada operação possível, desde a listagem de todos os eventos. Ao seguir as URLs e métodos HTTP detalhados, você será capaz de realizar a visualização de forma intuitiva e eficaz.
Veja abaixo:
URLs
| Método | URL | Ação | Descrição |
|---|---|---|---|
| GET | /api/v1/events | Listar | Lista todos os eventos |
| GET | /api/v1/events/{id} | Visualizar | Exibe um determinado evento pelo ID |
Campos
Abaixo estão os campos disponíveis na API:
💡 Nota importante: Quando um evento possui um local cadastrado vinculado (
idlocalevento> 0), os campos de endereço (endereco,numero,complemento,cep,bairro,cidade,estado) são preenchidos automaticamente com as informações do local cadastrado em "Meus Locais".
| Campo | Tipo | Descrição |
|---|---|---|
| tipoEvento | string | Tipo do evento (ex: Casamento, Almoço) |
| datadecadastro | date | Data de cadastro do evento |
| idorcamento | integer | ID do orçamento relacionado |
| idcliente | integer | ID do cliente |
| nomeCliente | string | Nome do cliente |
| dataevento | date | Data do evento |
| horaevento | time | Hora do evento |
| localevento | string | Nome do local do evento |
| nomeevento | string | Nome/Título do evento |
| idlocalevento | integer | ID do local do evento (0 = sem local cadastrado) |
| endereco | string | Endereço do evento (preenchido automaticamente quando idlocalevento > 0) |
| numero | string | Número do endereço (preenchido automaticamente quando idlocalevento > 0) |
| complemento | string | Complemento do endereço (preenchido automaticamente quando idlocalevento > 0) |
| cep | string | CEP do local (preenchido automaticamente quando idlocalevento > 0) |
| bairro | string | Bairro do local (preenchido automaticamente quando idlocalevento > 0) |
| cidade | string | Cidade do evento (preenchida automaticamente quando idlocalevento > 0) |
| estado | string | Estado do evento (preenchido automaticamente quando idlocalevento > 0) |
| informacoes | text | Informações adicionais |
| observacao | text | Observações gerais |
| codigointerno | string | Código interno do evento |
| convidados | integer | Número de convidados |
| datasAdicionais | array | Datas adicionais do evento |
| status | string | Status do evento |
Listar
Endpoint: /api/v1/events
Método: GET
Retorna uma lista de todos os eventos. Suporta busca e paginação para gerenciar grandes volumes de dados.
Ordenação
Para melhorar a experiência de visualização dos dados, oferecemos suporte à ordenação de registros. Você pode especificar a ordenação dos dados através de dois parâmetros:
Parâmetros:
sort: Define a direção da ordenação. Valores permitidos:ascpara ascendente,descpara descendente.field_sort: Especifica o campo pelo qual os registros devem ser ordenados, você pode consultar os campos disponíveis clicando aqui.
Exemplo de Uso: Para ordenar os eventos pelo nome em ordem ascendente: /api/v1/events?field_sort=nomeevento&sort=asc
Busca por período
A busca por período entre datas é fundamental para a gestão eficiente de dados, especialmente quando trabalhamos com grandes volumes. Ao definir um intervalo de datas, podemos limitar o número de registros retornados, reduzindo o tempo de processamento e aprimorando a usabilidade do sistema.
Parâmetros:
start: Especifica o campo que define a data de início para o filtro, deve ser enviada no formato Y-m-d.end: Especifica o campo que define a data de fim para o filtro, deve ser enviada no formato Y-m-d
Exemplo de Uso: Para filtrar os eventos por período: /api/v1/events?start=2024-07-01&end=2024-07-30
Paginação
A paginação é essencial para o gerenciamento eficiente dos dados, especialmente quando lidamos com grandes volumes. Cada página pode conter um número definido de registros, reduzindo o tempo de carregamento e melhorando a usabilidade.
Parâmetro:
page: Número da página desejada.limit(opcional): Número de registros por página, o limite e de até 200 registros.
Exemplo de Uso: Para acessar a segunda página de registros: /api/v1/events?page=2&limit=10
Buscar
Nossa API oferece buscas detalhadas no cadastro de eventos, permitindo a fácil localização de registros específicos. A busca é realizada nos campos listados na tabela abaixo, otimizando o processo de consulta sem necessidade de especificar os campos manualmente.
Parâmetro:
search: Valor a ser pesquisado.
Tipos de Busca:
Campos Pesquisados: Informações, Observação, Nome do evento, Nome Cliente
Exemplo de Uso: Para buscar eventos pelos campos acima: /api/v1/events?search=Nome Cliente
Resumo
Utilizar as funcionalidades de Ordenação, Paginação e Buscar em conjunto permite uma manipulação eficiente e precisa dos dados na nossa API. Por exemplo, para listar eventos por um nome específico, ordenados pelo ID, e exibir apenas os primeiros 10 resultados, você pode usar a seguinte URL:
/api/v1/events?search=Jonathan&field_sort=id&sort=desc&page=1&limit=10
Para realizar uma busca por período, adicione os parâmetros start e date.
/api/v1/events?search=Jonathan&start=2024-07-01&end=2024-07-30&field_sort=id&sort=desc&page=1&limit=10
Response:
{
"data": [
{
"id": "1084",
"caracteristica": null,
"tipoEvento": "Almoço ",
"datadecadastro": "2024-03-04",
"idorcamento": "0",
"idcliente": "1216",
"nomeCliente": "Teste cliente nome",
"dataevento": "2030-08-08",
"horaevento": "00:00:00",
"localevento": "Salão de Festas Paradise",
"nomeevento": "Teste Jonathan",
"idlocalevento": "159",
"endereco": "Rua das Palmeiras, 1234",
"numero": "1234",
"complemento": "Salão Principal",
"cep": "30112-000",
"bairro": "Centro",
"cidade": "Belo Horizonte",
"estado": "MG",
"informacoes": "teste 2323",
"observacao": "",
"codigointerno": "",
"convidados": "100",
"datasAdicionais": [
{
"fim": "2030-08-10 15:00:00",
"inicio": "2030-08-10 08:00:00"
},
{
"fim": "2030-08-09 15:00:00",
"inicio": "2030-08-09 08:00:00"
},
{
"fim": "2024-07-07 00:00:00",
"inicio": "2024-07-07 00:00:00"
},
{
"fim": "2024-07-06 00:00:00",
"inicio": "2024-07-06 00:00:00"
},
{
"fim": "2024-07-05 00:00:00",
"inicio": "2024-07-05 00:00:00"
},
{
"fim": "2024-07-04 00:00:00",
"inicio": "2024-07-04 00:00:00"
},
{
"fim": "2024-07-03 00:00:00",
"inicio": "2024-07-03 00:00:00"
},
{
"fim": "2024-07-02 00:00:00",
"inicio": "2024-07-02 00:00:00"
}
],
"status": "Eventos Anteriores" // Define categoria que o evento se encontra, (controle interno do sistema), tipos possíveis "Próximos Eventos", "Eventos Anteriores", "Cancelado"
}
],
"pagination": {
"page": 1, // Página atual
"page_size": 200, // Quantidade de registros exibida por pagina
"total_page": 1, // Quantidade de paginas no total
"total_data": 1 // Quantidade total de registros encontrados
}
}Visualizar
Endpoint: /api/v1/events/{id}
Método: GET
Para visualizar as informações de um evento, você pode fazer uma solicitação GET para endpoint acima. Não é necessário fornecer informações no corpo da solicitação, já que você estará apenas recuperando dados. O ID do cliente a ser consultado deve ser especificado no endpoint.
Response:
{
"id": "1",
"caracteristica": null,
"tipoEvento": "Casamento",
"datadecadastro": "2018-11-29",
"idorcamento": "0",
"idcliente": "1186",
"nomeCliente": "Jonathan Moreira Brambati",
"dataevento": "2019-04-20",
"horaevento": "11:26:00",
"localevento": "Mineirão ",
"nomeevento": "Casamento Giselle e Tiago",
"idlocalevento": "158",
"endereco": "Avenida Antônio Abrahão Caram",
"numero": "1001",
"complemento": "",
"cep": "31275-000",
"bairro": "São José",
"cidade": "BH",
"estado": "MG",
"informacoes": "Teste",
"observacao": "",
"codigointerno": "",
"convidados": "100",
"datasAdicionais": null,
"status": "Cancelado"
}Criar
Endpoint: /api/v1/events
Método: POST
Para criar um novo evento, você deve fazer uma solicitação POST para o endpoint acima. Os dados devem ser enviados no corpo da requisição em formato JSON.
Campos Obrigatórios:
idcliente: ID do clientetipoevento: ID do tipo de eventonomeevento: Nome/título do eventodataevento: Data do evento (formato: Y-m-d)idvendedor: ID do vendedor responsável
Campos Opcionais:
horaevento: Hora de início (formato: HH:MM:SS)horaeventofim: Hora de fim (formato: HH:MM:SS)localevento: Nome do localidlocalevento: ID do local cadastradoidorcamento: ID de um orçamento para ser vinculado ao eventoendereco: Endereço do eventonumero: Número do endereçocomplemento: Complementobairro: Bairrocidade: Cidadeestado: Estadocep: CEPpais: Paísobservacao: Observações geraisobs2,obs3,obs4: Observações adicionaisnconvidados: Número de convidadoscomoconheceu: Como conheceu a empresacodigointerno: Código internodatasAdicionais: Array de datas adicionais
Exemplo de Requisição:
{
"idcliente": 1216,
"tipoevento": 2,
"nomeevento": "Casamento Maria e João",
"dataevento": "2024-12-25",
"idvendedor": 1,
"horaevento": "18:00:00",
"horaeventofim": "23:00:00",
"idorcamento": 1,
"localevento": "Salão de Festas Central",
"endereco": "Rua das Flores, 123",
"numero": "123",
"bairro": "Centro",
"cidade": "São Paulo",
"estado": "SP",
"cep": "01234-567",
"nconvidados": 150,
"observacao": "Cerimônia ao ar livre",
"datasAdicionais": [
{
"inicio": "2024-12-24 14:00:00",
"fim": "2024-12-24 18:00:00",
"idLocal": 1,
"idTag": 10,
"informacoes": "Ensaio da cerimônia"
},
{
"inicio": "2024-12-26 08:00:00",
"fim": "2024-12-26 12:00:00",
"informacoes": "Desmontagem"
}
]
}Response de Sucesso:
{
"status": "success",
"message": "Evento cadastrado com sucesso.",
"data": {
"id": "1085",
"caracteristica": null,
"tipoEvento": "Casamento",
"datadecadastro": "2024-01-15",
"idorcamento": "0",
"idcliente": "1216",
"nomeCliente": "Maria Silva",
"dataevento": "2024-12-25",
"horaevento": "18:00:00",
"localevento": "Salão de Festas Central",
"nomeevento": "Casamento Maria e João",
"idlocalevento": "0",
"endereco": "Rua das Flores, 123",
"numero": "123",
"complemento": "",
"cep": "01234-567",
"bairro": "Centro",
"cidade": "São Paulo",
"estado": "SP",
"informacoes": "",
"observacao": "Cerimônia ao ar livre",
"codigointerno": "",
"convidados": "150",
"status": "Próximos Eventos"
}
}Observações:
- A API verifica se cliente, tipo de evento e vendedor existem antes de criar
- Preenchimento automático de endereço: Quando informado
idlocalevento(local cadastrado), os campos de endereço (endereco,numero,complemento,bairro,cidade,estado,cep) são preenchidos automaticamente com os dados do local cadastrado. Se informados manualmente junto comidlocalevento, os valores manuais têm prioridade - Local sem cadastro: Para eventos em locais não cadastrados, deixe
idlocaleventovazio ou 0 e preencha os campos de endereço manualmente