diff --git a/src/app/register-user/page.mdx b/src/app/register-user/page.mdx new file mode 100644 index 0000000..da38aef --- /dev/null +++ b/src/app/register-user/page.mdx @@ -0,0 +1,121 @@ +export const metadata = { + title: 'Register User API', + description: 'Aprenda sobre a API de cadastro de usuários do Codante.io e como utilizá-la em seus projetos.', +} + +# Register User API (Cadastro de Usuário) + +A API de Cadastro de Usuário é uma API que simula a **validação** e **cadastro** de um usuário. Ela é utilizada pelo Mini Projeto [Formulário Dinâmico com React Hook Form e Zod](https://codante.io/mini-projetos/formulario-dinamico-com-react-hook-form-e-zod) .{{ className: 'lead' }} + +Trata-se de um único endpoint que irá validar dados pessoais de um suposto usuário de uma aplicação.{{ className: 'lead' }} + +## Autenticação + +A API de pedidos do Codante.io não requer autenticação para acessar os pedidos. + +## Rate Limit + +A API de Cadastro de Usuário do Codante.io possui um limite de taxa de 100 solicitações por minuto. Se você exceder esse limite, receberá um código de status 429. O uso indiscriminado também poderá levar ao bloqueio do seu IP. + +## Base URL + +A URL base para a API de pedidos do Codante.io é `https://apis.codante.io/api/register-user`. + + +--- + +## Cadastro de Usuário {{ tag: 'POST', label: '/register-user/register' }} + + + + +Este é o único endpoint da API e irá validar os dados de cadastro bem como simular um cadastro caso os dados estejam corretos. + + ### Atributos obrigatórios + + + + Nome completo do usuário. + + + Email do usuário. + + + Senha do usuário. + + + Confirmação da senha do usuário. Deve ser igual à senha. Deverá ter no mínimo 8 caracteres. + + + CPF do usuário. Deverá ser um CPF válido no formato `000.000.000-00`. + + + Telefone do usuário. Deverá ser um telefone no formato `(00) 00000-0000`. + + + CEP do usuário. Deverá ser um CEP válido no formato `00000-000`. + + + Endereço do usuário. + + + Cidade do usuário. + + + Cidade do usuário. + + + + + + + + + + + ```bash {{ title: 'cURL' }} + curl -G https://apis.codante.io/api/orders-api/orders \ + -d page=1 + ``` + + ```js + const response = await fetch('https://apis.codante.io/api/register-user/register', { + method: 'POST', + body: JSON.stringify({ + name: 'Benjamin Pacheco', + email: 'teste@teste.com', + password: '123456', + password_confirmation: '123456', + cpf: '123.456.789-00', + phone: '(11) 99999-9999', + zipcode: '12345-678', + address: 'Rua Teste', + city: 'São Paulo', + }) + const result = await response.json() + ``` + + + +```json {{ title: 'Response' }} +{ + "message": "User registered.", + "user": { + "name": "João Silva", + "email": "joao.silva@example.com", + "password": "senhaSegura123", + "password_confirmation": "senhaSegura123", + "terms": true, + "phone": "11987654321", + "cpf": "350.519.788-27", + "zipcode": "12345-670", + "address": "Rua Exemplo, 123", + "city": "Cidade Exemplo" + } +} +``` + + + + + diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx index 3abeb51..db37637 100644 --- a/src/components/Navigation.tsx +++ b/src/components/Navigation.tsx @@ -246,6 +246,7 @@ export const navigation: Array = [ links: [ // { title: 'Frases Motivacionais', href: '/frases-motivacionais' }, { title: 'Orders API (Pedidos)', href: '/orders-api' }, + { title: 'API de Cadastro de Usuário', href: '/register-user' }, ], }, ] diff --git a/src/components/Resources.tsx b/src/components/Resources.tsx index 2d249c8..70cf49e 100644 --- a/src/components/Resources.tsx +++ b/src/components/Resources.tsx @@ -42,20 +42,20 @@ const resources: Array = [ ], }, }, - // { - // href: '/conversations', - // name: 'Conversations', - // description: - // 'Learn about the conversation model and how to create, retrieve, update, delete, and list conversations.', - // icon: ChatBubbleIcon, - // pattern: { - // y: -6, - // squares: [ - // [-1, 2], - // [1, 3], - // ], - // }, - // }, + { + href: '/register-user', + name: 'Api de Cadastro de Usuário', + description: + 'Um endpoint simples para validar e simular o cadastro de usuários em sua aplicação.', + icon: UserIcon, + pattern: { + y: -6, + squares: [ + [-1, 2], + [1, 3], + ], + }, + }, // { // href: '/messages', // name: 'Messages',