Giver simpelthen en enkel, kraftfuld og sikker applikationsprogrammeringsgrænseflade (API) til at arbejde med de enheder, der er gemt i. For at bruge dette dokument skal du have en grundlæggende fortrolighed med softwareudvikling, webtjenester og Simply CRM .
Webtjenesten giver en nemmere måde at integrere blot med dine andre softwaresystemer.
API-opkaldskarakteristika
REST – API er REST-baseret, hvilket betyder, at al kommunikation mellem klienten og serveren kan ske via HTTP i form af GET- eller POST-anmodninger.
JSON – JSON bruges til at kode svaret og anmodningen.
Anmodninger og svar – Din klientapplikation forbereder og indsender en serviceanmodning til API'en. API'en behandler anmodningen og returnerer et svar, og derefter håndterer klientapplikationen svaret.
Forpligtes automatisk – Hver operation, der skriver til et Simply-objekt, begås automatisk. Dette er analogt med AUTOCOMMIT-indstillingen i SQL.
API-svaret
Svarobjekt
Alle svar vil have et af de følgende to formater.
Hvis anmodningen behandles med succes:
<code> Svar {
succes: boolsk = sand
resultat: Objekt // Objektet Operation Resultat
}
</code>
Hvis der opstår en fejl under behandlingen af anmodningen:
<code> Svar {
succes: boolsk = falsk
fejl: ErrorObject
}
</code>
Fejlobjekt
<code> ErrorObject {
errorCode: String // Stringrepræsentation af fejltypen
errorMessage: String // Fejlmeddelelse fra api.
}
</code>
errorCode er en strengrepræsentation af fejltypen.
Fejlhåndtering
Svaret for enhver webserviceanmodning er et JSON-objekt. Objektet har en feltsucces, som har værdien sand, hvis operationen var en succes og ellers falsk. Hvis succes er falsk, vil svarobjektet indeholde en feltfejl, der indeholder JSON-objektet. Fejlobjektet indeholder to felter errorType, en enkelt ordbeskrivelse af fejlen og errorMsg, en streng, der indeholder en beskrivelse af fejlen.
Eksempelkoden er skrevet i Php og har to afhængigheder, Zend JSON-biblioteket og Http_Client.
Kravene til at køre eksempler er givet i vejledningen
- En installation af Simply med webservicen;
- Php for at køre eksempelkoden;
- HTTP_Client, som kan installeres ved at udføre en
pear install HTTP_Client
; - Zend JSON, som du skal downloade den minimale zend-ramme til .
Logger ind
API'en bruger ikke adgangskoden til login. I stedet giver Simply en unik adgangsnøgle til hver bruger. For at hente brugernøglen skal du gå til panelet Mine præferencer for en bestemt bruger. Der finder du feltet Adgangsnøgle.
Hvert login starter en klientsession med serveren, godkender brugeren og returnerer en sessionId, som vil blive brugt til al efterfølgende kommunikation med serveren.
Login er en totrins proces. I det første trin får klienten udfordringstokenet fra serveren, som bruges sammen med brugerens adgangsnøgle til at logge på.
GetChallenge
Få et udfordringstoken fra serveren. Dette skal være en GET-anmodning.
URL-format
<code> Anmodningstype: GET
http: //Simply_url/webservice.php? operation = getchallenge
& brugernavn = [brugernavn]
</code>
GetChallenge eksempel
For at få udfordringstokenet skal du udføre følgende kode.
<code> // f.eks // url-sti til Simply / webservice.php som http: //Simply_url/webservice.php
$ endpointUrl = "http: //localhost/ws/webservice.php";
// brugernavn på den bruger, der skal logges ind.
$ userName = "admin";
$ httpc = ny HTTP_CLIENT ();
// getchallenge-anmodning skal være en GET-anmodning.
$ httpc-> get ("$ endpointUrl? operation = getchallenge & brugernavn = $ brugernavn"); $ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// kontroller, om den anmodede operation var vellykket eller ej.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('getchallenge failed:'. $ jsonResponse ['error'] ['errorMsg']);
// operation var vellykket få token fra svaret. $ challengeToken = $ jsonResponse ['resultat'] ['token'];
</code>
GetChallenge-resultat
Et objekt, der repræsenterer svarresultatet af en getchallenge-operation.
<code> GetChallengeResult {
token: String // Challenge token fra serveren.
serverTime: TimeStamp // Den aktuelle servertid.
expireTime: TimeStamp // Det tidspunkt, hvor tokenet udløber.
}
</code>
Nu hvor du har udfordringstokenet, kan du gå videre med login. Adgangsnøglefeltet i loginoperationen er md5-kontrolsummen af sammenkædningen af udfordringstokenet og brugerens egen adgangsnøgle. Login-operationen, i modsætning til getchallenge, er en postanmodning.
Log på
Log ind på serveren ved hjælp af udfordringstoken opnået i getchallenge-operationen.
URL-format
<code> Anmodningstype: POST
http: //Simply_url/webservice.php? operation = login
& brugernavn = [brugernavn]
& accessKey = [accessKey]
</code>
For accessKey skal du oprette en md5-streng efter sammenkædning af brugeradgangsnøgle fra siden Min præference og udfordringstokenet opnået fra getchallenge-resultatet.
Login eksempel
<code> // f.eks
// adgangsnøgle til brugeradministratoren, findes på siden med mine præferencer.
$ userAccessKey = 'dsf923rksdf3';
// opret md5-streng sammenkædning af brugeradgangsnøgle fra min præferenceside
// og udfordringstokenet opnået fra få udfordringsresultatet.
$ generatedKey = md5 ($ challengeToken. $ userAccessKey);
// login-anmodning skal være POST-anmodning.
$ httpc-> post ("$ endpointUrl",
array ('operation' => 'login', 'username' => $ userName,
'accessKey' => $ generatedKey), sandt);
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('login failed:'. $ jsonResponse ['error'] ['errorMsg']);
// login vellykket uddrag sessionId og userId fra LoginResult til det kan bruges til yderligere opkald.
$ sessionId = $ jsonResponse ['resultat'] ['sessionName'];
$ userId = $ jsonResponse ['resultat'] ['userId'];
</code>
Sessions-id'et bruges til at identificere den aktuelle session og vil være en fælles parameter i alle efterfølgende anmodninger.
Login resultat
Et objekt, der repræsenterer svarresultatet af en loginoperation.
Få information
API'en giver to operationer for at få information om de tilgængelige Simply-objekter.
Den første er listetyper, som giver en liste over tilgængelige moduler. Denne liste indeholder kun moduler, den bruger, der er logget ind på, har adgang til.
Listetyper
Angiv navnene på alle de simpelthen tilgængelige objekter via API.
URL-format
<code> Anmodningstype: GET
http: //Simply_url/webservice.php? operation = listetyper
& sessionName = [session id]
</code>
Returnerer et kort, der indeholder nøgletypen, hvor værdien er en liste over simpelthen objektnavne.
Eksempel på listetyper
<code> // anmodning om listetyper skal være GET-anmodning.
$ httpc-> get ("$ endpointUrl? sessionName = $ sessionId & operation = listetyper");
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('list types failed:'. $ jsonResponse ['error'] ['errorMsg']);
// Få listen over alle tilgængelige moduler.
$ modules = $ jsonResponse ['result'] ['types'];
</code>
Den anden operation er beskrevet, og den giver detaljeret typeinformation om et Simply-objekt.
Beskrive
Få typoplysningerne om et givet Simply-objekt.
URL-format
<code> Anmodningstype: GET
http: //Simply_url/webservice.php? operation = beskriv
& sessionName = [session id]
& elementType = [elementType]
</code>
Beskriv eksemplet
<code> // f.eks
// Simpelthen objektnavn, der skal beskrives, eller hvis oplysninger der anmodes om.
$ moduleName = 'Kontakter';
// brug sessionId oprettet på tidspunktet for login.
$ params = "sessionName = $ sessionId & operation = beskriv & elementType = $ moduleName";
// beskriv anmodning skal være GET-anmodning.
$ httpc-> get ("$ endpointUrl? $ params");
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('beskriv objekt mislykkedes:'. $ jsonResponse ['error'] ['errorMsg']);
// få beskrive resultatobjekt. $ beskrivelse = $ jsonResponse ['resultat'];
</code>
Beskrivelsen består af følgende felter:
Navn | Beskrivelse |
Etiket | Etiketten, der bruges til modulets navn. |
Navn | Navnet på modulet. |
Kan oprettes | En boolsk værdi, der angiver, om objektet kan oprettes. |
Kan opdateres | En boolsk værdi, der angiver, om objektet kan opdateres. |
Kan slettes | En boolsk værdi, der angiver, om objektet kan slettes. |
Kan hentes | En boolsk værdi, der angiver, om objektet kan hentes. |
Felter | Et array, der indeholder feltnavne og deres typeoplysninger. |
Hvert element i feltarrayet beskriver et bestemt felt i objektet.
Typefeltet er særlig vigtigt, da det beskriver, hvilken type felt der er. Dette er et kort, der mindst indeholder et element kaldet navn, som angiver navnet på typen.
Navn | Beskrivelse |
Snor | Et tekstfelt med en linje. |
Tekst | Et tekstlinje med flere linjer. |
Heltal | Et tekstlinje med flere linjer. |
Dobbelt | Et felt til for flydende tal. |
Boolsk | Et boolsk felt, der kan have værdierne sandt eller falsk. |
Tid | En streng i formatet hh: mm, som er baseret på brugerens tidsformatindstillinger. |
Dato | En streng, der repræsenterer en dato, vil typekortet indeholde et andet element kaldet format, som er det format, hvor værdien af dette felt forventes, baseret på brugerens indstillinger datoformat. |
Dato tid | En streng, der repræsenterer dato og klokkeslæt, som er baseret på brugerens datoformatindstillinger. |
Autogenereret | Felterne, hvor værdierne genereres automatisk af Simply. Dette er normalt et objekts ID-felt. |
Reference | Et felt, der viser en relation til et andet objekt. Typekortet vil indeholde et andet element kaldet refererer til, hvilket er et array, der indeholder de moduler, som feltet kan pege på. |
Pickliste | Et felt, der kan indeholde en af en liste over værdier. Kortet indeholder to elementer, picklistValues, som er en liste over mulige værdier, og defaultValue, som er standardværdien for picklisten. |
Multipickliste | Et valglistefelt, hvor flere værdier kan vælges. |
telefon | Et felt, der bruges til at gemme telefonnumre. |
Et felt, der bruges til at gemme e-mail-id'er. | |
URL | Et felt, der bruges til at gemme webadresser. |
Skype | Et felt, der bruges til at gemme Skype-id'er eller telefonnumre. |
Adgangskode | Et felt, der bruges til at gemme adgangskoder. |
Ejer | Et felt, der definerer ejeren af feltet, som kan være en gruppe eller en individuel bruger. |
Beskriv resultatet
<code> DescribeResult {
label: String // label for modulet.
navn: String // modulets navn, som angivet i anmodningen.
kan oprettes: Boolsk // sand, hvis den indloggede bruger er tilladt, skal du oprette poster af typen og falsk ellers.
kan opdateres: Boolsk // sand, hvis den indloggede bruger har tilladelse til at opdatere poster af typen og falsk ellers.
kan slettes: Boolsk // sand, hvis den indloggede bruger har tilladelse til at slette poster af typen og falsk ellers.
kan hentes: Boolsk // sand, hvis den indloggede bruger har tilladelse, der kan hentes poster af typen og falsk ellers.
felter: Array // matrix af typen Field.
}
</code>
Mark
<code> Felt {
<pre class = "_ fck_mw_lspace"> navn: String // navn på feltet.
label: String // label of the field.
obligatorisk: Boolsk // sand, hvis behovet skal forsynes med værdi, mens du opretter en anmodning om oprettelse og ellers falsk.
type: FieldType // en forekomst af FieldType.
standard: anyType // standardværdien for feltet.
nillable: Boolsk // sand hvis null kan give en værdi for feltet og ellers falsk.
redigerbar: Boolsk // sand hvis felt kan forsynes med en værdi under oprettelse eller opdatering.
}
</code>
Felttype
400. That’s an error.
Your client has issued a malformed or illegal request. That’s all we know.
Eksempel 3
Opret en kontakt, og knyt den til en ny konto.
<code> // f.eks. 3
<p> // Opret en kontaktperson og tilknyt en ny konto.
</p> <p> // udfyld detaljerne i kontiene. userId fås fra loginResult.
$ accountData = array ('accountname' => 'Simply', 'assign_user_id' => $ userId);
// kode objektet i JSON-format for at kommunikere med serveren.
$ objectJson = Zend_JSON :: kode ($ accountData);
// navn på det modul, som posten skal oprettes til.
$ moduleName = 'Konti';
</p> <p> // sessionId fås fra loginResult.
$ params = array ("sessionName" => $ sessionId, "operation" => 'Opret',
</p>
<præ class = "_ fck_mw_lspace"> "element" => $ objectJson, "elementType" => $ moduleName);
// Opret skal være POST-anmodning. $ httpc-> post (“$ endpointUrl”, $ params, sandt); $ respons = $ httpc-> currentResponse (); // afkode json-kodesvaret fra serveren. $ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('create failed:'. $ jsonResponse ['error'] ['errorMsg']);
$ konto = $ jsonResponse ['resultat']; $ accountId = $ konto ['id'];
$ contactData = array ('efternavn' => 'Valiant', 'tildelt_bruger_id' => $ userId, 'account_id' => $ accountId);
// kode objektet i JSON-format for at kommunikere med serveren. $ objectJson = Zend_JSON :: kode ($ contactData); // navn på det modul, som posten skal oprettes til. $ moduleName = 'Kontakter';
// sessionId fås fra loginResult.
$ params = array (“sessionName” => $ sessionId, “operation” => 'Opret',
"element" => $ objectJson, "elementType" => $ moduleName);
// Opret skal være POST-anmodning. $ httpc-> post (“$ endpointUrl”, $ params, sandt); $ respons = $ httpc-> currentResponse (); // afkode json-kodesvaret fra serveren. $ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('create failed:'. $ jsonResponse ['error'] ['errorMsg']);
$ savedObject = $ jsonResponse ['resultat']; $ id = $ savedObject ['id'];
</code> </pre>
CreateResult
Et kort, der repræsenterer indholdet af et CRM-enhedsbaseret objekt. Alle referencefelter er repræsenteret ved hjælp af ID- type. En nøgle kaldet ID af typen Id repræsenterer objektets unikke ID. Dette felt er til stede for ethvert objekt, der hentes fra databasen.
Hent
Hent en eksisterende post fra serveren.
URL-format
<code> Anmodningstype: GET
http: //Simply_url/webservice.php? operation = hent
& session_name = [session-id]
& id = [objekt-id
</code>
Hent eksempel
Brug hentningsfunktionen til at hente et objekt ved hjælp af dets ID. Du kan hente den kontakt, der er oprettet i eksempelet Opret.
<code> // sessionId fås fra loginResult.
$ params = "sessionName = $ sessionId & operation = hent & id = $ id";
// Hent skal være GET Request.
$ httpc-> get ("$ endpointUrl? $ params");
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('retrieve failed:'. $ jsonResponse ['error'] ['errorMsg']);
$ retrievedObject = $ jsonResponse ['resultat'];
</code>
RetrieveResult
400. That’s an error.
Your client has issued a malformed or illegal request. That’s all we know.
Eksempel 2
Angiv de kolonner, der skal hentes for hver post.
<code> // forespørgsel for at vælge data fra serveren.
$ query = "vælg efternavn, fornavn, konto_id, tildelt_bruger_id fra Kontakter hvor efternavn = 'Valiant';";
// urlencode til som sendt via http.
$ queryParam = urlencode ($ query);
// sessionId fås fra login-resultatet.
$ params = "sessionName = $ sessionId & operation = forespørgsel & forespørgsel = $ queryParam";
// forespørgsel skal være GET Request.
$ httpc-> get ("$ endpointUrl? $ params");
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('forespørgsel mislykkedes:'. $ jsonResponse ['errorMsg']);
// Array of SimplyObjects
$ retrievedObjects = $ jsonResponse ['resultat'];
</code>
Dette returnerer et array, der indeholder arrays, der repræsenterer felterne for hvert objekt, der matchede forespørgslen.
QueryResult
QueryResult er en matrix af SimplyObjects.
SimplyObject
Et kort, der repræsenterer indholdet af et objekt baseret på en mængde. Alle referencefelter er repræsenteret ved hjælp af Id- type. En nøgle kaldet ID af typen Id repræsenterer objektets unikke ID. Dette felt er til stede for ethvert objekt, der hentes fra databasen.
Forespørgselsformat
<code> vælg * | <kolonneliste> | <count (*)>
fra <objekt> [hvor <betingelser>]
[rækkefølge efter <kolonneliste>] [grænse [<m>,] <n>];
</code>
Kolonnelisten i rækkefølgen efter klausul kan højst have to kolonnenavne.
Navn | Beskrivelse |
kolonneliste | En kommasepareret liste over feltnavne. |
objekt | Objektets type navn. |
betingede | De betingede operationer eller i klausuler eller lignende klausuler adskilt af 'og' eller 'eller' operationer behandles disse fra venstre mod højre. Der er ingen gruppering, det vil sige parentesoperatører. |
betingede operatører | <,>, <=,> =, =,! = |
i klausuler | <kolonnenavn> i (<værdiliste>). |
som klausuler | <kolonnenavn> i (<værdimønster>). |
værdiliste | En kommasepareret liste over værdier. |
m, n | Heltalsværdierne til at specificere henholdsvis forskydning og grænse. |
Synkronisere
Sync returnerer et SyncResult-objekt, der indeholder detaljerne om ændringerne efter modifiedTime.
URL-format
<code> Anmodningstype: GET
http: //Simply_url/webservice.php? operation = synkronisering
& sessionName = [session id]
& modifiedTime = [tidsstempel]
& elementType = [elementType]
</code>
elementType – Dette er en valgfri parameter. Hvis det er angivet, returneres kun ændringerne for dette modul efter den givne tid. Ellers returneres ændringerne til alle brugertilgængelige moduler efter den givne tid.
TimeStamp – En lang gengivelse af antallet af sekunder siden Unix-epoken.
Eksempel 1
Opret en konto, og registrer den i synkroniserings-API'et.
Svaret indeholder den konto, der blev oprettet.
Eksempel 2
Opret en konto og en kontakt, brug kun synkroniserings-API til kontomodulet, kun ændringer til kontomodul returneres.
<code> // tid, hvorefter alle ændringer på serveren er nødvendige.
$ stime = tid ();
// Opret nogle data nu, så de fanges af synkroniserings-api-svaret.
// udfyld detaljerne i Accounts.userId fås fra loginResult.
$ accountData = array ('accountname' => 'Simply', 'assign_user_id' => $ userId);
// kode objektet i JSON-format for at kommunikere med serveren.
$ objectJson = Zend_JSON :: kode ($ accountData);
// navn på det modul, som posten skal oprettes til.
$ moduleName = 'Konti';
// sessionId fås fra loginResult.
$ params = array ("sessionName" => $ sessionId, "operation" => 'Opret',
"element" => $ objectJson, "elementType" => $ moduleName);
// Opret skal være POST-anmodning.
$ httpc-> post ("$ endpointUrl", $ params, sandt);
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('create failed:'. $ jsonResponse ['error'] ['errorMsg']);
$ createResult = $ jsonResponse ['resultat'];
// Opret en kontakt.
// udfyld detaljerne i kontakterne. brugerId fås fra loginResult.
$ contactData = array ('efternavn' => 'Valiant', 'tildelt_bruger_id' => $ userId);
// kode objektet i JSON-format for at kommunikere med serveren.
$ objectJson = Zend_JSON :: kode ($ contactData);
// navn på det modul, som posten skal oprettes til.
$ moduleName = 'Kontakter';
// sessionId fås fra loginResult.
$ params = array ("sessionName" => $ sessionId, "operation" => 'Opret',
"element" => $ objectJson, "elementType" => $ moduleName);
// Opret skal være POST-anmodning.
httpc-> post ("$ endpointUrl", $ params, true);
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('create failed:'. $ jsonResponse ['error'] ['errorMsg']);
$ savedObject = $ jsonResponse ['resultat'];
$ id = $ savedObject ['id'];
$ params = "operation = sync & modifiedTime = $ stime & sessionName = $ sessionId";
// sync skal være GET Request.
$ httpc-> get ("$ endpointUrl? $ params");
$ respons = $ httpc-> currentResponse ();
// afkode json-kodesvaret fra serveren.
$ jsonResponse = Zend_JSON :: afkode ($ respons ['body']);
// operation var vellykket få token fra svaret.
hvis ($ jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('forespørgsel mislykkedes:'. $ jsonResponse ['errorMsg']);
// Array of SimplyObjects
$ retrievedObjects = $ jsonResponse ['resultat'];
</code>
SyncResult
Et objekt, der repræsenterer svaret fra en synkroniseringshandling.
<code> SyncResult {
opdateret: [Objekt] // Liste over objekter oprettet eller ændret.
slettet: [Id] // Liste over * Id * for objekter slettet.
lastModifiedTime: Timestamp // tidspunkt for den seneste ændring. som kan bruges i det næste opkald til Sync api for at få alle de seneste ændringer, som klienten ikke har fået.
}
</code>
Log ud
Log ud
Log ud fra webservicesessionen, hvilket efterlader webservicesessionen ugyldig til videre brug.
URL-format
<code> Anmodningstype: GET
http: //Simply_url/webservice.php? operation = logout
& sessionName = [session id]
</code>
Eksempel
Udvidelse af Simply webklienten ved hjælp af webservice
Forlæng session
Udvider den aktuelle simpelthen webklientsession til webservicen og returnerer et webservicesession-id. Når du arbejder med Simply Web-klienten, kan brugeren genbruge den aktuelle godkendte session i stedet for at logge ind på Simply igen for at få adgang til webtjenesten.
Bemærk: Hvis brugeren udvider en session, bliver sessionen bundet sammen, så ved at logge ud fra den ene (webtjenesten eller webklienten) logges brugeren også ud af den anden. For at udvidelsessessionens funktion skal fungere, skal cookies være aktiveret i klientbrowseren.
URL-format
<code> Anmodningstype: POST
http: //Simply_url/webservice.php? operation = extensionsession
</code>
Eksempel
<kode>
</code>
Dette eksempel er skrevet er Javascript, da Extend Session kun er gyldig fra Simply webklienten.
Krav til at køre eksemplet
- JQUERY-bibliotek – for at udføre ajax http-anmodningen.
- JSON-bibliotek – json2.js-fil tilgængelig med Simply på json.org.
Eksempel 1
<kode>
// operation parametre.
var params = "operation = extensionsession";
// slutpunktet for tjenesterne.
var endPointUrl = "http: //Simply_url/webservice.php";
// expandSession er postanmodning, påkald jquery http postanmodning.
$ .post (endPointUrl, params, funktion (resultat) {
// afkode json-kodesvaret fra serveren.
var jsonResponse = json.parse (resultat);
// operation var vellykket få token fra svaret.
hvis (jsonResponse ['success'] == false)
// håndtere fejlsagen.
die ('login failed:' + jsonResponse ['error'] ['errorMsg']);
// login vellykket uddrag sessionId og userId fra LoginResult, så det kan bruges til yderligere opkald.
var sessionId = jsonResponse ['resultat'] ['sessionName'];
var userId = jsonResponse ['resultat'] ['userId'];
});
</code>