Labs64 / NetLicensing-Community

NetLicensing Community Support
https://netlicensing.io
MIT License
5 stars 1 forks source link

Export customer data (customer, product, licenses, expiration) #62

Closed r-brown closed 1 year ago

r-brown commented 1 year ago

Question I need to be able to create or extract a list with the following parameters to manage my customers

r-brown commented 1 year ago

NetLicensing RESTful API can be used to retrieve the needed data from the NetLicensing.

Customer Data

Licensees list endpoint will deliver you the list of all your customers, incl. Customer number, name and productNumber

Response

    ...
    <ns2:item type="Licensee">
      <ns2:property name="number">I4HMA9J3A</ns2:property>
      <ns2:property name="active">true</ns2:property>
      <ns2:property name="productNumber">PPVFIIS44</ns2:property>
      <ns2:property name="name">Mobifin</ns2:property>
      <ns2:property name="warningLevel">{"RED":[],"YELLOW":[],"GREEN":[]}</ns2:property>
      <ns2:property name="lastExport">2023-06-13 05:36:40.826</ns2:property>
      <ns2:property name="markedForTransfer">false</ns2:property>
      <ns2:property name="inUse">false</ns2:property>
    </ns2:item>
    ...

Customer's Licenses

Attribute //Licensee/number can be used to match the records in the Licenses list endpoint output using //License/licenseeNumber parameter

Response

    ...
    <ns2:item type="License">
      <ns2:property name="number">L2HME43WJ</ns2:property>
      <ns2:property name="active">true</ns2:property>
      <ns2:property name="name">pay par user License</ns2:property>
      <ns2:property name="price">10.00</ns2:property>
      <ns2:property name="currency">EUR</ns2:property>
      <ns2:property name="hidden">false</ns2:property>
      <ns2:property name="licenseeNumber">I4HMA9J3A</ns2:property>
      <ns2:property name="licenseTemplateNumber">EJR2UWWAK</ns2:property>
      <ns2:property name="productModuleNumber">MZ99MKY77</ns2:property>
      <ns2:property name="quantity">10</ns2:property>
      <ns2:property name="productModuleNumber">MZ99MKY77</ns2:property>
      <ns2:property name="usedQuantity">6</ns2:property>
    </ns2:item>
    ...

Customer's Validation Status

Attribute //Licensee/number can be used to verify customer validation status by calling Licensee validation endpoint.

Please Note: we suggest to set dryRun=true request parameter, as this will assure, that customer's entitlements aren't changed upon validation request.

Request

$ curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' \
  --header 'Accept: application/xml' \
  --header 'Authorization: Basic ...' \
  -d 'dryRun=true' \
  'https://go.netlicensing.io/core/v2/rest/licensee/I4HMA9J3A/validate'

All the above calls can be automated by means of your specific technolofy stack and/or environment constraings.