{"id":26008,"date":"2025-05-11T20:36:25","date_gmt":"2025-05-11T23:36:25","guid":{"rendered":"https:\/\/maurinsoft.com.br\/?p=26008"},"modified":"2025-04-27T20:44:17","modified_gmt":"2025-04-27T23:44:17","slug":"resultado-do-projeto","status":"publish","type":"post","link":"https:\/\/maurinsoft.com.br\/wp\/en\/resultado-do-projeto\/","title":{"rendered":"Resultado do Projeto"},"content":{"rendered":"<p>A partir dessa conversa, o aluno consegue extrair:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Banco de Dados Simplificado<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tabela produtos<\/strong>\n<ul class=\"wp-block-list\">\n<li>id (PK)<\/li>\n\n\n\n<li>nome<\/li>\n\n\n\n<li>preco<\/li>\n\n\n\n<li>tamanho<\/li>\n\n\n\n<li>foto<\/li>\n\n\n\n<li>ativo (booleano)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tabela adicionais<\/strong>\n<ul class=\"wp-block-list\">\n<li>id (PK)<\/li>\n\n\n\n<li>nome<\/li>\n\n\n\n<li>preco<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tabela pedidos<\/strong>\n<ul class=\"wp-block-list\">\n<li>id (PK)<\/li>\n\n\n\n<li>nome_cliente<\/li>\n\n\n\n<li>telefone_cliente<\/li>\n\n\n\n<li>bairro<\/li>\n\n\n\n<li>data_hora<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tabela itens_pedido<\/strong>\n<ul class=\"wp-block-list\">\n<li>id (PK)<\/li>\n\n\n\n<li>pedido_id (FK)<\/li>\n\n\n\n<li>produto_id (FK)<\/li>\n\n\n\n<li>tamanho<\/li>\n\n\n\n<li>adicionais (lista simplificada, se quiser)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Casos de Uso<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cliente:\n<ul class=\"wp-block-list\">\n<li>Visualizar produtos<\/li>\n\n\n\n<li>Adicionar produtos ao carrinho<\/li>\n\n\n\n<li>Escolher adicionais<\/li>\n\n\n\n<li>Finalizar pedido<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Dono da loja:\n<ul class=\"wp-block-list\">\n<li>Cadastrar produto<\/li>\n\n\n\n<li>Editar produto<\/li>\n\n\n\n<li>Cadastrar adicionais<\/li>\n\n\n\n<li>Desativar produto<\/li>\n\n\n\n<li>Ver pedidos<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Objetivo Final<\/strong><\/h3>\n\n\n\n<p>\ud83c\udfaf Criar um site com:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>P\u00e1gina inicial listando os produtos<\/li>\n\n\n\n<li>Tela de escolha de adicionais<\/li>\n\n\n\n<li>Carrinho de compras<\/li>\n\n\n\n<li>Formul\u00e1rio simples (Nome, Telefone, Bairro)<\/li>\n\n\n\n<li>Bot\u00e3o &#8220;Enviar pedido&#8221; integrando com WhatsApp<\/li>\n\n\n\n<li>Painel administrativo bem simples<\/li>\n<\/ul>\n\n\n\n<p>Vou seguir essa ordem para ficar f\u00e1cil para seus alunos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\ud83c\udfaf Casos de Uso<\/li>\n\n\n\n<li>\ud83d\udce6 Diagrama de Classes<\/li>\n\n\n\n<li>\ud83d\udee2\ufe0f Tabelas (Banco de Dados)<\/li>\n\n\n\n<li>\ud83d\udda5\ufe0f Programa em Python (bem simples, tipo console) para atender o cliente<\/li>\n<\/ol>\n\n\n\n<p>Vou fazer tudo bem simples e did\u00e1tico para quem est\u00e1 come\u00e7ando! Vamos l\u00e1:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83c\udfaf 1. Casos de Uso<\/h1>\n\n\n\n<p><strong>Ator 1: Cliente<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Visualizar lista de produtos<\/li>\n\n\n\n<li>Escolher produto e adicionais<\/li>\n\n\n\n<li>Preencher nome, telefone e bairro<\/li>\n\n\n\n<li>Confirmar pedido<\/li>\n<\/ul>\n\n\n\n<p><strong>Ator 2: Dono da loja<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cadastrar novo produto<\/li>\n\n\n\n<li>Editar produto<\/li>\n\n\n\n<li>Desativar produto<\/li>\n\n\n\n<li>Cadastrar adicionais<\/li>\n\n\n\n<li>Visualizar pedidos recebidos<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udce6 2. Diagrama de Classes (Simplificado)<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code><code>+----------------+        +----------------+        +----------------+\n|    Produto     |        |    Adicional    |        |     Pedido      |\n+----------------+        +----------------+        +----------------+\n| - id: int      |        | - id: int       |        | - id: int       |\n| - nome: str    |        | - nome: str     |        | - nome_cliente  |\n| - preco: float |        | - preco: float  |        | - telefone      |\n| - tamanho: str |        +----------------+        | - bairro        |\n| - ativo: bool  |                                 | - data_hora     |\n+----------------+                                 +----------------+\n          |                                               |\n          |                                               |\n          |                      +------------------------+\n          |                      |\n          |                 +-----------------+\n          |                 |  ItensPedido     |\n          |                 +-----------------+\n          |                 | - id: int        |\n          +---------------->| - pedido_id: int |\n                            | - produto_id: int|\n                            | - adicionais: str|\n                            +-----------------+\n<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udee2\ufe0f Tabelas no SQLite<\/h1>\n\n\n\n<p>Aqui est\u00e1 o script para criar o banco SQLite:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Cria\u00e7\u00e3o das tabelas no SQLite\n\nCREATE TABLE produtos (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    nome TEXT NOT NULL,\n    preco REAL NOT NULL,\n    tamanho TEXT NOT NULL,\n    ativo INTEGER DEFAULT 1 -- 1 = ativo, 0 = inativo\n);\n\nCREATE TABLE adicionais (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    nome TEXT NOT NULL,\n    preco REAL NOT NULL\n);\n\nCREATE TABLE pedidos (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    nome_cliente TEXT NOT NULL,\n    telefone_cliente TEXT NOT NULL,\n    bairro TEXT,\n    data_hora TEXT DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE itens_pedido (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    pedido_id INTEGER,\n    produto_id INTEGER,\n    adicionais TEXT,\n    FOREIGN KEY (pedido_id) REFERENCES pedidos(id),\n    FOREIGN KEY (produto_id) REFERENCES produtos(id)\n);\n<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udc0d C\u00f3digo Python usando <strong>SQLite<\/strong> (bem f\u00e1cil)<\/h1>\n\n\n\n<p>Aqui est\u00e1 o programa completo agora com <strong>banco SQLite<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>import sqlite3\nfrom datetime import datetime\n\n# Conex\u00e3o com o banco SQLite\nconn = sqlite3.connect('acai.db')\ncursor = conn.cursor()\n\n# Cria tabelas se n\u00e3o existirem\ncursor.execute('''\nCREATE TABLE IF NOT EXISTS produtos (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    nome TEXT NOT NULL,\n    preco REAL NOT NULL,\n    tamanho TEXT NOT NULL,\n    ativo INTEGER DEFAULT 1\n)\n''')\n\ncursor.execute('''\nCREATE TABLE IF NOT EXISTS adicionais (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    nome TEXT NOT NULL,\n    preco REAL NOT NULL\n)\n''')\n\ncursor.execute('''\nCREATE TABLE IF NOT EXISTS pedidos (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    nome_cliente TEXT NOT NULL,\n    telefone_cliente TEXT NOT NULL,\n    bairro TEXT,\n    data_hora TEXT DEFAULT CURRENT_TIMESTAMP\n)\n''')\n\ncursor.execute('''\nCREATE TABLE IF NOT EXISTS itens_pedido (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    pedido_id INTEGER,\n    produto_id INTEGER,\n    adicionais TEXT,\n    FOREIGN KEY (pedido_id) REFERENCES pedidos(id),\n    FOREIGN KEY (produto_id) REFERENCES produtos(id)\n)\n''')\n\nconn.commit()\n\ndef cadastrar_produto():\n    nome = input(\"Nome do produto: \")\n    preco = float(input(\"Pre\u00e7o: \"))\n    tamanho = input(\"Tamanho (ex: 300ml, 500ml): \")\n    cursor.execute(\"INSERT INTO produtos (nome, preco, tamanho) VALUES (?, ?, ?)\", (nome, preco, tamanho))\n    conn.commit()\n    print(\"Produto cadastrado!\\n\")\n\ndef cadastrar_adicional():\n    nome = input(\"Nome do adicional: \")\n    preco = float(input(\"Pre\u00e7o do adicional: \"))\n    cursor.execute(\"INSERT INTO adicionais (nome, preco) VALUES (?, ?)\", (nome, preco))\n    conn.commit()\n    print(\"Adicional cadastrado!\\n\")\n\ndef listar_produtos():\n    cursor.execute(\"SELECT id, nome, preco, tamanho FROM produtos WHERE ativo = 1\")\n    produtos = cursor.fetchall()\n    print(\"\\nProdutos dispon\u00edveis:\")\n    for prod in produtos:\n        print(f\"{prod&#91;0]}. {prod&#91;1]} - {prod&#91;3]} - R$ {prod&#91;2]:.2f}\")\n    print()\n\ndef listar_adicionais():\n    cursor.execute(\"SELECT id, nome, preco FROM adicionais\")\n    adicionais = cursor.fetchall()\n    print(\"\\nAdicionais dispon\u00edveis:\")\n    for ad in adicionais:\n        print(f\"{ad&#91;0]}. {ad&#91;1]} - R$ {ad&#91;2]:.2f}\")\n    print()\n\ndef fazer_pedido():\n    listar_produtos()\n    produto_id = input(\"Escolha o n\u00famero do produto: \")\n    cursor.execute(\"SELECT nome, tamanho FROM produtos WHERE id = ? AND ativo = 1\", (produto_id,))\n    produto = cursor.fetchone()\n    if not produto:\n        print(\"Produto inv\u00e1lido!\")\n        return\n\n    adicionais_selecionados = &#91;]\n    while True:\n        listar_adicionais()\n        add = input(\"Escolha o n\u00famero do adicional (ou ENTER para finalizar): \")\n        if add == \"\":\n            break\n        cursor.execute(\"SELECT nome FROM adicionais WHERE id = ?\", (add,))\n        adicional = cursor.fetchone()\n        if adicional:\n            adicionais_selecionados.append(adicional&#91;0])\n\n    nome_cliente = input(\"Nome do cliente: \")\n    telefone = input(\"Telefone do cliente: \")\n    bairro = input(\"Bairro do cliente: \")\n\n    cursor.execute(\"INSERT INTO pedidos (nome_cliente, telefone_cliente, bairro) VALUES (?, ?, ?)\", \n                   (nome_cliente, telefone, bairro))\n    pedido_id = cursor.lastrowid\n\n    adicionais_texto = ', '.join(adicionais_selecionados)\n    cursor.execute(\"INSERT INTO itens_pedido (pedido_id, produto_id, adicionais) VALUES (?, ?, ?)\", \n                   (pedido_id, produto_id, adicionais_texto))\n    \n    conn.commit()\n    print(\"Pedido registrado com sucesso!\\n\")\n\ndef listar_pedidos():\n    cursor.execute('''\n    SELECT pedidos.nome_cliente, pedidos.telefone_cliente, pedidos.bairro, pedidos.data_hora,\n           produtos.nome, produtos.tamanho, itens_pedido.adicionais\n    FROM pedidos\n    JOIN itens_pedido ON pedidos.id = itens_pedido.pedido_id\n    JOIN produtos ON produtos.id = itens_pedido.produto_id\n    ''')\n    pedidos = cursor.fetchall()\n    print(\"\\nPedidos recebidos:\")\n    for ped in pedidos:\n        print(f\"- {ped&#91;0]} ({ped&#91;1]}) pediu {ped&#91;4]} {ped&#91;5]} com {ped&#91;6]} &#91;{ped&#91;3]}] - Bairro: {ped&#91;2]}\")\n    print()\n\ndef menu_admin():\n    while True:\n        print(\"\\n=== Menu Admin ===\")\n        print(\"1. Cadastrar Produto\")\n        print(\"2. Cadastrar Adicional\")\n        print(\"3. Listar Pedidos\")\n        print(\"4. Sair\")\n        op = input(\"Escolha: \")\n        if op == \"1\":\n            cadastrar_produto()\n        elif op == \"2\":\n            cadastrar_adicional()\n        elif op == \"3\":\n            listar_pedidos()\n        elif op == \"4\":\n            break\n        else:\n            print(\"Op\u00e7\u00e3o inv\u00e1lida.\")\n\ndef menu_cliente():\n    while True:\n        print(\"\\n=== Menu Cliente ===\")\n        print(\"1. Fazer Pedido\")\n        print(\"2. Sair\")\n        op = input(\"Escolha: \")\n        if op == \"1\":\n            fazer_pedido()\n        elif op == \"2\":\n            break\n        else:\n            print(\"Op\u00e7\u00e3o inv\u00e1lida.\")\n\ndef main():\n    while True:\n        print(\"\\n=== Sistema A\u00e7a\u00ed ===\")\n        print(\"1. Cliente\")\n        print(\"2. Admin\")\n        print(\"3. Sair\")\n        op = input(\"Escolha: \")\n        if op == \"1\":\n            menu_cliente()\n        elif op == \"2\":\n            menu_admin()\n        elif op == \"3\":\n            print(\"At\u00e9 mais!\")\n            break\n        else:\n            print(\"Op\u00e7\u00e3o inv\u00e1lida.\")\n\nif __name__ == \"__main__\":\n    main()\n<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde1 O que voc\u00ea tem agora:<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Casos de uso \u2705<\/li>\n\n\n\n<li>Diagrama de classes \u2705<\/li>\n\n\n\n<li>Estrutura de tabelas SQL \u2705<\/li>\n\n\n\n<li>Programa Python inicial \u2705<\/li>\n<\/ul>\n\n\n\n<p>Vou montar agora um exemplo usando <strong>Streamlit<\/strong>, que \u00e9 perfeito para criar <strong>interfaces web simples<\/strong> em Python \u2014 ideal pra mostrar pra turma!<\/p>\n\n\n\n<p>\ud83d\udca1 O que vamos fazer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Listar produtos<\/li>\n\n\n\n<li>Cliente escolher o produto<\/li>\n\n\n\n<li>Selecionar adicionais<\/li>\n\n\n\n<li>Preencher nome, telefone e bairro<\/li>\n\n\n\n<li>Confirmar o pedido<\/li>\n\n\n\n<li>Mostrar o pedido feito na tela (como simula\u00e7\u00e3o)<\/li>\n<\/ul>\n\n\n\n<p>Tudo direto pelo navegador, usando o <code>acai.db<\/code> (SQLite)!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udda5\ufe0f C\u00f3digo <strong>Streamlit<\/strong> (arquivo <code>app.py<\/code>)<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code><code>import streamlit as st\nimport sqlite3\nfrom datetime import datetime\n\n# Conex\u00e3o com o banco SQLite\nconn = sqlite3.connect('acai.db', check_same_thread=False)\ncursor = conn.cursor()\n\n# Fun\u00e7\u00f5es auxiliares\ndef listar_produtos():\n    cursor.execute(\"SELECT id, nome, preco, tamanho FROM produtos WHERE ativo = 1\")\n    return cursor.fetchall()\n\ndef listar_adicionais():\n    cursor.execute(\"SELECT id, nome, preco FROM adicionais\")\n    return cursor.fetchall()\n\ndef registrar_pedido(nome_cliente, telefone, bairro, produto_id, adicionais_lista):\n    cursor.execute(\"INSERT INTO pedidos (nome_cliente, telefone_cliente, bairro) VALUES (?, ?, ?)\", \n                   (nome_cliente, telefone, bairro))\n    pedido_id = cursor.lastrowid\n    adicionais_texto = ', '.join(adicionais_lista)\n    cursor.execute(\"INSERT INTO itens_pedido (pedido_id, produto_id, adicionais) VALUES (?, ?, ?)\", \n                   (pedido_id, produto_id, adicionais_texto))\n    conn.commit()\n\n# Layout da p\u00e1gina\nst.title(\"\ud83c\udf67 Loja de A\u00e7a\u00ed\")\n\nst.header(\"Escolha seu A\u00e7a\u00ed\")\n\nprodutos = listar_produtos()\nprodutos_dict = {f\"{nome} - {tamanho} - R$ {preco:.2f}\": id for id, nome, preco, tamanho in produtos}\n\nproduto_escolhido = st.selectbox(\"Selecione um produto\", list(produtos_dict.keys()))\n\nadicionais = listar_adicionais()\nadicionais_selecionados = st.multiselect(\n    \"Escolha adicionais (opcional)\",\n    &#91;f\"{nome} - R$ {preco:.2f}\" for id, nome, preco in adicionais]\n)\n\nst.header(\"Seus Dados\")\n\nnome_cliente = st.text_input(\"Nome completo\")\ntelefone = st.text_input(\"Telefone\")\nbairro = st.text_input(\"Bairro\")\n\nif st.button(\"Confirmar Pedido\"):\n    if nome_cliente and telefone and produto_escolhido:\n        # Captura IDs dos adicionais selecionados\n        adicionais_nomes = &#91;a.split(' - ')&#91;0] for a in adicionais_selecionados]\n        \n        produto_id = produtos_dict&#91;produto_escolhido]\n        registrar_pedido(nome_cliente, telefone, bairro, produto_id, adicionais_nomes)\n\n        st.success(\"Pedido enviado com sucesso!\")\n        st.balloons()\n    else:\n        st.error(\"Preencha seu nome, telefone e selecione um produto!\")\n\nst.divider()\n\nst.subheader(\"\ud83d\udccb \u00daltimos Pedidos\")\n\ncursor.execute('''\n    SELECT pedidos.nome_cliente, produtos.nome, produtos.tamanho, itens_pedido.adicionais, pedidos.data_hora\n    FROM pedidos\n    JOIN itens_pedido ON pedidos.id = itens_pedido.pedido_id\n    JOIN produtos ON produtos.id = itens_pedido.produto_id\n    ORDER BY pedidos.data_hora DESC\n    LIMIT 5\n''')\nultimos_pedidos = cursor.fetchall()\n\nfor ped in ultimos_pedidos:\n    st.write(f\"**{ped&#91;0]}** pediu **{ped&#91;1]} {ped&#91;2]}** com _{ped&#91;3]}_ em {ped&#91;4]}\")\n\n<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\ude80 Como Rodar:<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Instalar o Streamlit:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">bashCopiarEditar<code>pip install streamlit\n<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Criar o arquivo <code>app.py<\/code> com o c\u00f3digo acima.<\/li>\n\n\n\n<li>Rodar o aplicativo:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">bashCopiarEditar<code>streamlit run app.py\n<\/code><\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Vai abrir o navegador automaticamente!<br>(Voc\u00ea ver\u00e1 a lojinha de A\u00e7a\u00ed funcionando \ud83d\udc9c)<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udccb O que esse exemplo ensina:<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conex\u00e3o SQLite<\/li>\n\n\n\n<li>Interface web amig\u00e1vel<\/li>\n\n\n\n<li>Escolha de produtos e adicionais<\/li>\n\n\n\n<li>Registro de pedidos<\/li>\n\n\n\n<li>Feedback visual para o usu\u00e1rio<\/li>\n\n\n\n<li>Listagem dos \u00faltimos pedidos feitos<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>A partir dessa conversa, o aluno consegue extrair: Banco de Dados Simplificado Casos de Uso Objetivo Final \ud83c\udfaf Criar um site com: Vou seguir essa ordem para ficar f\u00e1cil para seus alunos: Vou fazer tudo bem simples e did\u00e1tico para quem est\u00e1 come\u00e7ando! Vamos l\u00e1: \ud83c\udfaf 1. Casos de Uso Ator 1: Cliente Ator 2: [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[596],"tags":[],"class_list":["post-26008","post","type-post","status-publish","format-standard","hentry","category-pds-e-metodologias-ageis"],"_links":{"self":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts\/26008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/comments?post=26008"}],"version-history":[{"count":2,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts\/26008\/revisions"}],"predecessor-version":[{"id":26011,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts\/26008\/revisions\/26011"}],"wp:attachment":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/media?parent=26008"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/categories?post=26008"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/tags?post=26008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}