> ## Documentation Index
> Fetch the complete documentation index at: https://api.housera.ro/llms.txt
> Use this file to discover all available pages before exploring further.

# Rapoartele vizionărilor

> Cum citești raportul vizionărilor unui anunț sau al unui proiect și cum dai proprietarului linkul spre el.

Raportul arată ce s-a întâmplat cu vizionările unui anunț în ultimele 14 zile: câte cereri au venit, câte s-au confirmat, câți oameni au venit și câți revin. Prin API îl citești și îi dai proprietarului linkul spre el. E același raport ca pagina Raportul anunțului din cont.

Raportul e doar al firmelor, pentru cine gestionează anunțul sau are vizionările lui. Pentru anunțul unei persoane fizice sau un anunț pe care cheia nu îl atinge, răspunsul e `404`.

## Raportul anunțului

`GET /account/listings/{code}/viewing-report` cere dreptul `listings:read`:

```json theme={null}
{ "data": {
  "from": "2026-10-29", "to": "2026-11-12", "timezone": "Europe/Bucharest",
  "funnel": { "requests": 14, "confirmed": 11, "came": 8, "again": 3 },
  "rows": [ { "starts_at": "2026-11-10T08:00:00+00:00", "visitor": 3, "outcome": "again" } ],
  "link": { "created_at": "2026-11-09T12:00:00+00:00", "expires_at": "2027-02-07T12:00:00+00:00" },
  "shareable": true
} }
```

* Perioada sunt ultimele 14 zile, pe ceasul locului anunțului (`timezone`).
* `funnel.requests` numără toate cererile primite, și pe cele anulate, refuzate sau expirate. `confirmed` sunt cele confirmate, `came` vizitele la care omul a venit, iar `again` cele după care vrea să revină sau a făcut o ofertă.
* `rows` sunt vizionările încheiate, cele mai noi întâi. `visitor` e un număr, nu o persoană: același om are același număr la fiecare vizită din perioadă. `outcome` e răspunsul la „Cum a fost?” (`offer`, `again`, `not_interested`, `no_show`) sau `null` dacă n-ai spus încă.
* `open_houses` sunt open house-urile din perioadă, cele mai noi întâi, ca în portal: `starts_at`, `came` (câți au venit) și `interested` (câți dintre ei ai marcat „Interesat”). Nu apare niciun nume. Pâlnia numără doar vizionările programate.
* Raportul nu are nume, telefoane, emailuri sau note.
* `link` descrie linkul pentru proprietar fără adresa lui, `null` când nu e niciunul pornit. `shareable` e `false` cât timp anunțul nu e pe site (în ciornă, în moderare, vândut, retras sau expirat).

## Linkul pentru proprietar

`POST /listings/{code}/viewing-report/link` îți dă linkul pornit sau face unul nou și răspunde cu adresa lui:

```json theme={null}
{ "data": { "url": "https://housera.ro/raport-vizionari/…", "created_at": "2026-11-12T09:00:00+00:00", "expires_at": "2027-02-10T09:00:00+00:00", "created": true } }
```

Un anunț are un singur link pornit, același în portal și în API. Răspunsul e `201` când linkul s-a făcut acum și `200` când era deja pornit; două cereri deodată primesc același link. Linkul merge 90 de zile. Proprietarul îl deschide fără cont și vede raportul, fără numele vizitatorilor. Adresa e un acces: păstreaz-o ca pe o parolă. Pentru un anunț care nu e pe site primești `422 not_shareable`.

`DELETE /listings/{code}/viewing-report/link` oprește linkul. Cine îl are vede că nu mai funcționează. Răspunsul e `204`, și când nu era niciun link pornit.

## Trimiterea pe email

`POST /listings/{code}/viewing-report/send` trimite linkul pe email, la adresa din `email`, cu numele tău și numele firmei. Dacă nu e niciun link pornit, se face unul. Răspunsul e `202` cu `{ "data": { "sent": true } }`.

Fiecare persoană poate trimite cel mult 20 de rapoarte pe zi, adunate din portal și din API. Al 21-lea primește `422 viewing_report_send_limit` pe `/email`; linkul îl poți lua în continuare cu `POST …/link`. Housera nu păstrează adresa. Pentru un anunț care nu e pe site primești `422 not_shareable`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.