Post-it¶
Endpoint disponibili¶
| Metodo | Path | Descrizione |
|---|---|---|
| GET | /v1/postit |
Lettura note post-it (filtri: codice_interno, gruppo, sottogruppo, codice, paginazione) |
| GET | /v1/postit/up |
Lettura note post-it aggiornate a partire da un sync id |
Solo esportazione. Le note vengono alimentate dal gestionale tramite i processi SWN115 / SWA046.
Una nota e' identificata dalla combinazione di anagrafica, merce e area: puo' riguardare un cliente/fornitore oppure una merce, mai entrambi contemporaneamente.
Schema output¶
PostitOutput¶
| Campo | Tipo | Campo DB / Join | Note |
|---|---|---|---|
area |
string | trim(a_ptt_area) |
Area di competenza (vedi enum sotto) |
note |
string | trim(a_ptt_note) |
Testo della nota (max 2000 char) |
sync |
integer | a_ptt_id_sincro |
ID di sincronizzazione |
cancellato |
boolean | a_ptt_fl_canc = 'C' |
true se la nota e' cancellata logicamente |
codice_cliente |
string | trim(a_ptt_ana) |
Codice interno cliente/fornitore (vuoto se la nota riguarda una merce) |
codice_host_cliente |
string | LEFT JOIN arpanagr.rana_codice_host |
Codice cliente/fornitore nel sistema host esterno |
gruppo |
string | LEFT JOIN arpmerci.rmer_gru |
Gruppo codice merce (vuoto se nota per anagrafica o merce non raccordata) |
sottogruppo |
string | LEFT JOIN arpmerci.rmer_sot |
Sottogruppo codice merce (vuoto se nota per anagrafica o merce non raccordata) |
codice |
integer | LEFT JOIN arpmerci.rmer_cod |
Codice merce (0 se nota per anagrafica o merce non raccordata) |
codice_host_merce |
string | LEFT JOIN arpmerci.rmer_cma |
Codice merce nel sistema host esterno |
Mutua esclusivita': una nota riguarda o un'anagrafica (cliente/fornitore) o una merce. I campi della sezione non applicabile sono stringhe vuote (o 0 per codice).
Enum area (a_ptt_area)¶
| Valore | Significato |
|---|---|
"" |
Generale |
"A" |
Assistenza |
"C" |
Contabilita' |
"Q" |
Acquisti |
"V" |
Vendite |
Il valore DB " " (singolo spazio) viene esposto come stringa vuota dopo trim.
Query string¶
GET /v1/postit¶
| Parametro | Tipo | Obbligatorio | Note |
|---|---|---|---|
limit |
integer | NO | Max risultati (default/max: 200) |
page |
integer | NO | Pagina (paginazione offset-based) |
codice_interno |
string | NO | Filtra per codice interno cliente/fornitore (match esatto su a_ptt_ana) |
gruppo |
string | NO | Filtra per gruppo del codice merce |
sottogruppo |
string | NO | Filtra per sottogruppo del codice merce |
codice |
integer | NO | Filtra per codice merce |
GET /v1/postit/up¶
| Parametro | Tipo | Obbligatorio | Note |
|---|---|---|---|
sync |
integer | SI | ID sincronizzazione di partenza |
Ordinamento per a_ptt_id_sincro crescente: il client puo' usare l'ultimo sync restituito come punto di partenza per la chiamata successiva.
Tabella sorgente¶
ARPPOSTIT¶
PK: (a_ptt_azi, a_ptt_ana, a_ptt_merce, a_ptt_area).
| Campo | Tipo | Note |
|---|---|---|
a_ptt_azi |
char(6) | Codice azienda |
a_ptt_ana |
char(6) | Codice anagrafico (vuoto se nota su merce) |
a_ptt_merce |
char(9) | Codice merce, formato GGSSCCCCC (vuoto se nota anagrafica) |
a_ptt_area |
char(1) | Area di competenza |
a_ptt_note |
varchar(2000) | Testo nota |
a_ptt_fl_canc |
char(1) | 'C' se cancellato |
a_ptt_id_sincro |
num(15) | ID sincronizzazione |
Join¶
| Tabella | Condizione | Tipo | Scopo |
|---|---|---|---|
ARPANAGR |
rana_azi = a_ptt_azi AND rana_codana = a_ptt_ana AND trim(a_ptt_ana) <> '' |
LEFT | codice_host_cliente |
ARPMERCI |
rmer_azi = a_ptt_azi AND rmer_cm = a_ptt_merce |
LEFT | gruppo, sottogruppo, codice, codice_host_merce |
Il JOIN su arpmerci sfrutta la corrispondenza diretta tra a_ptt_merce (9 char) e rmer_cm. I campi rmer_gru/rmer_sot/rmer_cod/rmer_cma della riga matchata sono esposti direttamente in output (con coalesce per il caso nota-anagrafica in cui la JOIN non matcha).
Risposta¶
200 OK¶
Array di PostitOutput. Esempio con una nota per cliente e una per merce:
[
{
"area": "V",
"note": "Cliente sempre in ritardo sui pagamenti",
"sync": 123456789,
"cancellato": false,
"codice_cliente": "C00123",
"codice_host_cliente": "CLI-EXT-456",
"gruppo": "",
"sottogruppo": "",
"codice": 0,
"codice_host_merce": ""
},
{
"area": "Q",
"note": "Ordine minimo 50 pezzi presso fornitore XYZ",
"sync": 123456790,
"cancellato": false,
"codice_cliente": "",
"codice_host_cliente": "",
"gruppo": "AB",
"sottogruppo": "CD",
"codice": 12345,
"codice_host_merce": "ART-001"
}
]
400 Bad Request¶
Errore di validazione dei parametri.
401 Unauthorized¶
Autenticazione mancante o non valida.
Pattern cancellazioni¶
Le note cancellate (a_ptt_fl_canc = 'C') sono restituite in entrambi gli endpoint con cancellato = true. Il client deve interpretare il flag per rimuoverle dal proprio stato. Pattern coerente con gli altri endpoint (distinte base, listini).
Limiti¶
| Vincolo | Valore |
|---|---|
| Max note per risposta | 200 |
Programmi di alimentazione¶
La tabella ARPPOSTIT viene alimentata dai processi: