zuora-aqua-client-cli

Run ZOQL queries through AQuA from the command line


Keywords
Zuora, ZOQL
License
MIT
Install
pip install zuora-aqua-client-cli==1.4.0

Documentation

zuora-aqua-client-cli Build Status

Run ZOQL queries through AQuA from the command line

Installation

Mac

pip3 install zuora-aqua-client-cli The executable will be installed to /usr/local/bin/zacc

Linux

pip3 install zuora-aqua-client-cli The executable will be installed to ~/.local/bin/zacc

Make sure ~/.local/bin/ is added to your $PATH

Configuration

Configuration should be provided by the -c /path/to/file option.

If option is not provided, will be read from ~/.zacc.ini

Example config

[zacc]
# When environement option is ommited the default environment will be used
default_environment = preprod

[prod]
# Use production Zuora endpoints, defaults to `false`
production = true                                            
client_id = <oauth_client_id>
client_secret = <oauth_client_secret>

# Optional partner and project fields can be configured per environment, see more on what these do:
# https://knowledgecenter.zuora.com/Central_Platform/API/AB_Aggregate_Query_API/B_Submit_Query
# partner = partner
# project = myproject

[mysandbox]
client_id = <oauth_client_id>
client_secret = <oauth_client_secret>

Usage

Cheatsheet

# List fiels for resource
$ zacc describe Account
Account
  AccountNumber - Account Number
  AdditionalEmailAddresses - Additional Email Addresses
  AllowInvoiceEdit - Allow Invoice Editing
  AutoPay - Auto Pay
  Balance - Account Balance
  ...
Related Objects
  BillToContact<Contact> - Bill To
  DefaultPaymentMethod<PaymentMethod> - Default Payment Method
  ParentAccount<Account> - Parent Account
  SoldToContact<Contact> - Sold To

# Request a bearer token, then exit
$ zacc bearer
Bearer aaaaaaaaaaaaaaaaaaaaaaaaaaa

# Execute an AQuA job
$ zacc query "select Account.Name from Account where Account.CreatedDate > '2019-01-10'"
Account.Name
John Doe
Jane Doe

# Save results to CSV file instead of printing it
$ zacc query ~/query_names.zoql -o account_names.csv

# Execute an AQuA job from a ZOQL query file
$ zacc query ~/query_names.zoql
Account.Name
John Doe
Jane Doe

# Use different configurations than default
$ zacc -c ~/.myotherzaccconfig.ini -e notdefualtenv query ~/query_names.zoql

Commands

zacc

Usage: zacc [OPTIONS] COMMAND [ARGS]...

  Sets up an API client, passes to commands in context

Options:
  -c, --config-filename PATH  Config file containing Zuora ouath credentials
                              [default: /Users/janosmolnar/.zacc.ini]

  -e, --environment TEXT      Zuora environment to execute on
  --project TEXT              Project name
  --partner TEXT              Partner name
  -m, --max-retries FLOAT     Maximum retries for query
  --help                      Show this message and exit.

Commands:
  bearer    Prints bearer than exits
  describe  List available fields of Zuora resource
  query     Run ZOQL Query

zacc query

Usage: zacc query [OPTIONS]

  Run ZOQL Query

Options:
  -o, --output PATH        Where to write the output to, default is STDOUT
  --help                   Show this message and exit.

zacc describe

Usage: zacc describe [OPTIONS] RESOURCE

  List available fields of Zuora resource

Options:
  --help  Show this message and exit.

zacc bearer

Usage: zacc bearer [OPTIONS]

  Prints bearer than exits

Options:
  --help  Show this message and exit.

Useful stuff

Has a lot of graphs on Resource relationships: https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Zuora_Business_Objects_Relationship https://community.zuora.com/t5/Engineering-Blog/AQUA-An-Introduction-to-Join-Processing/ba-p/13262