Introduzione Ultimo aggiornamento: 25-08-2023

Benvenuti alla documentazione ufficiale delle API della nostra piattaforma web! Questo documento è stato creato per fornirvi una guida completa sull'utilizzo efficace delle API offerte dalla nostra piattaforma, consentendovi di sfruttarne al massimo le potenzialità per creare applicazioni innovative, automatizzare processi e integrare le funzionalità della piattaforma nei vostri progetti.

Le API (Interfacce di Programmazione delle Applicazioni) rappresentano un mezzo essenziale per consentire alle applicazioni di comunicare tra loro in modo affidabile ed efficiente. Questo documento vi guiderà attraverso i concetti fondamentali delle nostre API, spiegando come accedere, autenticarsi e interagire con le risorse offerte dalla piattaforma.

Verifica del servizio

Per verificare il corretto funzionamento del servizio API, è possibile utilizzare i metodi di test disponibili.

GEThello

https://crm.csoftware.it/api/hello

Non è necessario passare alcun dato. Se si ottiene una risposta, il servizio è raggiungibile!

Il metodo echo restituisce all'utente il valore passato come parametro della chiamata.

GETecho

https://crm.csoftware.it/api/echo/{PARAM}

È sufficiente sostituire al parametro {PARAM} un qualsiasi valore alfanumerico per poter testare il funzionamento della chiamata API

ESEMPIOGET

https://crm.csoftware.it/api/echo/999

Risposta del server

999

Chiamate API

Per poter effettuare chiamate API nella piattaforma CRM è necessario effettuare richieste in POST con il token passato nell'header "X-Authorization" e nel body il JSON (payload) dei parametri della richiesta.
Il payload della richiesta dev'essere inserito all'interno del wrapper "data", come è possibile consultare dagli esempi.

auth

Il metodo auth consente di ottenere un token dalla durata temporale per poter effettuare chiamate API. La richiesta del token può essere effettuata solo se in possesso della chiave API

POSTauth

https://crm.csoftware.it/api/auth

Per ottenere il token è necessario passare come parametro la chiave API.

ESEMPIOPOST

https://crm.csoftware.it/api/auth?apikey={CHIAVE-API}

Risposta del server

 {
	"status": 200, 
	"data": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c3IiOjEsInV1aWQiOiJjNDRlM2RkMzhjZTMyIiwicm9sZSI6ImFwaSIsImlzcyI6Ind3dy5zdXBlcm1lcmNhdGlzYXZvaW5pLml0IiwiYXVkIjoiY3JtIiwidGltZSI6MTY4ODQ4Mjg0OCwiZXhwIjoxNjg4NDgzMjA4fQ.7vmoY8ld8dCX4dsB8n8lCP5OUmVjme_W3hr6knJYAhc" 
 } 

Il contenuto della chiave data è il token ottenuto dalla richiesta e può essere utilizzato per effettuare le richieste successive.

N.B. Il token ha una durata temporale definita. È consigliabile sempre verificare i valori di ritorno delle chiamate API in quanto potrebbe giungere un messaggio di errore per Token scaduto.

POST

Il metodo "echo" restituisce all'utente il valore passato come parametro della chiamata.

POSTEsempio generico

https://crm.csoftware.it/api/servizio/metodo

 Request Headers
 X-Authorization
 Bearer {TOKEN} 
 
 Body [form-data] 
 JSON
 { "data": [ {"param1":"valore1","param2":"valore2", "...": "...", "paramN": "valoreN"},] }
	

ATTENZIONE!

In caso di errore nel formato JSON viene rifiutato l'intero pacchetto di dati.

Per qualsiasi servizio, la chiamata API può essere effettuata soltanto mediante richiesta tramite il token generato dal metodo auth


Risultato

In caso di assenza di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

tpages numero totale di pagine disponibili (vedi size)
page pagina corrente
size numero di righe massimo per pagina
trows numero di righe nel risultato totale
nrows numero di righe nel risultato di pagina attuale
rows array JSON contenente le singole righe risultato

Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

nerrors numero di righe di errore
errors array JSON contenente i singoli messaggi di errore

ESEMPIOPOST

https://crm.csoftware.it/api/{SERVIZIO}/{METODO}

HTTP Request

 POST /api/servizio/metodo?json={"data": [ {"param1":"valore1","param2":"valore2", "...": "...", "paramN": "valoreN"} ]  }
 HTTP/1.1
 Host: crm.csoftware.it
 X-Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c3IiOjEsInV1aWQiOiJjNDRlM2RkMzhjZTMyIiwicm9sZSI6ImFwaSIsImlzcyI6Ind3dy5zdXBlcm1lcmNhdGlzYXZvaW5pLml0IiwiYXVkIjoiY3JtIiwidGltZSI6MTY4ODQ4Mjg0OCwiZXhwIjoxNjg4NDgzMjA4fQ.7vmoY8ld8dCX4dsB8n8lCP5OUmVjme_W3hr6knJYAhc

PHP cURL


 $curl = curl_init();
 
 curl_setopt_array($curl, array(
   CURLOPT_URL => 'https://crm.csoftware.it/api/servizio/metodo?json={%20%22data%22%3A%20%5B%20%7B%22param1%22%3A%22valore1%22%2C%22param2%22%3A%22valore2%22%2C%20%22%2C%20%22paramN%22%3A%20%22valoreN%22%7D%2C%20%5D%20}',
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '',
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => 'POST',
   CURLOPT_HTTPHEADER => array(
     'X-Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c3IiOjEsInV1aWQiOiJjNDRlM2RkMzhjZTMyIiwicm9sZSI6ImFwaSIsImlzcyI6Ind3dy5zdXBlcm1lcmNhdGlzYXZvaW5pLml0IiwiYXVkIjoiY3JtIiwidGltZSI6MTY4ODQ4Mjg0OCwiZXhwIjoxNjg4NDgzMjA4fQ.7vmoY8ld8dCX4dsB8n8lCP5OUmVjme_W3hr6knJYAhc'
   ),
 ));
 
 $response = curl_exec($curl);
 
 curl_close($curl);
 echo $response;

Risposta del server

In caso di assenza di errori, viene restituito un oggetto JSON con la chiave status = 200 e data = OK oppure data = array JSON con i dati.

ATTENZIONE!

In caso di errore viene restituito un oggetto JSON con status = 200 e data = array JSON contenente i messaggi di errore.

Servizi e Metodi app

Raccolta di tutti i metodi dedicati alle APP mobile dell'ecosistema CRM.

get_accesso_app

Questo metodo ritorna tutti i dati personali dell'utente loggato.

POSTget_accesso_app

https://crm.csoftware.it/api/app/get_accesso_app

Richiede due parametri obbligatori in ingresso:

Struttura dei parametri in ingresso

 {"username":"varchar(15),O","password":"varchar(200),O"}

Composizione JSON di chiamata

 {"data": [ {"username":"valore1","password":"valore2"} ]  }

Risposta del server


{
	"struc": [
		[
			"idutente",
			"int(10)"
		],
		[
			"descrizione",
			"text"
		],
		[
			"username",
			"varchar(15)"
		],
		[
			"password",
			"varchar(200)"
		],
		[
			"email",
			"varchar(200)"
		],
		[
			"datareg",
			"datetime"
		],
		[
			"stato",
			"int(1)"
		],
		[
			"token",
			"varchar(50)"
		],
		[
			"idorganizzazione",
			"int(10)"
		],
		[
			"idsedeorg",
			"int(10)"
		],
		[
			"listino",
			"int(10)"
		],
		[
			"superage",
			"int(10)"
		],
		[
			"codage",
			"int(10)"
		]
	],
	"tpages": 1,
	"page": 1,
	"size": 1,
	"trows": 1,
	"nrows": 1,
	"rows": [
		{
			"idutente": "22",
			"descrizione": "Agente_Prova1",
			"username": "Agente_Prova1",
			"password": "f653831964a3f8c6f1936131ac4a5099",
			"email": "web1@csoftware.it",
			"datareg": "2021-10-12 11:17:44",
			"stato": "1",
			"token": "",
			"idorganizzazione": "3602",
			"idsedeorg": "0",
			"listino": "21",
			"superage": "1",
			"codage": "74"
		}
	]
}							


Risultato

idutente Id utente
descrizione Descrizione utente (Ragione Sociale / Nome Cognome)
username Nome utente
password Password
email Indirizzo e-mail utente
datareg Data di registrazione
stato Stato utente: 1 -> attivo; 0 -> non attivo
token Chiave token utente
idorganizzazione ID organizzazione collegata
idsedeorg Id sede organizzazione collegata
listino Codice listino utente
superage Indica se l'utente è un supervisore agente: 1 -> Si; 0 -> No
codage Codice agente utente

Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

MPAPP_ER01 Dati insufficienti: username vuoto o password vuota
MPAPP_ER02 Errore di elaborazione su base dati
MPAPP_ER03 Nessun risultato

get_prodotti

Questo metodo ritorna tutti i prodotti.

POSTget_prodotti

https://crm.csoftware.it/api/app/get_prodotti

I parametri in ingresso sono tutti facoltativi, se omessi la risposta conterrà tutti i risultati in archivio.

Struttura dei parametri in ingresso

 {"idprodotto":"int(10),F","sku":"varchar(200),F","categoria":"int(10),F","ean":"varchar(200),F","codicegestionale":"varchar(200),F","page":"int,F","size":"int,F"}

Composizione JSON di chiamata

 {"data": [ {"idprodotto":"valore1","sku":"valore2","ean":"valore3","codicegestionale":"valore4","page":"valore5","size":"valore6"} ]  }

Risposta del server


    {
    "struct": [
        [
            "idprodotto",
            "int(10)"
        ],
        [
            "sku",
            "varchar(200)"
        ],
        [
            "ean",
            "varchar(13)"
        ],
        [
            "codiceinterno",
            "varchar(200)"
        ],
        [
            "descrizione",
            "varchar(200)"
        ],
        [
            "descrizionesupplementare ",
            "varchar(200)"
        ],
        [
            "descrizioneestesa ",
            "varchar(200)"
        ],
        [
            "unitamisura",
            "varchar(10)"
        ],
        [
            "categoria",
            "int(10)"
        ],
        [
            "d_categoria",
            "varchar(200)"
        ],
        [
            "codice_categoria",
            "varchar(200)"
        ],
        [
            "makebuy",
            "text"
        ],
        [
            "tipoparte",
            "varchar(200)"
        ],
        [
            "fornitore",
            "int(10)"
        ],
        [
            "d_fornitor",
            "varchar(200)"
        ],
        [
            "produttore",
            "int(10)"
        ],
        [
            "d_produttore",
            "varchar(200)"
        ],
        [
            "codiceproduttore",
            "varchar(200)"
        ],
        [
            "codicefornitore",
            "varchar(200)"
        ],
        [
            "costoacquisto",
            "float(15,5)"
        ],
        [
            "scontoa1",
            "float(6,2)"
        ],
        [
            "scontoa2",
            "float(6,2)"
        ],
        [
            "scontoa3",
            "float(6,2)"
        ],
        [
            "scontoa4",
            "float(6,2)"
        ],
        [
            "pesolordo",
            "float(10,2)"
        ],
        [
            "pesonetto",
            "float(10,2)"
        ],
        [
            "volume",
            "float(10,2)"
        ],
        [
            "datainiziovendita",
            "date"
        ],
        [
            "datafinevendita",
            "date"
        ],
        [
            "datainiziovalidita",
            "date"
        ],
        [
            "dataobsolescenza",
            "date"
        ],
        [
            "sospesoperacquisto",
            "tinyint(1)"
        ],
        [
            "sospesopervendita",
            "tinyint(1)"
        ],
        [
            "scortaminima",
            "float(10,2)"
        ],
        [
            "scortamassima",
            "float(10,2)"
        ],
        [
            "lottoriordino",
            "float(10,2)"
        ],
        [
            "percentualeiva",
            "float(10,2)"
        ],
        [
            "prezzodettaglio",
            "float(10,2)"
        ],
        [
            "prezzoingrosso",
            "float(10,2)"
        ],
        [
            "scontov1",
            "float(6,2)"
        ],
        [
            "scontov2",
            "float(6,2)"
        ],
        [
            "scontov3",
            "float(6,2)"
        ],
        [
            "scontov4",
            "float(6,2)"
        ],
        [
            "qtaesistenza",
            "float(15,5)"
        ],
        [
            "qtaordinata",
            "float(15,5)"
        ],
        [
            "qtaimpegnata",
            "float(15,5)"
        ],
        [
            "qtainiziale",
            "float(15,5)"
        ],
        [
            "qtacaricata",
            "float(15,5)"
        ],
        [
            "qtascaricata",
            "float(15,5)"
        ],
        [
            "partediprodotto",
            "int(10)"
        ],
        [
            "schedaprodotto",
            "int(10)"
        ],
        [
            "utenteinserimento",
            "int(10)"
        ],
        [
            "vetrina",
            "tinyint(1)"
        ],
        [
            "visibile",
            "tinyint(1)"
        ],
        [
            "composizione",
            "varchar(250)"
        ],
        [
            "mood",
            "varchar(250)"
        ],
        [
            "codcol",
            "varchar(250)"
        ],
        [
            "stagione",
            "varchar(2)"
        ],
        [
            "anno",
            "int(4)"
        ],
        [
            "linea",
            "varchar(200)"
        ],
        [
            "minimoimpegnabile",
            "int(10)"
        ],
        [
            "massimoimpegnabile",
            "int(10)"
        ],
        [
            "numeropezzi",
            "int(10)"
        ],
        [
            "bloccoaggiornamento",
            "tinyint(1)"
        ],
        [
            "fotoprodotto",
            "text"
        ],
        [
            "cHashRow",
            "text"
        ]
    ],
    "tpages": 1,
    "page": 1,
    "size": 100,
    "trows": 1,
    "nrows": 1,
    "rows": [
        {
            "idprodotto": "1",
            "sku": "PRODOTTO1",
            "ean": "",
            "codiceinterno": "",
            "descrizione": "PRODOTTO 1 - PROVA",
            "descrizionesupplementare": "",
            "descrizioneestesa": "",
            "unitamisura": "PZ",
            "categoria": "1",
            "d_categoria": "CATEGORIA 1",
            "codice_categoria": "",
            "makebuy": "MAKE",
            "tipoparte": "F",
            "fornitore": "0",
            "d_fornitor": "",
            "produttore": "0",
            "d_produttore": "",
            "codiceproduttore": "",
            "codicefornitore": "",
            "costoacquisto": "0.00000",
            "scontoa1": "0.00",
            "scontoa2": "0.00",
            "scontoa3": "0.00",
            "scontoa4": "0.00",
            "pesolordo": "0.00",
            "pesonetto": "0.00",
            "volume": "0.00",
            "datainiziovendita": "0000-00-00",
            "datafinevendita": "0000-00-00",
            "datainiziovalidita": "0000-00-00",
            "dataobsolescenza": "0000-00-00",
            "sospesoperacquisto": "0",
            "sospesopervendita": "0",
            "scortaminima": "0.00",
            "scortamassima": "0.00",
            "lottoriordino": "0.00",
            "percentualeiva": "22.00",
            "prezzodettaglio": "15.00000",
            "prezzoingrosso": "0.00000",
            "scontov1": "0.00",
            "scontov2": "0.00",
            "scontov3": "0.00",
            "scontov4": "0.00",
            "qtaesistenza": "1500.00000",
            "qtaordinata": "0.00000",
            "qtaimpegnata": "0.00000",
            "qtainiziale": "0.00000",
            "qtacaricata": "0.00000",
            "qtascaricata": "0.00000",
            "partediprodotto": "0",
            "schedaprodotto": "0",
            "utenteinserimento": "1",
            "vetrina": "0",
            "visibile": "1",
            "composizione": "0",
            "mood": "0",
            "codcol": "",
            "stagione": "",
            "anno": "0",
            "linea": "",
            "minimoimpegnabile": "0",
            "massimoimpegnabile": "0",
            "numeropezzi": "0",
            "bloccoaggiornamento": "0",
            "fotoprodotto": "uploads\/prodotti\/8000012346789BLK_1678806388.jpg",
            "cHashRow": "cd1b4669ede15b0a11e4c5c4a2a4ba27"
        }
    ]
}


Risultato

idprodotto Id prodotto
sku Codice articolo / SKU
ean Codice EAN
codiceinterno Codice interno
descrizione Descrizione prodotto
descrizionesupplementare Descrizione supplementare
descrizioneestesa Descrizione estesa
unitamisura Unità di misura
categoria Id categoria prodotto
d_categoria Descrizione categoria prodotto
codice_categoria Codice categoria prodotto
makebuy Flag Make / Buy
tipoparte Flag Tipo parte
fornitore ID fornitore
d_fornitor Descrizione fornitore
produttore Id produttore
d_produttore Descrizione produttore
codiceproduttore Codice produttore
codicefornitore Codice fornitore
costoacquisto Costo di acquisto
scontoa1 Primo sconto di acquisto
scontoa2 Secondo sconto di acquisto
scontoa3 Terzo sconto di acquisto
scontoa4 Quarto sconto di acquisto
pesolordo Peso lordo
pesonetto Peso netto
volume Volume
datainiziovendita Data di inizio vendita
datafinevendita Data di fine vendita
datainiziovalidita Data di inizio validità
dataobsolescenza Data di obsolescenza
sospesoperacquisto Flag sospeso per l'acquisto
sospesopervendita Flag sospeso per la vendita
scortaminima Scorta minima
scortamassima Scorta massima
lottoriordino Lotto di riordino
percentualeiva Percentuale IVA
prezzodettaglio Prezzo al dettaglio
prezzoingrosso Prezzo all'ingrosso
scontov1 Primo sconto di vendita
scontov2 Secondo sconto di vendita
scontov3 Terzo sconto di vendita
scontov4 Quarto sconto di vendita
qtaesistenza Quantità in esistenza
qtaordinata Quantità ordinata
qtaimpegnata Quantità impegnata
qtainiziale Quantità iniziale
qtacaricata Quantità caricata
qtascaricata Quantità scaricata
partediprodotto Parte di prodotto
schedaprodotto Id scheda prodotto
utenteinserimento ID utente inserimento
vetrina Flag vetrina web
visibile Flag visibilità
composizione Composizione
mood Mood
codcol Codice colore
stagione Stagione
anno Anno
linea Linea
minimoimpegnabile Minimo impegnabile
massimoimpegnabile Massimo impegnabile
numeropezzi Numero di pezzi
bloccoaggiornamento Flag blocco aggiornamento
fotoprodotto Foto prodotto
cHashRow Hash di riga

Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

(E00) Errore in esecuzione della query
(E01) Errore nei parametri di paginazione
(E02) Nessun dato corrisponde alla richiesta

get_fotoprodotti

Questo metodo ritorna tutte le foto dei prodotti.

POSTget_fotoprodotti

https://crm.csoftware.it/api/app/get_fotoprodotti

I parametri in ingresso sono tutti facoltativi, se omessi la risposta conterrà tutti i risultati in archivio.

Struttura dei parametri in ingresso

 {"idprodotto":"int(10),F","codart":"varchar(200),F","variazione":"tinyint(1),F","page":"int,F","size":"int,F"}

Composizione JSON di chiamata

 {"data": [ {"idprodotto":"valore1","codart":"valore2","variazione":"valore2","page":"valore2","size":"valore2"} ]  }

Risposta del server


    {
    "struct": [
        [
            "idallegato",
            "int(10)"
        ],
        [
            "tabella",
            "varchar(200)"
        ],
        [
            "file",
            "longtext"
        ],
        [
            "ordine",
            "int(10)"
        ],
        [
            "codart",
            "varchar(200)"
        ],
        [
            "descrizione",
            "longtext"
        ],
        [
            "pesofile",
            "int(10)"
        ],
        [
            "hashfile",
            "varchar(200)"
        ]
    ],
    "tpages": 1,
    "page": 1,
    "size": 100,
    "trows": 3,
    "nrows": 3,
    "rows": [
        {
            "idallegato": "1",
            "tabella": "prodotti",
            "idtabella": "1",
            "file": "http:\/\/192.168.1.50\/\/crm\/uploads\/prodotti\/8000012346789BLK_1678806388.jpg",
            "ordine": "0",
            "codart": "PRODOTTO1",
            "descrizione": "PRODOTTO 1 - PROVA",
            "pesofile": 38648,
            "hashfile": "82FD76A9"
        },
        {
            "idallegato": "2",
            "tabella": "prodotti",
            "idtabella": "2",
            "file": "http:\/\/192.168.1.50\/\/crm\/uploads\/prodotti\/8000012346789WHITE_1678806412.jpg",
            "ordine": "0",
            "codart": "PRODOTTO2",
            "descrizione": "PRODOTTO 2 - PROVA",
            "pesofile": 39802,
            "hashfile": "9440445D"
        },
        {
            "idallegato": "3",
            "tabella": "prodotti",
            "idtabella": "3",
            "file": "http:\/\/192.168.1.50\/\/crm\/uploads\/prodotti\/download.jpg",
            "ordine": "0",
            "codart": "XRAY123",
            "descrizione": "X-Ray Machine ACME Super X",
            "pesofile": 4069,
            "hashfile": "C23EED06"
        }
    ]
}


Risultato

idallegato Id allegato
tabella Tabella origine
idtabella ID di riga della tabella origine
file Percorso remoto immagine prodotto
ordine Ordine di visualizzazione
codart Codice articolo / SKU
descrizione Descrizione prodotto
pesofile Dimensione del file espressa in bytes
hashfile Hash del file

Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

(E00) Errore in esecuzione della query
(E01) Errore nei parametri di paginazione
(E02) Nessun dato corrisponde alla richiesta

get_categorieprodotti

Questo metodo ritorna tutte le categorie prodotti.

POSTget_categorieprodotti

https://crm.csoftware.it/api/app/get_categorieprodotti

I parametri in ingresso sono tutti facoltativi, se omessi la risposta conterrà tutti i risultati in archivio.

Struttura dei parametri in ingresso

 {"idcategoria":"int(10),F","codicegestionale":"varchar(200),F","descrizione":"varchar(200),F","page":"int,F","size":"int,F"}

Composizione JSON di chiamata

 {"data": [ {"idcategoria":"valore1","codicegestionale":"valore2","descrizione":"valore2","page":"valore2","size":"valore2"} ]  }

Risposta del server


{
	"struc": [
		[
			"idcategoria",
			"int(10)"
		],
		[
			"descrizionecategoria",
			"varchar(200)"
		],
		[
			"percorsocompleto",
			"varchar(200)"
		],
		[
			"parent",
			"int(10)"
		],
		[
			"immagine",
			"varchar(200)"
		],
		[
			"icona ",
			"longtext"
		],
		[
			"visibile ",
			"tinyint(1)"
		],
		[
			"ordinevisualizzazione",
			"int(10)"
		],
		[
			"codicegestionale",
			"varchar(200)"
		],
		[
			"cHashRow",
			"text"
		]
	],
	"tpages": 3,
	"page": 1,
	"size": 100,
	"trows": 202,
	"nrows": 100,
	"rows": [
		{
			"idcategoria": "204",
			"descrizionecategoria": "CATEGORIA PRODOTTO 1",
			"percorsocompleto": "CATEGORIA PRODOTTO 1",
			"parent": "0",
			"immagine": "",
			"icona": "",
			"visibile": "1",
			"ordinevisualizzazione": "0",
			"codicegestionale": "010000",
			"cHashRow": "26febb263aafc23798225cf3caadc1a8"
		},
		{
			"idcategoria": "206",
			"descrizionecategoria": "SUB-CATEGORIA 1",
			"percorsocompleto": "CATEGORIA PRODOTTO 1 > SUB-CATEGORIA 1",
			"parent": "204",
			"immagine": "",
			"icona": "",
			"visibile": "1",
			"ordinevisualizzazione": "0",
			"codicegestionale": "010100",
			"cHashRow": "d732ba909d24f3289afcbbd8dbdcd8f5"
		},

	]
}


Risultato

idcategoria Id categoria
descrizionecategoria Descrizione categoria
percorsocompleto Descrizione percorso categoria
parent Id categoria padre
immagine Immagine categoria
icona Icona categoria
visibile Stato visibilità: 1 -> visibile; 0 -> non visibile
ordinevisualizzazione Ordine di visualizzazione
codicegestionale Codice associato nel gestionale
cHashRow Hash di riga

Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

(E00) Errore in esecuzione della query
(E01) Errore nei parametri di paginazione
(E02) Nessun dato corrisponde alla richiesta

get_codiva_gestionale

Questo metodo ritorna tutti i codici IVA del gestionale

POSTget_codiva_gestionale

https://crm.csoftware.it/api/app/get_codiva_gestionale

I parametri in ingresso sono tutti facoltativi, se omessi la risposta conterrà tutte i risultati in archivio.

Struttura dei parametri in ingresso

 {"t_codice":"decimal(3,0),F","t_ivaper":"decimal(5,2),F","page":"int,F","size":"int,F"}

Composizione JSON di chiamata

 {"data": [ {"t_codice":"valore1","t_ivaper":"valore2","page":"valore3","size":"valore4"} ]  }

Risposta del server


{
	"struc": [
		[
			"t_codice",
			"decimal(3,0)"
		],
		[
			"t_ivades",
			"char(20)"
		],
		[
			"t_ivaper",
			"decimal(5,2)"
		],
		[
			"t_ivaind",
			"decimal(3,0)"
		],
		[
			"t_ivaagr",
			"char(1)"
		],
		[
			"t_ivamoa",
			"char(1)"
		],
		[
			"t_ivaven",
			"decimal(3,0)"
		],
		[
			"t_ivapra",
			"char(1)"
		],
		[
			"t_ivabol",
			"char(1)"
		],
		[
			"t_ivavap",
			"char(1)"
		],
		[
			"t_ivaavi",
			"char(1)"
		],
		[
			"t_ivatip",
			"char(6)"
		],
		[
			"t_ivadic",
			"char(1)"
		],
		[
			"t_ivaint",
			"char(1)"
		],
		[
			"t_ivaesi",
			"char(1)"
		],
		[
			"t_ivacom",
			"decimal(5,2)"
		],
		[
			"t_ivarch",
			"char(1)"
		],
		[
			"t_ivaser",
			"char(1)"
		],
		[
			"t_ivaav2",
			"char(1)"
		],
		[
			"t_ivaspa",
			"char(1)"
		],
		[
			"t_ivarfn",
			"char(100)"
		],
		[
			"t_ivabus",
			"decimal(1,0)"
		],
		[
			"t_ivabua",
			"decimal(5,2)"
		],
		[
			"uid",
			"char(20)"
		],
		[
			"udt",
			"datetime"
		],
		[
			"filiale",
			"char(20)"
		],
		[
			"idunico",
			"char(10)"
		],
		[
			"cid",
			"char(20)"
		],
		[
			"cdt",
			"datetime"
		],
		[
			"tableid",
			"decimal(10,0)"
		],
		[
			"dbprovenienza",
			"varchar(200)"
		],
		[
			"tabprovenienza",
			"varchar(200)"
		],
		[
			"crc",
			"varchar(200)"
		],
		[
			"pkey",
			"varchar(200)"
		],
		[
			"pcprovenienza",
			"text"
		],
		[
			"utentepc",
			"text"
		],
		[
			"cHashRow",
			"text"
		]
	],
	"tpages": 1,
	"page": 1,
	"size": 100,
	"trows": 1,
	"nrows": 1,
	"rows": [
		{
			"t_codice": "1",
			"t_ivades": "NI ART 41 DL331\/93",
			"t_ivaper": "0.00",
			"t_ivaind": "0",
			"t_ivaagr": "N",
			"t_ivamoa": "N",
			"t_ivaven": "0",
			"t_ivapra": "N",
			"t_ivabol": "N",
			"t_ivavap": "1",
			"t_ivaavi": "",
			"t_ivatip": "N3.2",
			"t_ivadic": "",
			"t_ivaint": "",
			"t_ivaesi": "",
			"t_ivacom": "0.00",
			"t_ivarch": "N",
			"t_ivaser": "N",
			"t_ivaav2": "N",
			"t_ivaspa": "N",
			"t_ivarfn": "",
			"t_ivabus": "0",
			"t_ivabua": "0.00",
			"uid": "ARMANDO",
			"udt": "2020-12-16 00:00:00",
			"filiale": "",
			"idunico": "",
			"cid": "",
			"cdt": "0000-00-00 00:00:00",
			"tableid": "0",
			"dbprovenienza": "MEP.DBC",
			"tabprovenienza": "k_codiva",
			"crc": "3639023550",
			"pkey": "1",
			"pcprovenienza": "SERVER",
			"utentepc": "Administrator",
			"cHashRow": "7f2ab6765dad9dc44b2870cbc1cd747d"
		}
	]
}


Risultato

t_codice Codice
t_ivades Descrizione
t_ivaper Percentuale IVA
t_ivaind Percentuale indetraibile
t_ivaagr Agricola
t_ivamoa Aggiorna monte acquisti
t_ivaven Codice per ventilazione
t_ivapra Pro-rata
t_ivabol Bollo esenzione
t_ivavap Plafond
t_ivaavi Agenzie viaggi
t_ivatip Tipo
t_ivadic Escludi da dichiarazione
t_ivaint Escludi da INTRA
t_ivaesi Esigibilità differita
t_ivacom Percentuale compensazione
t_ivarch
t_ivaser
t_ivaav2
t_ivaspa
t_ivarfn
t_ivabus
t_ivabua
uid Utente
udt Data e ora
filiale Filiale
idunico Id unico
cid ID
cdt
tableid ID di riga
dbprovenienza Database provenienza
tabprovenienza Tabella provenienza
crc CRC
pkey PKey
pcprovenienza PC Provenienza
utentepc Utente PC
cHashRow Hash di riga

Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

(E00) Errore in esecuzione della query
(E01) Errore nei parametri di paginazione
(E02) Nessun dato corrisponde alla richiesta

put_ordine

Questo metodo invia un ordine sul CRM.

POSTput_ordine

https://crm.csoftware.it/api/app/put_ordine

Vi è un solo parametro in ingresso e corrisponde ad un Array con il dettaglio ordine-

Struttura dei parametri in ingresso

 {"ordini":"memo,O"}

Composizione JSON di chiamata

 
Array
(
    [numerodoc] => 1
    [datadoc] => 2023-08-03
    [app_ordersID] => 2
    [idcliente] => 6015
    [idagente] => 84
    [codicepagamento] => 3
    [destinazione] => NjEzNSBEQUdHRVQgUkQNCkdJUkFSRC0gUEVOTlNZTFZBTklBLFBBDQoxNjQxNw0K
    [destinazioneid] => MA==
    [noteordine] => 455rr
    [totimponi] =>     132,20
    [totimposta] =>      29,08
    [totdocumento] =>     161,28
    [keyordine] => 1|03/08/2023 00:00:00:00|6015|65
    [spesetrasporto] => 0
    [speseaccessorie] => 0
    [scontototale] => 0
    [dataora] => 20230804 0919
    [trasmesso] => 0
    [riferimentoordine] => 1|2023-08-03|6015|65
    [listinocliente] => 1
    [ragionesociale] => OTI1IEVSSUU=
    [cognome] => 
    [nome] => 
    [indirizzo1] => NjEzNSBEQUdHRVQgUkQ=
    [citta1] => R0lSQVJELSBQRU5OU1lMVkFOSUE=
    [provincia1] => UEE=
    [cap1] => MTY0MTc=
    [nazione1] => 0
    [telefono1] => 8144901444
    [cellulare1] => 
    [email1] => Y2FybG9AOTI1ZXJpZS5jb20=
    [pec] => 
    [partitaiva] => 
    [t_pagdes] => Qk9OSUZJQ08=
    [fidelity] => 
    [codicefiscale] => 
    [righe] => Array
        (
            [0] => Array
                (
                    [idprodotto] => 135
                    [sku] => PRODOTTO 12
                    [colore] => 
                    [taglia] => 
                    [variante] =>                10   
                    [customtxt1] => 
                    [customtxt2] => 
                    [qta] => 1
                    [prezzo] => 66
                    [prezzoscontato] => 0
                    [idcliente] => 0
                    [idagente] => 0
                    [colli] => 0
                    [pezzi] => 0
                    [iva] => 22
                    [codiceagente] => 84
                    [sconto1] => 0
                    [sconto2] => 0
                    [sconto3] => 0
                    [sconto4] => 0
                    [idvariazione] => 0
                    [totriga] => 66
                )

            [1] => Array
                (
                    [idprodotto] => 135
                    [sku] => PRODOTTO 12
                    [colore] => 
                    [taglia] => 
                    [variante] =>                12   
                    [customtxt1] => 
                    [customtxt2] => 
                    [qta] => 1
                    [prezzo] => 66
                    [prezzoscontato] => 0
                    [idcliente] => 0
                    [idagente] => 0
                    [colli] => 0
                    [pezzi] => 0
                    [iva] => 22
                    [codiceagente] => 84
                    [sconto1] => 0
                    [sconto2] => 0
                    [sconto3] => 0
                    [sconto4] => 0
                    [idvariazione] => 0
                    [totriga] => 66
                )

        )

)

ATTENZIONE!

I seguenti campi vengono trasmessi convertiti in base64:

  • destinazione
  • destinazioneid
  • cognome
  • nome
  • ragionesociale
  • indirizzo1
  • citta1
  • provincia1
  • cap1
  • email1
  • pec
  • codicesdi
  • t_pagdes

Risposta del server

In caso di assenza di errori, viene restituito OK altrimenti un array JSON contenente gli errori.


Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

(E01) Nessun ordine da importare!

put_cardvirtuale

Questo metodo crea una fidelity virtuale sul CRM.

POSTput_cardvirtuale

https://crm.csoftware.it/api/app/put_cardvirtuale

In ingresso accetta diversi parametri di cui solo 2 sono obbligatori

Struttura dei parametri in ingresso

 {"tipocard": "char(1),O", "cellulare": "char(100),O", "nome": "char(100),F", "cognome": "char(100),F", "indirizzo": "char(100),F", "citta": "char(100),F", "cap": "char(20),F", "provincia": "char(20),F", "sesso": "char(1),F", "datanascita": "date,F", "codicefiscale" "char(20),F", "email": "char(100),F", "organizzazione": "int(10),F", "filiale": "int(10),F"}

Composizione JSON di chiamata


{"data": [ { "tipocard": "valore1", "cellulare": "valore2", "nome": "valore3", "cognome": "valore4", "indirizzo": "valore5", "citta": "valore6", "cap": "valore7", "provincia": "valore8", "sesso": "valore9", "datanascita": "valore10", "codicefiscale" "valore11", "email": "valore12", "organizzazione": "valore13", "filiale": "valore14"} ]  }


Descrizione parametri

tipocard Tipologia card: "F" => Fidelity;
cellulare Numero di cellulare da associare alla card
nome Nome
cognome Cognome
indirizzo Indirizzo
citta Città
cap C.A.P.
provincia Provincia
sesso Sesso
datanascita Data di nascita (formato YYYY-MM-DD)
codicefiscale Codice Fiscale
email Indirizzo e-mail
organizzazione Id organizzazione
filiale Id filiale di appartenenza

Risposta del server

In caso di assenza di errori, viene restituito un oggetto JSON con la chiave status = 200 e data = OK oppure data = array JSON con i dati.


Errori

In caso di errori viene restituito nel wrapper data un oggetto JSON complesso con i seguenti dati:

(E00) Errore in esecuzione della query
(E01) Errore in esecuzione della query
(E51) Manca tipo card! / Tipo card non corretto!
(E52) Manca numero cellulare!
(E53) Impossibile generare nuova card!
(E54) Impossibile leggere nuova card!
(E55) Esiste gia' una fidelity associata a questi dati!