{
  "info": {
    "name": "Poštárna: objednávky a události",
    "description": "Objednávky, kontakty a události přes REST API v1 a účtové webhooky (API v3). Vyplňte proměnné kolekce: apiKey (Nastavení › Datové zdroje › API klíče), tenant (data.guid z GET /api/v3/account-info), shopId (GET /shops) a memberEmail (jen pro webhooky, HTTP Basic). Návod: https://www.postarna.cz/docs/api/orders-events-api",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://www.postarna.cz"
    },
    {
      "key": "apiKey",
      "value": ""
    },
    {
      "key": "tenant",
      "value": ""
    },
    {
      "key": "shopId",
      "value": ""
    },
    {
      "key": "memberEmail",
      "value": ""
    },
    {
      "key": "contactId",
      "value": ""
    },
    {
      "key": "purposeId",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Začátek",
      "item": [
        {
          "name": "ID firmy (account-info)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v3/account-info",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v3",
                "account-info"
              ]
            },
            "description": "data.guid = proměnná tenant.",
            "auth": {
              "type": "basic",
              "basic": [
                {
                  "key": "username",
                  "value": "{{memberEmail}}",
                  "type": "string"
                },
                {
                  "key": "password",
                  "value": "{{apiKey}}",
                  "type": "string"
                }
              ]
            }
          }
        },
        {
          "name": "E-shopy firmy",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/shops",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "shops"
              ]
            },
            "description": "id e-shopu = proměnná shopId."
          }
        }
      ]
    },
    {
      "name": "Objednávky",
      "item": [
        {
          "name": "Založit nebo upravit objednávku",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "orders"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"2026001234\",\n  \"shopId\": \"{{shopId}}\",\n  \"createdAt\": \"2026-10-01T09:30:00+02:00\",\n  \"paidAt\": null,\n  \"email\": \"jana.novakova@example.cz\",\n  \"status\": \"Vyřizuje se\",\n  \"eshopCode\": \"2026001234\",\n  \"currency\": \"CZK\",\n  \"totalWithVat\": \"1290.00\",\n  \"totalWithoutVat\": \"1066.12\",\n  \"items\": [\n    {\n      \"id\": \"KAVA-1KG\",\n      \"name\": \"Káva Kolumbie 1 kg\",\n      \"quantity\": 1,\n      \"unit\": \"ks\",\n      \"price\": {\n        \"withVat\": \"1290.00\",\n        \"withoutVat\": \"1066.12\",\n        \"currency\": \"CZK\"\n      },\n      \"url\": \"https://www.example.cz/kava-kolumbie\",\n      \"attributes\": {\n        \"Category\": \"Káva\",\n        \"Brand\": \"Example\"\n      }\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Klíč je (shopId, id): stejná objednávka znovu vrátí 200 unchanged. Každý zápis nahrazuje celou objednávku."
          }
        },
        {
          "name": "Změna stavu (celá objednávka znovu)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "orders"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"2026001234\",\n  \"shopId\": \"{{shopId}}\",\n  \"createdAt\": \"2026-10-01T09:30:00+02:00\",\n  \"paidAt\": \"2026-10-01T10:05:00+02:00\",\n  \"email\": \"jana.novakova@example.cz\",\n  \"status\": \"Zaplaceno\",\n  \"eshopCode\": \"2026001234\",\n  \"currency\": \"CZK\",\n  \"totalWithVat\": \"1290.00\",\n  \"totalWithoutVat\": \"1066.12\",\n  \"items\": [\n    {\n      \"id\": \"KAVA-1KG\",\n      \"name\": \"Káva Kolumbie 1 kg\",\n      \"quantity\": 1,\n      \"unit\": \"ks\",\n      \"price\": {\n        \"withVat\": \"1290.00\",\n        \"withoutVat\": \"1066.12\",\n        \"currency\": \"CZK\"\n      },\n      \"url\": \"https://www.example.cz/kava-kolumbie\",\n      \"attributes\": {\n        \"Category\": \"Káva\",\n        \"Brand\": \"Example\"\n      }\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Objednávky kontaktu",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/orders?contactId={{contactId}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "orders?contactId={{contactId}}"
              ]
            }
          }
        },
        {
          "name": "Mapa stavů",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/order-states",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "order-states"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Kontakty",
      "item": [
        {
          "name": "Odběratel se souhlasem",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "contacts"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"petr.svoboda@example.cz\",\n  \"shopId\": \"{{shopId}}\",\n  \"firstName\": \"Petr\",\n  \"purposeId\": \"{{purposeId}}\",\n  \"consentConfirmed\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "purposeId (proměnná) z GET /purposes. Bez souhlasu kontakt nezakládejte: kupující bez souhlasu vznikne sám z objednávky jako zákazník bez marketingového souhlasu."
          }
        },
        {
          "name": "Najít kontakt podle e-mailu",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/contacts?q=petr.svoboda@example.cz",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "contacts?q=petr.svoboda@example.cz"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Události",
      "item": [
        {
          "name": "Vlastní událost",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/contact-events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "contact-events"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"custom\",\n  \"email\": \"jana.novakova@example.cz\",\n  \"name\": \"registrace-vernostni-program\",\n  \"data\": {\n    \"level\": \"zlata\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Košík (celý obsah)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/contact-events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "contact-events"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"cart\",\n  \"email\": \"jana.novakova@example.cz\",\n  \"shopId\": \"{{shopId}}\",\n  \"currency\": \"CZK\",\n  \"total\": \"1290.00\",\n  \"items\": [\n    {\n      \"code\": \"KAVA-1KG\",\n      \"name\": \"Káva Kolumbie 1 kg\",\n      \"quantity\": 1,\n      \"price\": \"1290.00\",\n      \"url\": \"https://www.example.cz/kava-kolumbie\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Návštěva stránky",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/tenants/{{tenant}}/contact-events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "tenants",
                "{{tenant}}",
                "contact-events"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"visit\",\n  \"email\": \"jana.novakova@example.cz\",\n  \"shopId\": \"{{shopId}}\",\n  \"url\": \"https://www.example.cz/kava-kolumbie\",\n  \"visitType\": \"product\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Webhooky",
      "item": [
        {
          "name": "Seznam webhooků",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v3/web-hooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v3",
                "web-hooks"
              ]
            },
            "auth": {
              "type": "basic",
              "basic": [
                {
                  "key": "username",
                  "value": "{{memberEmail}}",
                  "type": "string"
                },
                {
                  "key": "password",
                  "value": "{{apiKey}}",
                  "type": "string"
                }
              ]
            }
          }
        },
        {
          "name": "Nový webhook (nový kontakt)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v3/web-hooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v3",
                "web-hooks"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"target_url\": \"https://crm.example.cz/postarna/webhook\",\n  \"event\": \"new_contact\",\n  \"basic_auth\": {\n    \"login\": \"postarna\",\n    \"password\": \"vygenerujte-nahodne-heslo-aspon-32-znaku\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "basic",
              "basic": [
                {
                  "key": "username",
                  "value": "{{memberEmail}}",
                  "type": "string"
                },
                {
                  "key": "password",
                  "value": "{{apiKey}}",
                  "type": "string"
                }
              ]
            }
          }
        }
      ]
    }
  ]
}
