Created:
Aug 5, 2022
Views:
345
Author:
RN

Studio Management Software Integration Development Notes

Communications

For web-based systems we send POST data to a https url and process the response in either XML or JSON

For desktop systems we can connect over tcp (ip address / port ) or a binary dll and send data to system via XML, JSON, or parameters to api. This must be available for macOS 10.13+ (64 bit) and Windows 10+ (32 and 64 bit)

Authentication

We can either request a session key from SMS, that is used in every request, or we can pass down users login details on every call. The authenticated data would consist of some UID (email / username) and a hashed password which can be stored locally for automatic login.

Data Transfer

ProSelect albums it's clients and their orders and payments can be linked to SMS elements. It all depends on how the SMS stores its data as to how, and to what, ProSelect elements are linked to.

ProSelect must start all communications with the SMS, eg a button to sync client payments.
 
Currently all data is sent as XML and it is up to the SMS to parse out the required details. Doing an export orders from ProSelect shows the current xml data that is available to SMS.
 

Album

  • ProSelect albums can be linked to a SMS element, they can also be unlinked. Opening linked albums ensures integration is enabled or disables exporting.

Clients

  • New ProSelect clients can be sent to SMS [PUSH]
  • New SMS Clients can be loaded into ProSelect [PULL]
  • Currently, synced clients can be updated based on changes from SMS or ProSelect. Conflicts for client details, address, etc, can be resolved within ProSelect [SYNC]
  • ProSelect clients can be unlinked from SMS elements

Orders

  • Orders can be only created from ProSelect
  • New orders that have not been exported can be sent to SMS [PUSH]
  • A full resend of all orders can be sent. [PUSH]
  • ProSelect cannot sync any changes made in SMS against orders

 Payments

  • ProSelect can send new payments to SMS [PUSH]
  • ProSelect can receive a full list of payments from SMS [PULL] and replace any previously exported payments [PULL OR SYNC]
  • Imported payment conflicts can be resolved during sync / import (eg payment methods do not match)

Workflow Examples

 ProSelect Initiated

  1. Create new Album
  2. Add clients, place orders, take payments
  3. Authenticate with SMS
  4. Link an Album and Sync Clients with SMS Elements
  5. Export new Orders
  6. Export Payments
  7. Save and close album
  8. Add payments in SMS
  9. Open album in ProSelect
  10. Update Payments from SMS
  11. Save Album and Close

 

SMS Initiated 

  1. Create "Session" + "Clients"
  2. Take Payment
  3. Open ProSelect, validate and sync new album with SMS elements
  4. Import clients and payments
  5. Place orders in ProSelect
  6. Take Payments in ProSelect
  7. Export new orders to SMS
  8. Export new payments to SMS
  9. Sync payments from SMS to ensure up to date
  10. Save and close album

 


KnowledgeBase Article: Studio Management Software Integration Development Notes