Documentação API VMPay Documentation Versão 0.0.1 Verti Tecnologia 18/12/2015 Sumário 1 Endpoints 1 2 Autenticação 3 3 Exemplo de requisição válida: 5 4 Códigos de retorno e seus significados: 7 5 Resources disponíveis: 5.1 Categorias . . . . . . . 5.2 Clientes . . . . . . . . . 5.3 Locais . . . . . . . . . 5.4 Fabricantes de máquina 5.5 Modelos de máquina . . 5.6 Tipos de máquina . . . . 5.7 Máquinas . . . . . . . . 5.8 Fabricantes . . . . . . . 5.9 Produtos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 10 12 13 14 14 14 15 17 i ii CAPÍTULO 1 Endpoints Os endpoints são mapeados como segue: http://vmpay.vertitecnologia.com.br/api/v1/caminho/para/resource 1 Documentação API VMPay Documentation, Versão 0.0.1 2 Capítulo 1. Endpoints CAPÍTULO 2 Autenticação Cada operador receberá a sua api key, que deverá ser passada na URL em TODAS as requisições feitas à API. Exemplo: http://vmpay.vertitecnologia.com.br/api/v1/caminho/para/api?access_token=837e068fbb4c1e1f 3 Documentação API VMPay Documentation, Versão 0.0.1 4 Capítulo 2. Autenticação CAPÍTULO 3 Exemplo de requisição válida: Essa requisição lista toda as categorias de um determinado operador: GET http://vmpay.vertitecnologia.com.br/api/v1/categories?access_token=213qweasdzxc 5 Documentação API VMPay Documentation, Versão 0.0.1 6 Capítulo 3. Exemplo de requisição válida: CAPÍTULO 4 Códigos de retorno e seus significados: • 200: OK • 201: Criado com sucesso • 204: Excluído com sucesso • 400: bad request, algum parâmetro obrigatório faltando • 401: unauthorized, tentativa de alterar/excluir uma categoria de outro operador • 422: Erro ao criar, nome já está em uso 7 Documentação API VMPay Documentation, Versão 0.0.1 8 Capítulo 4. Códigos de retorno e seus significados: CAPÍTULO 5 Resources disponíveis: 5.1 Categorias 5.1.1 Listar GET /api/v1/categories 5.1.2 Ver GET /api/v1/categories/[id] 5.1.3 Criar POST /api/v1/categories Request: { "category": { "name": "Refrigerantes" } } Campos Obrigatórios category name: Nome da categoria. Opcionais: Nenhum. 9 Documentação API VMPay Documentation, Versão 0.0.1 5.1.4 Atualizar PATCH /api/v1/categories/[id] Request: { "category": { "name": "Refrigerantes" } } Campos Obrigatórios category name: Nome da categoria. Opcionais: Nenhum. 5.1.5 Excluir DELETE /v1/categories/[id] 5.2 Clientes 5.2.1 Listar GET /api/v1/clients 5.2.2 Ver GET /api/v1/clients/[id] 5.2.3 Criar POST /api/v1/clients Request: 10 Capítulo 5. Resources disponíveis: Documentação API VMPay Documentation, Versão 0.0.1 { "client": { "name": "Cliente fictício", "legal_type": "corporation", "corporate_name": "Razão social Ltda.", "cnpj": "63271298000194", "contact_name": "João Silva", "contact_phone": "41-9999-8888", "contact_email": "[email protected]", "notes": "observação" } } Campos Obrigatórios client name: Nome do cliente. legal_type: Indica o tipo de pessoa. Valores permitidos: person (pessoa física) ou corporation (pessoa jurídica). Opcionais: corporate_name: razão social cpf : CPF cnpj: CNPJ contact_name: Nome para contato contact_phone: Telefone para contato contact_email: email para contato notes: Observação main_location_id: id do endereço principal do cliente 5.2.4 Atualizar PATCH /api/v1/clients/[id] Request: { "client": { "name": "Novo nome" } } 5.2. Clientes 11 Documentação API VMPay Documentation, Versão 0.0.1 Campos client é obrigatório. Pelo menos um campo deve ser passado. 5.2.5 Excluir DELETE /v1/clients/[id] 5.3 Locais 5.3.1 Listar GET /api/v1/locations 5.3.2 Ver GET /api/v1/locations/[id] 5.3.3 Criar POST /api/v1/locations Request: { "location": { "name": "Nome do local", "phone": "41-9999-8888", "street": "Rua das Flores", "number": "123", "complement": "loja 1", "neighborhood": "Centro", "city": "Curitiba", "state": "PR", "zip_code": "80140110" } } Campos Obrigatórios location name: Nome do local. state: Sigla de uma das UF do Brasil, em letras maiúsculas. Ex.: PR 12 Capítulo 5. Resources disponíveis: Documentação API VMPay Documentation, Versão 0.0.1 Opcionais: client_id: id do cliente situado neste endereço phone: telefone street: logradouro number: número complement: complemento neighborhood: bairro city: cidade zip_code: CEP 5.3.4 Atualizar PATCH /api/v1/locations/[id] Request: { "location": { "name": "Matriz" } } Campos location é obrigatório. Pelo menos um campo deve ser passado para ser atualizado. 5.3.5 Excluir DELETE /v1/locations/[id] 5.4 Fabricantes de máquina 5.4.1 Listar GET /api/v1/machine_manufacturers 5.4.2 Ver GET /api/v1/machine_manufacturers/[id] 5.4. Fabricantes de máquina 13 Documentação API VMPay Documentation, Versão 0.0.1 5.5 Modelos de máquina 5.5.1 Listar GET /api/v1/machine_models 5.5.2 Ver GET /api/v1/machine_models/[id] 5.6 Tipos de máquina 5.6.1 Listar GET /api/v1/machine_types 5.6.2 Ver GET /api/v1/machine_types/[id] 5.7 Máquinas 5.7.1 Listar GET /api/v1/machines 5.7.2 Ver GET /api/v1/machines/[id] 5.7.3 Criar POST /api/v1/machines Request: { "machine": { "asset_number": "987654321", "machine_model_id": "69" } } 14 Capítulo 5. Resources disponíveis: Documentação API VMPay Documentation, Versão 0.0.1 Campos Obrigatórios machine asset number: número de patrimônio machine_model_id: id do modelo da máquina Opcionais: current_installation_id: id da instalação atual da máquina 5.7.4 Atualizar PATCH /api/v1/machines/[id] Request: { "machine": { "asset_number": "998877" } } Campos machine é obrigatório. Pelo menos um campo deve ser passado para ser atualizado. 5.7.5 Excluir DELETE /v1/machines/[id] 5.8 Fabricantes 5.8.1 Listar GET /api/v1/manufacturers 5.8.2 Ver GET /api/v1/manufacturers/[id] 5.8. Fabricantes 15 Documentação API VMPay Documentation, Versão 0.0.1 5.8.3 Criar POST /api/v1/manufacturers Request: { "manufacturer": { "name": "TAURUS" } } Campos Obrigatórios manufacturer name: Nome do fabricante. Opcionais: Nenhum. 5.8.4 Atualizar PATCH /api/v1/manufacturers/[id] Request: { "manufacturer": { "name": "ACME" } } Campos Obrigatórios manufacturer name: Nome do fabricante. Opcionais: Nenhum. 16 Capítulo 5. Resources disponíveis: Documentação API VMPay Documentation, Versão 0.0.1 5.8.5 Excluir DELETE /v1/manufacturers/[id] 5.9 Produtos 5.9.1 Listar GET /api/v1/vendibles 5.9.2 Ver GET /api/v1/vendibles/[id] 5.9.3 Criar POST /api/v1/vendibles Request: { "vendible": { "type": "Product", "name": "Vanilla Coke", "manufacturer_id": 56, "category_id": 21, "upc_code": 111 } } Campos Obrigatórios vendible name: Nome do produto. type: valor deve ser sempre Product. Opcionais: manufacturer_id: id do fabricante category_id: id da categoria upc_code: código do produto 5.9. Produtos 17 Documentação API VMPay Documentation, Versão 0.0.1 5.9.4 Atualizar PATCH /api/v1/vendibles/[id] Request: { "vendible": { "name": "Vanilla Coke", "manufacturer_id": 521, "category_id": 253, "upc_code": 999 } } Campos Proibidos: type: Este parâmetro não é passado na atualização. Caso esteja presente, a request retornará um erro 400. Obrigatórios vendible Pelo menos um campo deve ser passado. 5.9.5 Excluir DELETE /v1/vendibles/[id] 18 Capítulo 5. Resources disponíveis: