Skip to main content

Xero APIMatic SDKs

Project description

Getting Started with XERO APIs

Introduction

The Assets API exposes fixed asset related functions of the Xero Accounting application and can be used for a variety of purposes such as creating assets, retrieving asset valuations etc., The Bank Feeds API is a closed API that is only available to financial institutions that have an established financial services partnership with Xero. If you're an existing financial services partner that wants access, contact your local Partner Manager. If you're a financial institution who wants to provide bank feeds to your business customers, contact us to become a financial services partner., These endpoints are related to managing authentication tokens and identity for Xero API, This is the Xero Projects API

Install the Package

The package is compatible with Python versions 3.7+. Install the package from PyPi using the following pip command:

pip install xero-apimatic-sdk==1.0.0

You can also view the package at: https://pypi.python.org/pypi/xero-apimatic-sdk/1.0.0

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
environment Environment The API environment.
Default: Environment.PRODUCTION
http_client_instance Union[Session, HttpClientProvider] The Http Client passed from the sdk user for making requests
override_http_client_configuration bool The value which determines to override properties of the passed Http Client from the sdk user
http_call_back HttpCallBack The callback value that is invoked before and after an HTTP call is made to an endpoint
timeout float The value to use for connection timeout.
Default: 30
max_retries int The number of times to retry an endpoint call if it fails.
Default: 0
backoff_factor float A backoff factor to apply between attempts after the second try.
Default: 2
retry_statuses Array of int The http statuses on which retry is to be done.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methods Array of string The http methods on which retry is to be done.
Default: ["GET", "PUT"]
proxy_settings ProxySettings Optional proxy configuration to route HTTP requests through a proxy server.
logging_configuration LoggingConfiguration The SDK logging configuration for API calls
oauth_2_credentials Oauth2Credentials The credential object for OAuth 2 Authorization Code Grant
basic_auth_credentials BasicAuthCredentials The credential object for Basic Authentication

The API client can be initialized as follows:

Code-Based Client Initialization

import logging

from xeroapis.configuration import Environment
from xeroapis.http.auth.basic_auth import BasicAuthCredentials
from xeroapis.http.auth.oauth_2 import Oauth2Credentials
from xeroapis.logging.configuration.api_logging_configuration import LoggingConfiguration
from xeroapis.logging.configuration.api_logging_configuration import RequestLoggingConfiguration
from xeroapis.logging.configuration.api_logging_configuration import ResponseLoggingConfiguration
from xeroapis.models.oauth_scope_oauth_2 import OauthScopeOauth2
from xeroapis.xeroapis_client import XeroapisClient

client = XeroapisClient(
    oauth_2_credentials=Oauth2Credentials(
        oauth_client_id='OAuthClientId',
        oauth_client_secret='OAuthClientSecret',
        oauth_redirect_uri='OAuthRedirectUri',
        oauth_scopes=[
            OauthScopeOauth2.EMAIL,
            OauthScopeOauth2.OPENID
        ]
    ),
    basic_auth_credentials=BasicAuthCredentials(
        username='Username',
        password='Password'
    ),
    environment=Environment.PRODUCTION,
    logging_configuration=LoggingConfiguration(
        log_level=logging.INFO,
        request_logging_config=RequestLoggingConfiguration(
            log_body=True
        ),
        response_logging_config=ResponseLoggingConfiguration(
            log_headers=True
        )
    )
)

Environment-Based Client Initialization

from xeroapis.xeroapis_client import XeroapisClient

# Specify the path to your .env file if it’s located outside the project’s root directory.
client = XeroapisClient.from_environment(dotenv_path='/path/to/.env')

See the Environment-Based Client Initialization section for details.

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

Name Description
PRODUCTION Default The Xero Accounting API exposes accounting and related functions of the main Xero application and can be used for a variety of purposes such as creating transactions like invoices and credit notes, right through to extracting accounting data via our reports endpoint., Xero API servers, Xero Bank Feeds API base url, Xero Identity service API, Xero API server for projects

Authorization

This API uses the following authentication schemes.

List of APIs

SDK Infrastructure

Configuration

HTTP

Utilities

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xero_apimatic_sdk-1.0.0.tar.gz (202.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xero_apimatic_sdk-1.0.0-py3-none-any.whl (443.4 kB view details)

Uploaded Python 3

File details

Details for the file xero_apimatic_sdk-1.0.0.tar.gz.

File metadata

  • Download URL: xero_apimatic_sdk-1.0.0.tar.gz
  • Upload date:
  • Size: 202.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for xero_apimatic_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 46e6e0b62d8533172386ac306c70366f60ff5226ee5d1486c43da91ef05667fe
MD5 b288c579ef7b955c4ce17e0efefab541
BLAKE2b-256 fbdbc527e4246583cf19e05cbd13321577af5006f301ee615a1a1d01cfef9e87

See more details on using hashes here.

File details

Details for the file xero_apimatic_sdk-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xero_apimatic_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eacaa31a7c6a93dd2aae5301e76cffeb08178b0064f4e38c7caaf59fe912ea01
MD5 a7fa6d52ef9a2b089359cdb2cd84552f
BLAKE2b-256 896d34cae1db39c3bf5dae19d914c0dd77d5421d9a6d4b8d6ac787f2cd4a5b2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page