Back to top

Vitrine Social

Vitrine Social.

API

Sobre

Aqui podemos descrever detalhes que são comuns a todos os serviços como formatos, headers, tipos de erros, etc

Retornos

Tipos de retorno esperado

HTTP status code summary
200 - OK Everything worked as expected.
207 - Multi-Status Se uma operação foi realizada em batch e algum dos itens não foi realizado com sucesso
400 - Bad Request The request was unacceptable, often due to missing a required parameter.
401 - Unauthorized No valid API key provided.
403 - Forbidden No access to requested resource.
402 - Request Failed The parameters were valid but the request failed.
404 - Not Found The requested resource doesn’t exist.
409 - Conflict The request conflicts with another request (perhaps due to using the same idempotent key).
429 - Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500, 502, 503, 504 Server Errors Something went wrong on Stripe’s end. (These are rare.)

Corpo da mensagem de erro

As requisições que gerarem erro devem ter as informações abaixo no corpo da mensagem

{
  "code" : 1234,
  "message" : "Something bad happened :(",
}

O status code deve ser diferente de 200 e 201

Corpo da mensagem de sucesso na criação/atualização

As requisições que finalizaram com sucesso devem ter as informações abaixo no corpo da mensagem

{
  "id" : 1234
}

O status code deve ser 200 ou 201

Headers padrão

Parâmetro Significado Valores
Accept Indica para a API o formato que é esperado no retorno application/json
Content-Type Indica qual é o formato que está sendo usado para enviar os dados application/json ou multipart/form-data
Authorization Token JWT usado para autenticação Um token JWT ou vazio

Autenticação

Login

Realizar login
POST/v1/auth/login

Example URI

POST http://api.vitrine.dev:8001/v1/auth/login
Request  Login
HideShow
Headers
Accept: application/json
Content-Type: application/json
Body
{
  "email": "admin@vitrine.org.br",
  "password": "123"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Email do usuário"
    },
    "password": {
      "type": "string",
      "description": "Senha"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "organization": {
    "id": 1,
    "name": "Hello, world!",
    "logo": "Hello, world!",
    "slug": "Hello, world!"
  },
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organization": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Código da ONG"
        },
        "name": {
          "type": "string",
          "description": "Nome da ONG"
        },
        "logo": {
          "type": "string",
          "description": "Link do logo da ONG"
        },
        "slug": {
          "type": "string",
          "description": "Hash da ONG"
        }
      }
    },
    "token": {
      "type": "string"
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Logout

Realizar logout
POST/v1/auth/logout

Example URI

POST http://api.vitrine.dev:8001/v1/auth/logout
Request  Logout
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Response  204

Atualizar Senha

Atualizar Senha
POST/v1/auth/update-password

Example URI

POST http://api.vitrine.dev:8001/v1/auth/update-password
Request  Atualizar Senha
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "currentPassword": "123",
  "newPassword": "1234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "currentPassword": {
      "type": "string",
      "description": "Senha Atual"
    },
    "newPassword": {
      "type": "string",
      "description": "Nova Senha"
    }
  }
}
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Resetar Senha

Resetar Senha
POST/v1/auth/reset-password

Example URI

POST http://api.vitrine.dev:8001/v1/auth/reset-password
Request  Resetar Senha
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "newPassword": "1234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "newPassword": {
      "type": "string",
      "description": "Nova Senha"
    }
  }
}
Response  200
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Esqueci minha Senha

Esqueci minha Senha
POST/v1/auth/forgot-password

Example URI

POST http://api.vitrine.dev:8001/v1/auth/forgot-password
Request  Resetar Senha
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "email": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "E-mail"
    }
  }
}
Response  200
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Organization

Organização

Perfil da ONG
GET/v1/organization/{id}?orderBy={orderBy}&order={order}

Example URI

GET http://api.vitrine.dev:8001/v1/organization/id?orderBy=id&order=asc
URI Parameters
HideShow
id
number (required) 

Id da ONG

orderBy
string (optional) Example: id

Campo de ordenação das necessidades da organização

order
string (optional) Example: asc

Ordem das necessidades da organização

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Hello, world!",
  "logo": "Hello, world!",
  "slug": "Hello, world!",
  "phone": "Hello, world!",
  "about": "Hello, world!",
  "video": "Hello, world!",
  "email": "Hello, world!",
  "address": {
    "street": "Hello, world!",
    "number": "Hello, world!",
    "complement": "Hello, world!",
    "neighborhood": "Hello, world!",
    "city": "Hello, world!",
    "state": "Hello, world!",
    "zipcode": "Hello, world!"
  },
  "website": "Hello, world!",
  "images": [
    {
      "id": 1,
      "name": "Hello, world!",
      "url": "Hello, world!"
    }
  ],
  "needs": [
    {
      "id": 1,
      "category": {
        "id": 1,
        "name": "Hello, world!",
        "slug": "Hello, world!"
      },
      "organization": {
        "id": 1,
        "name": "Hello, world!",
        "logo": "Hello, world!",
        "slug": "Hello, world!"
      },
      "images": [
        {
          "id": 1,
          "name": "Hello, world!",
          "url": "Hello, world!"
        }
      ],
      "title": "Hello, world!",
      "description": "Hello, world!",
      "requiredQuantity": 1,
      "reachedQuantity": 1,
      "unit": "kg",
      "status": "Hello, world!",
      "dueDate": "2017-08-17",
      "createdAt": "2017-08-17",
      "updatedAt": "2017-08-17"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Código da ONG"
    },
    "name": {
      "type": "string",
      "description": "Nome da ONG"
    },
    "logo": {
      "type": "string",
      "description": "Link do logo da ONG"
    },
    "slug": {
      "type": "string",
      "description": "Hash da ONG"
    },
    "phone": {
      "type": "string",
      "description": "Telefone"
    },
    "about": {
      "type": "string",
      "description": "Descrição detalhada da ONG"
    },
    "video": {
      "type": "string",
      "description": "Link de um video no Youtube sobre a ONG"
    },
    "email": {
      "type": "string",
      "description": "E-mail da ONG (também usado para login)"
    },
    "address": {
      "type": "object",
      "properties": {
        "street": {
          "type": "string",
          "description": "Rua da localização da ONG"
        },
        "number": {
          "type": "string",
          "description": "Número da localização da ONG"
        },
        "complement": {
          "type": "string",
          "description": "Complemento da localização da ONG"
        },
        "neighborhood": {
          "type": "string",
          "description": "Bairro de localização da ONG"
        },
        "city": {
          "type": "string",
          "description": "Cidade de localização da ONG"
        },
        "state": {
          "type": "string",
          "description": "Estado de localização da ONG"
        },
        "zipcode": {
          "type": "string",
          "description": "CEP de localização da ONG"
        }
      },
      "description": "Endereço da organização"
    },
    "website": {
      "type": "string",
      "description": "Website da organização"
    },
    "images": {
      "type": "array",
      "description": "Imagens relacionadas"
    },
    "needs": {
      "type": "array",
      "description": "Lista de necessidades"
    }
  }
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Atualizar ONG
PUT/v1/organization/{id}?orderBy=&order=

Example URI

PUT http://api.vitrine.dev:8001/v1/organization/id?orderBy=&order=
URI Parameters
HideShow
id
number (required) 

Id da ONG

Request  Atualizar
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "id": 1,
  "name": "Hello, world!",
  "logo": "Hello, world!",
  "slug": "Hello, world!",
  "phone": "Hello, world!",
  "about": "Hello, world!",
  "video": "Hello, world!",
  "email": "Hello, world!",
  "address": {
    "street": "Hello, world!",
    "number": "Hello, world!",
    "complement": "Hello, world!",
    "neighborhood": "Hello, world!",
    "city": "Hello, world!",
    "state": "Hello, world!",
    "zipcode": "Hello, world!"
  },
  "website": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Código da ONG"
    },
    "name": {
      "type": "string",
      "description": "Nome da ONG"
    },
    "logo": {
      "type": "string",
      "description": "Link do logo da ONG"
    },
    "slug": {
      "type": "string",
      "description": "Hash da ONG"
    },
    "phone": {
      "type": "string",
      "description": "Telefone"
    },
    "about": {
      "type": "string",
      "description": "Descrição detalhada da ONG"
    },
    "video": {
      "type": "string",
      "description": "Link de um video no Youtube sobre a ONG"
    },
    "email": {
      "type": "string",
      "description": "E-mail da ONG (também usado para login)"
    },
    "address": {
      "type": "object",
      "properties": {
        "street": {
          "type": "string",
          "description": "Rua da localização da ONG"
        },
        "number": {
          "type": "string",
          "description": "Número da localização da ONG"
        },
        "complement": {
          "type": "string",
          "description": "Complemento da localização da ONG"
        },
        "neighborhood": {
          "type": "string",
          "description": "Bairro de localização da ONG"
        },
        "city": {
          "type": "string",
          "description": "Cidade de localização da ONG"
        },
        "state": {
          "type": "string",
          "description": "Estado de localização da ONG"
        },
        "zipcode": {
          "type": "string",
          "description": "CEP de localização da ONG"
        }
      },
      "description": "Endereço da organização"
    },
    "website": {
      "type": "string",
      "description": "Website da organização"
    }
  }
}
Response  204
HideShow
Headers
Content-Type: application/json
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Subscribe

Receber notificações
POST/v1/organization/{id}/subscribe

Example URI

POST http://api.vitrine.dev:8001/v1/organization/id/subscribe
URI Parameters
HideShow
id
number (required) 

Id da ONG

Request
HideShow
Body
{
  "email": "Hello, world!",
  "name": "Hello, world!",
  "phone": "Hello, world!"
}
Schema
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "name": {
      "type": "string",
      "description": "Nome"
    },
    "phone": {
      "type": "string",
      "description": "Telefone"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
HideShow
Headers
Content-Type: application/json
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Unsubscribe

Parar de receber notificações
GET/v1/organization/{id}/unsubscribe/{email}

Example URI

GET http://api.vitrine.dev:8001/v1/organization/id/unsubscribe/email
URI Parameters
HideShow
id
number (required) 

Id da ONG

email
string (required) 

E-mail

Response  204
HideShow
Headers
Content-Type: application/json
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Upload de Imagem

Fazer upload de imagem
POST/v1/organization/{id}/images

Example URI

POST http://api.vitrine.dev:8001/v1/organization/id/images
URI Parameters
HideShow
id
number (required) 

Id da ONG

Request  Upload de uma imagem
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "file": "Hello, world!",
  "logo": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "Arquivo a ser enviado (form-data)"
    },
    "logo": {
      "type": "boolean",
      "description": "True se imagem é o logo da organização"
    }
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Id gerado"
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Remover imagem

Remover imagem
DELETE/v1/organization/{id}/images/{image_id}

Example URI

DELETE http://api.vitrine.dev:8001/v1/organization/id/images/image_id
URI Parameters
HideShow
id
number (required) 

Id da ONG

image_id
number (required) 

Id da imagem

Request
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Need

Necessidade

Dados da necessidade
GET/v1/need/{id}

Example URI

GET http://api.vitrine.dev:8001/v1/need/id
URI Parameters
HideShow
id
number (required) 

Id da necessidade

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "category": {
    "id": 1,
    "name": "Hello, world!",
    "slug": "Hello, world!"
  },
  "organization": {
    "id": 1,
    "name": "Hello, world!",
    "logo": "Hello, world!",
    "slug": "Hello, world!"
  },
  "images": [
    {
      "id": 1,
      "name": "Hello, world!",
      "url": "Hello, world!"
    }
  ],
  "title": "Hello, world!",
  "description": "Hello, world!",
  "requiredQuantity": 1,
  "reachedQuantity": 1,
  "unit": "kg",
  "status": "Hello, world!",
  "dueDate": "2017-08-17",
  "createdAt": "2017-08-17",
  "updatedAt": "2017-08-17"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Código da necessidade"
    },
    "category": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Código da categoria"
        },
        "name": {
          "type": "string",
          "description": "Nome da categoria"
        },
        "slug": {
          "type": "string",
          "description": "Slug da categoria"
        }
      },
      "description": "Categoria da necessidade"
    },
    "organization": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Código da ONG"
        },
        "name": {
          "type": "string",
          "description": "Nome da ONG"
        },
        "logo": {
          "type": "string",
          "description": "Link do logo da ONG"
        },
        "slug": {
          "type": "string",
          "description": "Hash da ONG"
        }
      },
      "description": "ONG"
    },
    "images": {
      "type": "array",
      "description": "Imagens relacionadas"
    },
    "title": {
      "type": "string",
      "description": "Resumo da necessidade"
    },
    "description": {
      "type": "string",
      "description": "Descrição detalhada da necessidade"
    },
    "requiredQuantity": {
      "type": "number",
      "description": "Quantidade necessária"
    },
    "reachedQuantity": {
      "type": "number",
      "description": "Quantidade alcançada"
    },
    "unit": {
      "type": "string",
      "description": "Unidade da necessidade"
    },
    "status": {
      "type": "string",
      "description": "Status da necessidade (ACTIVE/INACTIVE)"
    },
    "dueDate": {
      "type": "string",
      "description": "Data final da necessidade"
    },
    "createdAt": {
      "type": "string",
      "description": "Data de criação"
    },
    "updatedAt": {
      "type": "string",
      "description": "Data de atualização"
    }
  }
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Atualizar Need
PUT/v1/need/{id}

Example URI

PUT http://api.vitrine.dev:8001/v1/need/id
URI Parameters
HideShow
id
number (required) 

Id da necessidade

Request  Atualizar
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "category": 1,
  "title": "Hello, world!",
  "description": "Hello, world!",
  "requiredQuantity": 1,
  "reachedQuantity": 1,
  "dueDate": "2017-08-17",
  "unit": "kg",
  "status": "ACTIVE"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category": {
      "type": "number",
      "description": "ID da Categoria da necessidade"
    },
    "title": {
      "type": "string",
      "description": "Resumo da necessidade"
    },
    "description": {
      "type": "string",
      "description": "Descrição detalhada da necessidade"
    },
    "requiredQuantity": {
      "type": "number",
      "description": "Quantidade necessária"
    },
    "reachedQuantity": {
      "type": "number",
      "description": "Quantidade alcançada"
    },
    "dueDate": {
      "type": "string",
      "description": "Data final da necessidade"
    },
    "unit": {
      "type": "string",
      "description": "Unidade da necessidade"
    },
    "status": {
      "type": "string",
      "description": "Status da necessidade (ACTIVE/INACTIVE)"
    }
  }
}
Response  204
HideShow
Headers
Content-Type: application/json
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Criar

Criar Need
POST/v1/need

Example URI

POST http://api.vitrine.dev:8001/v1/need
Request  Criar
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "category": 1,
  "title": "Hello, world!",
  "description": "Hello, world!",
  "requiredQuantity": 1,
  "reachedQuantity": 1,
  "dueDate": "2017-08-17",
  "unit": "kg",
  "status": "ACTIVE",
  "organization": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category": {
      "type": "number",
      "description": "ID da Categoria da necessidade"
    },
    "title": {
      "type": "string",
      "description": "Resumo da necessidade"
    },
    "description": {
      "type": "string",
      "description": "Descrição detalhada da necessidade"
    },
    "requiredQuantity": {
      "type": "number",
      "description": "Quantidade necessária"
    },
    "reachedQuantity": {
      "type": "number",
      "description": "Quantidade alcançada"
    },
    "dueDate": {
      "type": "string",
      "description": "Data final da necessidade"
    },
    "unit": {
      "type": "string",
      "description": "Unidade da necessidade"
    },
    "status": {
      "type": "string",
      "description": "Status da necessidade (ACTIVE/INACTIVE)"
    },
    "organization": {
      "type": "number",
      "description": "ID da ONG"
    }
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Id gerado"
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Upload de Imagem

Fazer upload de imagem
POST/v1/need/{id}/images

Example URI

POST http://api.vitrine.dev:8001/v1/need/id/images
URI Parameters
HideShow
id
number (required) 

Id da necessidade

Request  Upload de uma imagem
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Body
{
  "file": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "Arquivo a ser enviado (form-data)"
    }
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Id gerado"
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Remover imagem

Remover imagem
DELETE/v1/need/{id}/images/{image_id}

Example URI

DELETE http://api.vitrine.dev:8001/v1/need/id/images/image_id
URI Parameters
HideShow
id
number (required) 

Id da necessidade

image_id
number (required) 

Id da imagem

Request
HideShow
Headers
Accept: application/json
Content-Type: application/json
Authorization: JWT
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Response

Responder a uma necessidade
POST/v1/need/{id}/response

Example URI

POST http://api.vitrine.dev:8001/v1/need/id/response
URI Parameters
HideShow
id
number (required) 

Id da necessidade

Request
HideShow
Body
{
  "email": "Hello, world!",
  "name": "Hello, world!",
  "phone": "Hello, world!",
  "address": "Hello, world!",
  "message": "Hello, world!"
}
Schema
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "name": {
      "type": "string",
      "description": "Nome"
    },
    "phone": {
      "type": "string",
      "description": "Telefone"
    },
    "address": {
      "type": "string",
      "description": "Endereço"
    },
    "message": {
      "type": "string",
      "description": "Mensagem enviada para a ONG"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Id da Resposta"
    }
  }
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Category

Categorias

Get All
GET/v1/categories

Example URI

GET http://api.vitrine.dev:8001/v1/categories
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Hello, world!",
    "slug": "Hello, world!",
    "needs_count": 1
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Contact

Contato

Send
POST/v1/contact

Example URI

POST http://api.vitrine.dev:8001/v1/contact
Request
HideShow
Body
{
  "name": "Hello, world!",
  "email": "Hello, world!",
  "phone": "Hello, world!",
  "reason": "Hello, world!",
  "message": "Hello, world!"
}
Schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Nome"
    },
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "phone": {
      "type": "string",
      "description": "Telefone"
    },
    "reason": {
      "type": "string",
      "description": "Motivo do Contato"
    },
    "message": {
      "type": "string",
      "description": "Mensagem enviada para a Coderockr"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Newsletter

Contato

Send
POST/v1/newsletter

Example URI

POST http://api.vitrine.dev:8001/v1/newsletter
Request
HideShow
Body
{
  "name": "Hello, world!",
  "email": "Hello, world!",
  "phone": "Hello, world!"
}
Schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Nome"
    },
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "phone": {
      "type": "string",
      "description": "Telefone"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 400,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "description": "Status code"
    },
    "message": {
      "type": "string",
      "description": "Mensagem do status"
    }
  }
}

Generated by aglio on 01 Oct 2018