Public
Documentation Settings

API DinaBox

Essa é a documentação da API DinaBox! Nossa API foi projetada para facilitar a integração do seu sistema com as funcionalidades oferecidas pela nossa plataforma.

Nesta documentação, você encontrará informações detalhadas sobre como usar cada endpoint da API, bem como os parâmetros de entrada e saída esperados. A API oferece recursos para acessar e gerenciar projetos, peças, insumos, parceiros e usinagens.

POSTToken

https://www.dinabox.app/api/v1/token

Introdução ao Endpoint "token"

O endpoint "token" é um método HTTP POST que permite ao usuário obter um token de autorização do tipo "Bearer". Esse token é utilizado para autenticar o usuário em outros endpoints da API.

Para obter o token, o usuário deve enviar uma requisição POST para o endpoint "token" com as credenciais de acesso, como nome de usuário e senha, no corpo da requisição. O servidor irá processar as informações e, se as credenciais estiverem corretas, irá gerar um token de acesso válido.

Esse token deve ser incluído nos cabeçalhos de todas as requisições aos outros endpoints da API, na forma "Authorization: Bearer ". Dessa forma, o servidor poderá identificar o usuário e permitir o acesso aos recursos autorizados.

É importante ressaltar que o token tem um tempo de validade limitado, o que significa que o usuário precisará obter um novo token após o período de expiração para continuar utilizando a API. Isso garante a segurança das informações e previne o acesso não autorizado aos recursos da API.

Bodyformdata
username

<username>

password

<password>

Example Request
curl
curl --location 'https://www.dinabox.app/api/v1/token' \
--data-urlencode 'username=<username>' \
--data-urlencode 'password=<password>'
200 OK
Example Response
json
{
  "token": "Token de acesso do usuário. É uma sequência de caracteres utilizada para autenticação e autorização do usuário no sistema.",
  "user_email": "Endereço de e-mail do usuário. Indica o e-mail do usuário associado ao token de acesso.",
  "user_nicename": "Apelido/nome de usuário do usuário. É um nome curto ou apelido do usuário.",
  "user_display_name": "Nome de exibição do usuário. É o nome que será exibido publicamente para o usuário.",
  "expiration_time": "Tempo de expiração do token de acesso. No formato UNIX Timestamp,dura 8 horas."
}
Content-Type

application/json

GETProjeto

https://www.dinabox.app/api/v1/project?project_id=<project-id>

Endpoint /project

Este endpoint representa a documentação de um projeto de marcenaria, fornecendo informações detalhadas sobre os módulos, peças, furos, parceiros e insumos envolvidos no projeto. O formato utilizado é JSON, que permite a organização e estruturação dos dados de forma eficiente.

Propriedades Principais da resposta JSON:

  • woodwork: Esta chave representa os módulos de peças do projeto de marcenaria. Cada módulo é uma fração de um móvel e contém informações como o ID, referência, tipo, quantidade, dimensões e peso. Os módulos são a base para a construção dos móveis e permitem a organização e estruturação do projeto.
  • components: Nesta chave estão armazenados os componentes utilizados no projeto. Os componentes podem ser partes individuais dos móveis, como uma mesa, por exemplo. Cada componente possui um ID único, nome, categoria e informações sobre o preço de fábrica, compra e venda. Os componentes são essenciais para a montagem dos móveis e permitem a reutilização de peças em diferentes projetos.
  • partners: Aqui são listados os parceiros envolvidos no projeto de marcenaria. Cada parceiro possui um ID único, nome, descrição e uma imagem associada. Os parceiros podem ser fornecedores de materiais, fabricantes de peças ou outras empresas que contribuem para o desenvolvimento do projeto.
  • holes: Representa os furos presentes no projeto de marcenaria. Cada furo possui informações sobre o ID, referência, nome, dimensões, peso, quantidade e preços de fábrica, compra e venda. Os furos são fundamentais para a montagem e fixação das peças, garantindo a precisão e qualidade dos móveis. Além disso, os furos também são importantes para a visualização e planejamento do projeto, permitindo a definição das ferramentas e técnicas necessárias para a execução das etapas de montagem.
  • parts: Chave que contém informações detalhadas sobre as peças de cada módulo do projeto. Cada peça possui um ID único, referência, tipo, quantidade, dimensões, material utilizado, preço de fábrica, compra e venda, entre outras informações. As peças são os elementos principais dos móveis e são utilizadas para a construção e montagem dos mesmos.
  • inputs: Esta chave representa os insumos utilizados no projeto de marcenaria. Os insumos são materiais necessários para a fabricação das peças, como madeira, ferragens, cola, entre outros. Cada insumo possui um ID único, nome, descrição, fabricante, referência, e informações sobre o peso, preço de fábrica, compra e venda. Os insumos são fundamentais para o planejamento e execução do projeto, garantindo a disponibilidade dos materiais necessários para a produção dos móveis.
PARAMS
project_id

<project-id>

Example Request
curl
curl --location 'https://www.dinabox.app/api/v1/project?project_id=%3Cproject-id%3E' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
json
{
    "project_id": "ID do projeto. É um identificador único do projeto.",
    "project_status": "Status do projeto. Indica o status atual do projeto (rascunho, produção e venda fechada).",
    "project_version": "Versão do projeto. Indica a versão atual do projeto.",
    "project_created": "Data e hora de criação do projeto.",
    "project_last_modified": "Data e hora da última modificação do projeto.",
    "project_author": "ID do autor do projeto. É um identificador único do autor do projeto.",
    "project_author_name": "Nome do autor do projeto. É o nome do autor do projeto.",
    "project_description": "Descrição do projeto. É uma descrição do projeto.",
    "project_note": "Nota do projeto. É uma nota associada ao projeto.",
    "project_details": "Detalhes do projeto. São detalhes adicionais do projeto.",
    "project_customer_id": "ID do cliente do projeto. É um identificador único do cliente do projeto.",
    "project_customer_name": "Nome do cliente do projeto. É o nome do cliente do projeto.",
    "project_customer_address": "Endereço do cliente do projeto. É o endereço do cliente do projeto.",
    "components": {
        "data": {
            "ID do componente": {
                "category_id": "ID da categoria do componente.",
                "category_name": "Nome da categoria do componente.",
                "category_data": [
                    {
                        "id": "ID do componente.",
                        "name": "Nome do componente.",
                        "category_id": "ID da categoria do componente.",
                        "category_name": "Nome da categoria do componente.",
                        "parent": [
                            {
                                "id": "ID do componente pai.",
                                "name": "Nome do componente pai.",
                                "category_id": "ID da categoria do componente pai.",
                                "category_name": "Nome da categoria do componente pai.",
                                "qt": "Quantidade do componente pai.",
                                "ref": "Número de referência do componente pai.",
                                "dimension": "Dimensões do componente pai.",
                                "factory_price": "Preço de fábrica do componente pai.",
                                "buy_price": "Preço de compra do componente pai.",
                                "sale_price": "Preço de venda do componente pai."
                            }
                        ]
                    }
                ]
            }
        }
    },
    "partners": {
        "ID do parceiro": {
            "partner_name": "Nome do parceiro.",
            "partner_description": "Descrição do parceiro.",
            "partner_image": "URL da imagem do parceiro.",
            "partner_data": {
                "ID do componente": {
                    "ID do parceiro": {
                        "name": "Nome do componente.",
                        "qt": "Quantidade do componente.",
                        "insumos": [
                            {
                                "name": "Nome do insumo.",
                                "qt": "Quantidade do insumo.",
                                "dimension": "Dimensões do insumo.",
                                "sale_price": "Preço de venda do insumo."
                            }
                        ]
                    }
                }
            }
        }
    },
    "holes": [
        {
            "id": "ID do furo.",
            "ref": "Número de referência do furo.",
            "uref": "Número gerenciado pelo usuário para a referência do furo.",
            "name": "Nome do furo.",
            "dimensions": "Dimensões do furo.",
            "weight": "Peso do furo.",
            "qt": "Quantidade do furo.",
            "factory_price": "Preço de fábrica do furo.",
            "buy_price": "Preço de compra do furo.",
            "sale_price": "Preço de venda do furo."
        }
    ],
    "woodwork": [
        {
            "id": "ID do módulo de peças.",
            "ref": "Número de referência do módulo de peças.",
            "uref": "Número gerenciado pelo usuário para a referência do módulo de peças.",
            "type": "Tipo do módulo de peças.",
            "qt": "Quantidade do módulo de peças.",
            "name": "Nome do módulo de peças.",
            "note": "Nota do módulo de peças.",
            "weight": "Peso do módulo de peças.",
            "width": "Largura do módulo de peças.",
            "height": "Altura do módulo de peças.",
            "thickness": "Espessura do módulo de peças.",
            "thumbnail": "URL da imagem em miniatura do módulo de peças.",
            "parts": [
                {
                    "id": "ID da peça.",
                    "ref": "Número de referência da peça.",
                    "uref": "Número gerenciado pelo usuário para a referência da peça.",
                    "type": "Tipo da peça.",
                    "entity": "Entidade da peça.",
                    "count": "Quantidade da peça.",
                    "code_a": "Código A da peça.",
                    "code_b": "Código B da peça.",
                    "code_a2": "Código A2 da peça.",
                    "code_b2": "Código B2 da peça.",
                    "name": "Nome da peça.",
                    "note": "Nota da peça.",
                    "width": "Largura da peça.",
                    "height": "Altura da peça.",
                    "increase_width": "Aumento da largura da peça.",
                    "increase_height": "Aumento da altura da peça.",
                    "thickness": "Espessura da peça.",
                    "weight": "Peso da peça.",
                    "material_manufacturer": "Fabricante do material da peça.",
                    "material_collection": "Coleção do material da peça.",
                    "material_name": "Nome do material da peça.",
                    "material_id": "ID do material da peça.",
                    "material_m2": "M2 do material da peça.",
                    "material_factory": "Preço de fábrica do material da peça.",
                    "material_buy": "Preço de compra do material da peça.",
                    "material_sale": "Preço de venda do material da peça.",
                    "material_vein": "Indica se o material da peça tem veios ou não.",
                    "material_width": "Largura do material da peça.",
                    "material_height": "Altura do material da peça.",
                    "material_thumbnail": "URL da imagem em miniatura do material da peça.",
                    "material_face": "Face do material da peça.",
                    "material_ref": "Número de referência do material da peça.",
                    "material_uref": "Número gerenciado pelo usuário para a referência do material da peça.",
                    "material_note": "Nota do material da peça.",
                    "edge_thickness": "Espessura da borda do material da peça.",
                    "edge_left": "Borda esquerda do material da peça.",
                    "edge_left_id": "ID da borda esquerda do material da peça.",
                    "edge_left_uref": "Número gerenciado pelo usuário para a referência da borda esquerda do material da peça.",
                    "edge_left_perimeter": "Perímetro da borda esquerda do material da peça.",
                    "edge_left_abs": "ABS da borda esquerda do material da peça.",
                    "edge_left_factory": "Preço de fábrica da borda esquerda do material da peça.",
                    "edge_left_buy": "Preço de compra da borda esquerda do material da peça.",
                    "edge_left_sale": "Preço de venda da borda esquerda do material da peça.",
                    "edge_right": "Borda direita do material da peça.",
                    "edge_right_id": "ID da borda direita do material da peça.",
                    "edge_right_uref": "Número gerenciado pelo usuário para a referência da borda direita do material da peça.",
                    "edge_right_perimeter": "Perímetro da borda direita do material da peça.",
                    "edge_right_abs": "ABS da borda direita do material da peça.",
                    "edge_right_factory": "Preço de fábrica da borda direita do material da peça.",
                    "edge_right_buy": "Preço de compra da borda direita do material da peça.",
                    "edge_right_sale": "Preço de venda da borda direita do material da peça.",
                    "edge_bottom": "Borda inferior do material da peça.",
                    "edge_bottom_id": "ID da borda inferior do material da peça.",
                    "edge_bottom_uref": "Número gerenciado pelo usuário para a referência da borda inferior do material da peça.",
                    "edge_bottom_perimeter": "Perímetro da borda inferior do material da peça.",
                    "edge_bottom_abs": "ABS da borda inferior do material da peça.",
                    "edge_bottom_factory": "Preço de fábrica da borda inferior do material da peça.",
                    "edge_bottom_buy": "Preço de compra da borda inferior do material da peça.",
                    "edge_bottom_sale": "Preço de venda da borda inferior do material da peça.",
                    "edge_top": "Borda superior do material da peça.",
                    "edge_top_id": "ID da borda superior do material da peça.",
                    "edge_top_uref": "Número gerenciado pelo usuário para a referência da borda superior do material da peça.",
                    "edge_top_perimeter": "Perímetro da borda superior do material da peça.",
                    "edge_top_abs": "ABS da borda superior do material da peça.",
                    "edge_top_factory": "Preço de fábrica da borda superior do material da peça.",
                    "edge_top_buy": "Preço de compra da borda superior do material da peça.",
                    "edge_top_sale": "Preço de venda da borda superior do material da peça.",
                    "holes": {
                        // Furos na face esquerda da peça
                        "A": [
                            {
                                "t": "Ferramenta que irá realizar o furo na face esquerda.",
                                "x1": "Coordenada x1 do furo na face esquerda.",
                                "x2": "Coordenada x2 do furo na face esquerda.",
                                "y": "Coordenada y do furo na face esquerda.",
                                "z": "Coordenada z do furo na face esquerda.",
                                "d": "Diâmetro do furo na face esquerda.",
                                "r1": "Campo personalizado para o usuário definir.",
                                "r2": "Campo personalizado para o usuário definir."
                            }
                        ],
                        // Furos na face direita da peça
                        "B": null,
                        // Furos no topo esquerdo da peça
                        "C": [
                            {
                                "t": "Ferramenta que irá realizar o furo no topo esquerdo.",
                                "x": "Coordenada x do furo no topo esquerdo.",
                                "y": "Coordenada y do furo no topo esquerdo.",
                                "z": "Coordenada z do furo no topo esquerdo.",
                                "d": "Diâmetro do furo no topo esquerdo.",
                                "r1": "Campo personalizado para o usuário definir.",
                                "r2": "Campo personalizado para o usuário definir."
                            }
                        ],
                        // Furos no topo direito da peça
                        "D": [
                            {
                                "t": "Ferramenta que irá realizar o furo no topo direito.",
                                "x": "Coordenada x do furo no topo direito.",
                                "y": "Coordenada y do furo no topo direito.",
                                "z": "Coordenada z do furo no topo direito.",
                                "d": "Diâmetro do furo no topo direito.",
                                "r1": "Campo personalizado para o usuário definir.",
                                "r2": "Campo personalizado para o usuário definir."
                            }
                        ],
                        // Furos no topo superior da peça
                        "E": null,
                        // Furos no topo inferior da peça
                        "F": null,
                        "invert": "Indica se o furo está invertido ou não."
                    },

                    "buy_price": "Preço de compra da peça.",
                    "sale_price": "Preço de venda da peça."
                }
            ],
            "insumos": [
                {
                    "id": "ID do insumo.",
                    "category_id": "ID da categoria do insumo.",
                    "category_name": "Nome da categoria do insumo.",
                    "name": "Nome do insumo.",
                    "description": "Descrição do insumo.",
                    "manufacturer": "Fabricante do insumo.",
                    "ref": "Número de referência do insumo.",
                    "resale": "Indica se o insumo pode ser revendido ou não.",
                    "unit": "Unidade do insumo.",
                    "dimensions": "Dimensões do insumo.",
                    "weight": "Peso do insumo.",
                    "qt": "Quantidade do insumo.",
                    "factory_price": "Preço de fábrica do insumo.",
                    "buy_price": "Preço de compra do insumo.",
                    "sale_price": "Preço de venda do insumo."
                }
            ]
        }
    ]
}
Content-Type

application/json