soap-axess-crm
v2.2.6
Published
Axess CRM
Downloads
18
Keywords
Readme
Axess CRM Client Library
Production vs configuration data
Axess splits data into two categories. Configuration data
is all static data like definitions of the cashdesks, types of tickets and age categories. Those change seldom and are modified manually by the employees or Axess staff themselves. Production data
is the dynamic data that gets automatically generated, like sales or access logs.
To download production data, use the method Importer#loadTransactions
to get all transactions. The method will retrieve the sales data in batches and run a callback you supply. You will also receive an internal ID of the callback which you should store (and increment by one) for the next time you want to fetch data. This ensures that transactions are not loaded twice and you have no gaps.
To download configuration data, use the method Importer#getFullTable
to download the content of an entire table. This method returns the full dataset.
Like so: SOAP_URL=url USERNAME=username PASSWORD='password' DESTINATION_NAME=samo yarn run ts-node-dev ./src/tasks/getFullTable.ts
Example scripts
tasks/getFullTable.ts
: copies a set of Axess configuration tables to a local Excel file. Use this to get an overview over the Axess data.
Writing Prices
The scripts for the three actions described below are all located in price_updater.ts
.
Creating sheets
Before you are able to write any data, you need to create a RabattBlattGuelt (TABRabattBlattGueltDef
) for each day of the season. The required information for creating a RabattBlattGuelt is the following:
NRABATTBLATTNR
: from TABRabattBlattDef.NRABATTBLATTGUELTNR
: any unique ID. Convention here: 43700 less than the number of days since 1899-11-30.NNRKREISART
: from TABRabattBlattDef.DTGILTVON
andDTGILTBIS
: validity start and end date. Usually the same.SZNAME
: any name. Convention: date as dd.mm.yyyy.SZBESCH
: description. Convention: company name.
Creating prices
To write prices, you need to write one entry per day and product-and-person-type combination to RabattBlattGueltZuord (TABRabattBlattGueltZuord
).
The required information for writing is the following:
NRABATTBLATTNR
: from TABRabattBlattDef, select by name.NRABATTBLATTGUELTNR
: from TABRabattBlattGueltDef, see 'Creating sheets'. Defines the validity date of this price.NLFDNR
: any unique ID.NNRKREISART
: see 'Creating sheets'.SZNAME
: any name. Convention:dd.mm.yyyy - KK: $kundenkartentyp - PT: $personentyp
NFIXTARIFBLATTNR
: from TABTarifBlattDefNFIXTARIFBLATTGUELTNR
: from TABTarifBlattGueltDefNFIXKUNDENKARTENTYPNR
: ticket type from TABKundenKartenTypDef.NFIXPOOLNR
: to be defined by ski resortNFIXLFDNR
: from TABBerechtTarife, filter by KKT and PT.NFIXZEITSTAFNR
: from TABBerechtTarife, filter by KKT and PT.NFIXPERSTYPNR
: person type from TABPersonenTypDef.FFIXTARIF
: the price.SZBESCH
: any description. Convention: date as dd.mm.yyyy.
Updating prices
To update prices, you need to send an update request to the RabattBlattGueltZuord (TABRabattBlattGueltZuord
) table. You need the following information:
NRABATTBLATTNR
: see 'Creating prices'.NRABATTBLATTGUELTNR
: see 'Creating prices'.NLFDNR
: see 'Creating prices'.NNRKREISART
: see 'Creating prices'.FFIXTARIF
: the new price.