" | Handbok SystemQ affärssystem |
Webservices utnyttjar befintlig infrastruktur för att skicka data mellan olika företags servrar.
| |||||||||||||||||||||||||||||
Login och svar med tokenDen sändande servern börjar med att sända ett html-anrop: http://shop.190000.se/cgi-bin/eloq/eloq.cgi/Www83?rule=714&user=Nnnn&password=Pppp" Programexempel i Eloquence: Part.Server$="shop.190000.se" Uri$="/cgi-bin/eloq/eloq.cgi/Www83?rule=714&user="&TRIM$(Person.Kod$)&"&password="&Person.Password$ GOSUB Load_dll Message$="GET "&Uri$&" HTTP/1.1"&CHR$(13)&CHR$(10) Message$=Message$&"Host: "&Part.Server$&CHR$(13)&CHR$(10) Message$=Message$&CHR$(13)&CHR$(10) CALL DLL Net("Connect",Part.Server$,"80") CALL DLL Net("Send",Message$) CALL DLL Net("Recv",Buf_net$,30000,Timeout) CALL DLL Net("Disconnect") Body$=Buf_net$Om User och password stämmer skickas svar i XML med en haschad tidsbunden token (Body$) <LoginRespons> <TokenTimeStamp>"20171226 11:20:45"</TokenTimeStamp> <Token>t3v8mU3PPL8Kv2xbK3ceyCRhqsmrg32tCMf9D9NEZUGthhXUÚDdp4PWMDNRE5bn9</Token> </LoginRespons> | |||||||||||||||||||||||||||||
Skicka orderEfter att fått LoginRespons skickas en XML Order med token, time-stamp och organisationsnummer: Typical frameworks provide a high-level API to do web requests, so the required information for a developer to address our service would be: Type of request: HTTP POST URL: http://shop.190000.se/cgi-bin/eloq/eloq.cgi/Www83 Content-type: text/xml And of course a description of the XML request format.
Content_lenght är antal tecken i <Order>, exkl. header
Content-type: text/xml
Content-length: NNNN
<Order>
<TokenTimeStamp>171220 15:29:14</TokenTimeStamp>
<Token>t3v8mU3PPL8Kv2xbK3ceyCRhqsmrg32tCMf9D9NEZUGthhXUÚDdp4PWMDNRE5bn9</Token>
<IssueDate>171220</IssueDate>
<IssueTime>15:29:14</IssueTime>
<Note>
Text Text ....
</Note>
<Contract>
<ID>4013<ID>
</Contract>
<BuyerCustomerParty>
<Party>
<CompanyID>556477-0765</CompanyID>
</Party>
<PaymentType>
AZ eller liknande
</PaymentType>
</BuyerCustomerParty>
<Delivery>
<DeliveryLocation>
<Location>
<Adress>
<BuildingNumber>Gärtuna B613</BuildingNumber>
<Department>Operations</Department>
</Adress>
</Location>
</DeliveryLocation>
<DeliveryParty>
<Party>
<Contact>Birgitta Borg</Contact>
<Telephone>08 555 444 33</Telephone>
<Mobil>070 88 77 66</Mobil>
<ElectronicMail>birgitta.b@foretag.se</ElectronicMail>
</Party>
</DeliveryParty>
</Delivery>
<OrderLine>
<LineItem>
<ID>10
Posnummer i order
</ID>
<Price>
<PriceAmount>
Ange pris på varan
</PriceAmount>
</Price>
<Item>
<Description>Varans namn </Description>
</Item>
<SellersItemIdentification>
<ID>157928</ID>
</SellersItemIdentification>
<Quantity unitCode="tfp">2</Quantity>
</LineItem>
</OrderLine>
</Order>
I partnerinställningar kan typ av ordersvar väljas
Ordersvar retuneras efter att en <Order> har mottagits och bearbetats/lagrats i affärssystemet
I Affärskontakter läggs en fiktiv person som används för webservices.
Systemadministratören har rättighet att se och ändra lösenord.
För det sändande företaget skall vi göra inställningar. Detta gör vi i Artkiv->Egenskaper->Inställningar webhandel
En för företaget unik token skapas
Vilka ordersvar som skall skicka väljs
Artikelnummer som finns i kundpriser accepteras, orderraden får status WKOP
Kunden kan använda sitt eget artikelnummer. För att aktivera detta läggs kundens artikelnummer i kundpriser
Skickas ett artikelnummer som inte finns, läggs en ny artikel upp. Även ett kundpris utan giltighetstid lagras
Orderraden får status SKIP
Har ett nytt artikelnummer lagrats vid mottagandet av en order kan man koppla detta till ett befintligt artikelnummer genom att använda rutinen "Byt artikelnummer"
|