DTOs

As DTOs serão usadas na relação entre as diferentes APIs, no recebimento e envio das informações.

As DTOs de request serão utilizadas para enviar informações à API. Essas informações deverão ser enviadas ao iFood.

Utilizando das DTOs de response, os dados serão formatados ao nosso padrão e retornados para o core da aplicação.

Nossa API, lerá tais respostas e consumirá os dados, assim, a API a ser desenvolvida terá que lidar apenas com a API do iFood.

Exemplos de Dados e Definições:

📃 base-product-variation.dto.ts

  sku: string;                       - Identificador único de produto e variação
  name: string;                      - Nome da Variação 
  gtin?: string;                     - Código de Barras do Produto
  price: number;                     - Preço da Variação
  promotionalPrice?: number;         - Preço promocional da Variação
  pictures?: string[];               - URL da imagem do Produto
  dimensions: BaseProductDimensionsDTO; - Dimensões da Variação
  status: BaseProductStatusEnum;     - Estado do Produto

📃 base-product-response.dto.ts

  id: string;                              - Id do Produto
  sku?: string;                            - Identificador único do Produto
  name: string;                            - Nome do Produto
  description: string;                     - Descrição do Produto 
  brand?: string;                          - Marca do Produto
  categories?: string[];                   - Categoria do Produto
  gtin?: string;                           - Código de Barras do Produto
  price?: number;                          - Preço do Produto
  promotionalPrice?: number;               - Nome do Produto
  pictures?: string[];                     - Fotos do Produto
  dimensions?: BaseProductDimensionsDTO;   - Dimensões do Produto
  status?: BaseProductStatusEnum;          - Estado do Produto
  attributes?: BaseProductAttributeDTO[];  - Atributos do Produto
  variations?: BaseProductVariationDTO[];  - Variações do Produto
  updatedAt: Date;                         - Data de Atualização do Produto
  createdAt: Date;                         - Data de Criação do Produto

📃 base-category-request.dto.ts

  name: string;                            - Nome da Categoria
  status: BaseCategoryStatusEnum;          - Estado da Categoria
  code: string;                            - Código da Categoria
  updatedAt?: Date;                        - Atualização da Categoria

📃 base-order-shipping-address.dto.ts

  city: string;              - Cidade de envio
  state: string;             - UF de envio
  postalCode: string;        - CEP de envio
  number: string;            - Número do Prédio
  street: string;            - Logradouro de envio
  neighbourhood: string;     - Bairro de Envio
  complement?: string;       - Complemento da Localidade

📃 base-order-response.dto.ts

  id: string;                          - Id do Pedido
  code: string;                        - Código do Pedido
  subtotal: number;                    - Subtotal do Pedido
  discount: number;                    - Desconto do Pedido
  channel?: string;                    - Canal
  total: number;                       - Valor total do Pedido
  shipping: BaseOrderShippingDTO;      - Informações de Envio
  status: BaseOrderStatusEnum;         - Estado do Envio
  products: BaseOrderProductDTO[];     - Produtos do Pedido
  customer: BaseOrderCustomerDTO;      - Cliente solicitante
  payment: BaseOrderPaymentDTO;        - Forma de Pagamento
  createdAt: Date;                     - Criação do Pedido
  updatedAt: Date;                     - Atualização do Pedido
  closedAt?: Date;                     - Finalização do Pedido

Last updated

Was this helpful?