Projeto desenvolvido como parte do desafio final no HiringCoders Gama Academy VTEX.
Endpoint para listagem de todos os Leads cadastrados, aceita os seguintes query parameters:
- uuid - UUID do Lead
- nome - Nome do Lead
- email - E-mail do Lead
- telefone - Telefone do Lead
- status - Status do Lead (Prospecto ou Cliente)
Códigos Http de Retorno Possíveis:
- 200 - OK
[
{
"dataCadastro": "25/08/2021 21:25:19",
"telefone": "8799999999",
"status": "Prospecto",
"uuid": "5d0c266a-f8ee-4f80-8cc0-a719c0fe10a6",
"nome": "André",
"email": "[email protected]",
"dataConversao": null
},
{
"dataCadastro": "25/08/2021 20:13:33",
"status": "Cliente",
"telefone": "8799999999",
"uuid": "2c996c7e-4b14-4c05-84cb-41ece7d7184f",
"nome": "João",
"email": "[email protected]",
"dataConversao": "25/08/2021 20:13:57"
}
]
Endpoint para obter um único Lead pelo seu UUID
Códigos Http de Retorno Possíveis:
- 200 - OK
- 404 - NOT FOUND
{
"dataCadastro": "25/08/2021 21:25:19",
"status": "Cliente",
"telefone": "8799999999",
"uuid": "5d0c266a-f8ee-4f80-8cc0-a719c0fe10a6",
"nome": "André",
"email": "[email protected]",
"dataConversao": "25/08/2021 21:33:19"
}
Endpoint para cadastrar um novo Lead
{
"nome": "Marcos",
"email": "[email protected]",
"telefone": "8799999999"
}
Códigos Http de Retorno Possíveis:
- 201 - CREATED
- 400 - BAD REQUEST (Nome, E-mail e Telefone são obrigatórios)
- 409 - CONFLICT (E-mail já cadastrado)
{
"uuid": "91faae4e-0c3f-49b1-8475-a004504f7c4f",
"nome": "Marcos",
"email": "[email protected]",
"telefone": "8799999999",
"status": "Prospecto",
"dataCadastro": "25/08/2021 22:01:27",
"dataConversao": null
}
Endpoint para atualizar dados cadastrais de um Lead
{
"nome": "Marcos",
"email": "[email protected]",
"telefone": "8799999999"
}
Códigos Http de Retorno Possíveis:
- 200 - OK
- 400 - BAD REQUEST (Nome, E-mail e Telefone são obrigatórios)
- 404 - NOT FOUND (Lead não encontrado)
- 409 - CONFLICT (E-mail já cadastrado)
{
"uuid": "91faae4e-0c3f-49b1-8475-a004504f7c4f",
"nome": "Marcos",
"email": "[email protected]",
"telefone": "8799999999",
"status": "Prospecto",
"dataCadastro": "25/08/2021 22:01:27",
"dataConversao": null
}
Endpoint para excluir um Lead
Códigos Http de Retorno Possíveis:
- 204 - NO CONTENT
- 404 - NOT FOUND (Lead não encontrado)
Endpoint para converter um Lead de Prospecto para Cliente
Códigos Http de Retorno Possíveis:
- 200 - OK
- 400 - BAD REQUEST (Lead já convertido)
- 404 - NOT FOUND (Lead não encontrado)
{
"dataCadastro": "25/08/2021 21:25:19",
"status": "Cliente",
"telefone": "8799999999",
"uuid": "5d0c266a-f8ee-4f80-8cc0-a719c0fe10a6",
"nome": "André",
"email": "[email protected]",
"dataConversao": "25/08/2021 21:33:19"
}
Basta seguir este tutorial da AWS: https://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/http-api-dynamo-db.html utilizando a função lambda deste projeto;
Prestando atenção ao nome da tabela no DynamoDB que deve ser acct-leads e o id deve se chamar uuid do tipo String;
Prestar atenção também na configuração das Rotas na AWS e realizar conforme esse README.md;
Desenvolvido por Douglas Rodrigues 👋🏽 Entre em contato!