Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 11.69 KB | None | 0 0
  1. swagger: '2.0'
  2. info:
  3.   title: Armário Virtual API
  4.   description: API dos serviços do sistema Armário Virtual
  5.   version: 1.0.0
  6. host: api.armariovirtual.com
  7. schemes:
  8.  - https
  9. basePath: /_aVlM10DR
  10. produces:
  11.  - application/json
  12.  
  13. definitions:
  14.   status_pedido:
  15.     type: object
  16.     title: 'Estado do pedido'
  17.     description: 'Relação de estados assumíveis para um pedido'
  18.     enum: &STATUS
  19.       - 'Entregue'
  20.       - 'Finalizado'
  21.       - 'Solicitado'
  22.       - 'Em andamento'
  23.   basic_services:
  24.     type: object
  25.     title: 'Serviços básicos'
  26.     description: 'Relação de serviços básicos'
  27.     enum: &BASIC_SERVICES
  28.       - 'Completo'
  29.       - 'Passadoria'
  30.       - 'Recuperação'
  31.   especial_service:
  32.     type: object
  33.     title: 'Serviço especial'
  34.     description: 'Serviço especial oferecido pela lavanderia'
  35.     properties:
  36.       name:
  37.         type: string
  38.         description: 'Nome do serviço especial'
  39.       price:
  40.         type: number
  41.         format: float
  42.         description: 'Custo do serviço especial'
  43.       description:
  44.         type: string
  45.         description: 'Descrição do serviço especial'
  46.       icon:
  47.         type: string
  48.         format: byte
  49.         description: 'Icone representativo do serviço especial'
  50.   clothes:
  51.     type: object
  52.     title: 'Clothes'
  53.     description: 'Peça de roupa'
  54.     uniqueItems: true
  55.     properties:
  56.       enabled:
  57.         type: boolean
  58.         description: 'Status da peça (false, caso desabilitado/excluida)'
  59.       version:
  60.         type: number
  61.         title: 'Versão do documento'
  62.         description: 'Contador que deve ser incrementado sempre que uma alteração no documento for realizada. Um "cópia" do documento antigo deve ser gerado'
  63.       pictures:
  64.         type: array
  65.         description: 'Fotos das peças de roupas. Deve ser limitada a trÊs fotos por peça'
  66.         items:
  67.           type: string
  68.           format: byte
  69.           description: 'Foto da peça'
  70.       type:
  71.         type: string
  72.         description: 'Tipo da peça de roupa EX: Camisa, Calça, Meia'
  73.       brand:
  74.         type: string
  75.         description: 'Marca da roupa'
  76.       color:
  77.         type: string
  78.         description: 'Cor predominante da roupa'
  79.       print:
  80.         type: string
  81.         description: 'Estampa da roupa'
  82.       station:
  83.         type: string
  84.         description: 'Estação para uso da roupa'
  85.       observations:
  86.         type: array
  87.         description: 'Observações individuais da peça de roupa'
  88.         items:
  89.           type: string
  90.       whashes:
  91.         type: integer
  92.         description: 'Número de lavagens sofridas pela peça'
  93.       register_date:
  94.         type: string
  95.         format: date
  96.         description: 'Data de cadastro da peça'
  97.   orders:
  98.     type: object
  99.     title: 'Order'
  100.     description: 'Pedido realizado pelo usuário'
  101.     properties:
  102.       solicitation_time:
  103.         type: string
  104.         format: date-time
  105.         description: 'Data de realização do pedido'
  106.       finish_time:
  107.         type: string
  108.         format: date-time
  109.         description: 'Data de finalização do pedido'
  110.       removal_time:
  111.         type: string
  112.         format: date-time
  113.         description: 'Data de retirada/entrega do pedido'
  114.       status:
  115.         $ref: '#definitions/status_pedido'
  116.       cart_itens:
  117.         type: object
  118.         properties:
  119.           clothes:
  120.             type: array
  121.             description: 'Itens do pedido'
  122.             items:
  123.               type: object
  124.               properties:
  125.                 clothes:
  126.                   $ref: '#/definitions/clothes'
  127.                 whase_type:
  128.                   $ref: '#/definitions/basic_services'
  129.                 price:
  130.                   type: number
  131.                   title: 'Price'
  132.                   format: float
  133.           services:
  134.             type: array
  135.             items:
  136.               type: object
  137.               properties:
  138.                 price:
  139.                   type: number
  140.                   title: 'Price'
  141.                   format: float
  142.                 service:
  143.                   $ref: '#/definitions/especial_service'
  144.   agent:
  145.     type: object
  146.     title: 'Agent'
  147.     description: 'Dados do representante da loja'
  148.     properties:
  149.       name:
  150.         type: string
  151.         description: 'Nome do representante da loja'
  152.       email:
  153.         type: string
  154.         description: 'Email do representante da loja'
  155.         pattern: '[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}'
  156.       cpf:
  157.         type: string
  158.         description: 'CPF do representante da loja'
  159.       password:
  160.         type: string
  161.         format: password
  162.         description: 'Chave de acesso do usuário ao sistema'
  163.   administrator:
  164.     type: object
  165.     title: 'Administrator'
  166.     description: 'Usário administrador do sistema'
  167.     properties:
  168.       email:
  169.         type: string
  170.         description: 'Email de contato do administrator do sistema'
  171.       password:
  172.         type: string
  173.         format: password
  174.   store:
  175.     type: object
  176.     title: 'Store'
  177.     description: 'Entidade que ofereçe os serviços e é selecionavel pelo usuário'
  178.     properties:
  179.       tipo:
  180.         type: object
  181.         description: 'Tipo de loja EX:. Franqueado, Autonoma'
  182.         enum: &laundery_type
  183.           - 'Franqueado'
  184.           - 'Autonoma'
  185.       name:
  186.         type: string
  187.         description: 'Nome fantasia da loja'
  188.       social_reason:
  189.         type: string
  190.         description: 'Razão social da loja'
  191.       cnpj:
  192.         type: string
  193.         description: 'CNPJ da loja'
  194.       ie:
  195.         type: 'string'
  196.         description: 'Inscrição estadual'
  197.       adrress:
  198.         type: string
  199.         description: 'Endereço da loja'
  200.       agent:
  201.         $ref: '#/definitions/agent'
  202.       especial_services:
  203.         type: array
  204.         description: 'Relação de servicos especiais oferecidos'
  205.         items:
  206.           $ref: '#/definitions/especial_service'
  207.       delivery_services:
  208.         type: object
  209.         properties:
  210.           delivery:
  211.             type: boolean
  212.             description: 'Disponibilidade do serviço de delivery'
  213.           checkin:
  214.             type: boolean
  215.             description: 'Disponibilidade do serviço de entrega e retirada na loja'
  216.       washebles:
  217.         type: array
  218.         description: 'Lista de tipos aceitos pela loja'
  219.         items:
  220.             type: object
  221.             properties:
  222.               name:
  223.                 type: string
  224.                 description: 'Tipo de peça pré-autorizado pela loja'
  225.               enabled:
  226.                 type: boolean
  227.                 description: 'Status de disponibilidade da peça'
  228.               icon:
  229.                 type: string
  230.                 description: 'Icone default'
  231.               services:
  232.                 type: object
  233.                 description: 'Serviço básicos oferecidos pela loja. Limitados a três'
  234.                 properties:
  235.                   complete:
  236.                     type: object
  237.                     description: 'Serviço básico 1'
  238.                     properties:
  239.                       price:
  240.                         type: number
  241.                         format: float
  242.                       enabled:
  243.                         type: boolean
  244.                         description: 'Disponibilidade do serviço básico'
  245.                   recovery:
  246.                     type: object
  247.                     description: 'Serviço básico 2'
  248.                     properties:
  249.                       price:
  250.                         type: number
  251.                         format: float
  252.                       enabled:
  253.                         type: boolean
  254.                         description: 'Disponibilidade do serviço básico'
  255.                   ironing:
  256.                     type: object
  257.                     description: 'Serviço básico 3'
  258.                     properties:
  259.                       price:
  260.                         type: number
  261.                         format: float
  262.                       enabled:
  263.                         type: boolean
  264.                         description: 'Disponibilidade do serviço básico'
  265.   franchise:
  266.     type: object
  267.     title: 'Franchise'
  268.     properties:
  269.       name:
  270.         type: string
  271.         description: 'Nome fantasia da loja'
  272.       social_reason:
  273.         type: string
  274.         description: 'Razão social da loja'
  275.       cnpj:
  276.         type: string
  277.         description: 'CNPJ da loja'
  278.       ie:
  279.         type: 'string'
  280.         description: 'Inscrição estadual'
  281.       adrress:
  282.         type: string
  283.         description: 'Endereço da loja'
  284.       agent:
  285.         $ref: '#/definitions/agent'
  286.       stores:
  287.         type: array
  288.         items:
  289.           $ref: '#/definitions/store'
  290.   client:
  291.     type: object
  292.     title: 'Client'
  293.     properties:
  294.       name:
  295.         type: string
  296.         description: 'Nome completo do usuário do sitema'
  297.       email:
  298.         type: string
  299.         description: 'Email ativo do usuário'
  300.       password:
  301.         type: string
  302.         format: password
  303.         description: 'Chave de acesso do usuário ao sistema'
  304.       contact:
  305.         type: string
  306.         description: 'Telefone do usuário'
  307.       addresses:
  308.         type: array
  309.         description: 'Lista de endereços ativos do usuário'
  310.         items:
  311.           type: object
  312.           properties:
  313.             postal_code:
  314.               type: string
  315.               description: 'Código postal (CEP) do endereço'
  316.             city:
  317.               type: string
  318.               description: 'Nome da Cidade'
  319.             neighborhood:
  320.               type: string
  321.               description: 'Nome do bairro'
  322.             place:
  323.               type: string
  324.               description: 'Logradouro do endereço'
  325.       status:
  326.         type: boolean
  327.         description: 'Status do usuário'
  328.       register_date:
  329.         type: string
  330.         format: date
  331.         description: 'Data de registro do usuário'
  332.       closet:
  333.         type: array
  334.         description: 'Conjunto de peças de roupas do usuário'
  335.         items:
  336.           $ref: '#/definitions/clothes'
  337.       orders:
  338.         type: array
  339.         items:
  340.           $ref: '#/definitions/orders'
  341.   Error:
  342.     type: object
  343.     properties:
  344.       code:
  345.         type: integer
  346.         format: int32
  347.       message:
  348.         type: string
  349.       fields:
  350.         type: string
  351.  
  352. paths:
  353.   /m/user:
  354.     get:
  355.       summary: User data
  356.       description: Return user data
  357.       operationId: getUserById
  358.       parameters:
  359.         - name: userId
  360.           in: query
  361.           type: integer
  362.           description: User id
  363.       responses:
  364.         200:
  365.           description: OK
  366.         default:
  367.           description: ERROR
  368.  
  369.     post:
  370.       summary: 'Post a new user'
  371.       description: 'Submit a new user to be saved'
  372.       parameters:
  373.         - name: 'user_name'
  374.           in: 'body'
  375.           description: 'Name of new user'
  376.           required: true
  377.           type: string
  378.  
  379.         - name: 'user_email'
  380.           in: body
  381.           description: 'Email of new user'
  382.           required: true
  383.           type: string
  384.           pattern: '[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}'
  385.  
  386.         - name: 'user_password'
  387.           in: 'header'
  388.           description: 'User password'
  389.           type: string
  390.           format: password
  391.       tags:
  392.        - 'user_name'
  393.       responses:
  394.         201:
  395.           description: 'Created confirmation'
  396.         409:
  397.           description: 'Must be sended when user_email already exist'
  398.         default:
  399.           description: 'Unexpected Error'
  400.           schema:
  401.             $ref: '#/definitions/Error'
  402.  
  403.  
  404.   /m/user/closet:
  405.   /m/user/orders:
  406.   /m/user/address:
  407.   /m/store:
  408.   /m/store/calc:
  409.   /m/orders:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement