Universal Web Platform · Endpoint e chiave di accesso

Endpoint e chiave di accesso: indirizzo, parametri e permessi del web service

Il web service risponde a un solo indirizzo per sito, con la chiave e le opzioni nella query string.

Indirizzo
POST https://<tuo-dominio>/webservice.aspx?Key=<chiave>&serialize=json

Il nome della pagina è webservice.aspx (maiuscole e minuscole sono indifferenti); l'estensione .aspx è necessaria. Usa sempre HTTPS: la chiave viaggia nell'indirizzo.

Parametri della query string

ParametroValoriObbligatorioA cosa serve
Keyla chiave ricevutaSìIdentifica chi chiama e i permessi. Senza una chiave valida e attiva la richiesta viene rifiutata.
serializejson oppure xmlNoFormato di richiesta e risposta. Con json si usa JSON; con qualsiasi altro valore, o senza parametro, XML.
directshowtrueNoLa risposta contiene solo l'elenco dei record del tipo richiesto, senza l'involucro WebServiceResponse (quindi senza stato ed errori).
operationmultiimportmultiNoUsa il protocollo ImportMulti: più tipi di dato in lettura nella stessa chiamata.
operationbierecreateafterexportNoEsegue la ricostruzione che segue una pubblicazione completa: vedi qui.
compressiontrueNoCompatibilità con i client vecchi che inviavano il corpo compresso e poi codificato in Base64. Non usarlo nelle integrazioni nuove.

La chiave e i permessi

L'amministratore del sito attiva il web service e crea una chiave per ogni programma che si collega. Per ogni chiave decide:

  • se la chiave è attiva: una chiave disattivata viene rifiutata senza eseguire nulla;
  • per ogni tipo di dato (per nome, per esempio PRODUCT o DOCUMENT) se è permessa la lettura e se è permessa la scrittura. Un tipo che non compare nell'elenco della chiave non è accessibile.
OperazionePermesso richiesto
QUERYlettura sul tipo
INSERTORMODIFY, DELETE, TRUNCATETABLEscrittura sul tipo
DELETEALLIMPORTCORRISPONDENZE, DELETEIMPORTCORRISPONDENZEBYTABLEil tipo indicato in TypeObject deve essere nell'elenco della chiave
Conferme di ricezionescrittura su RECEVEIDCLASS
ImportMultilettura su ogni tipo richiesto; per le conferme, scrittura su RECEVEIDCLASS e lettura sul tipo confermato
Dai a ogni programma la sua chiave, con i soli permessi che gli servono: un sito che riceve il catalogo non ha bisogno di scrivere i documenti, un'app che legge gli ordini non ha bisogno di cancellare gli articoli.

Le risposte di rifiuto

Quando la chiamata viene rifiutata ricevi comunque un WebServiceResponse nel formato richiesto, con lo stato e il messaggio in ResponseString e in ErrorList.

MessaggioStatusCausa
Web Service disattivo. Nessuna richiesta disponibilekeyinvalidIl web service non è attivo su questo sito.
Key non valida per la richiestakeyinvalidLa chiave non esiste.
Key disattivata. Impossibile eseguire richiestekeyinvalidLa chiave esiste ma è disattivata.
Key non autorizzata per l'operazione richiestakeyinvalidIl tipo di dato non è tra quelli della chiave.
Key non autorizzata per l'operazione di scritturakeyinvalidScrittura, cancellazione o svuotamento senza permesso di scrittura.
Key non autorizzata per l'operazione di letturakeyinvalidQUERY senza permesso di lettura.
Errore: Deserializzazione oggetto richiesta: …koIl corpo non è un WebServiceRequest valido: in ErrorList trovi anche il testo ricevuto e la diagnostica del corpo.

Le richieste rifiutate vengono anche scritte nel registro giornaliero degli errori del web service, che l'amministratore del sito può consultare quando un'integrazione non funziona.