{"id":21179123,"url":"https://github.com/avadev/avalara-sdk-php","last_synced_at":"2025-04-13T16:12:20.997Z","repository":{"id":222881203,"uuid":"747760320","full_name":"avadev/Avalara-SDK-PHP","owner":"avadev","description":"Avalara-SDK-PHP","archived":false,"fork":false,"pushed_at":"2025-04-01T15:37:27.000Z","size":182,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T16:12:13.455Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avadev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-24T15:33:50.000Z","updated_at":"2025-04-01T15:37:31.000Z","dependencies_parsed_at":"2025-01-16T00:28:58.099Z","dependency_job_id":"db4fdfcb-44a3-4337-892f-27f675fd4d9a","html_url":"https://github.com/avadev/Avalara-SDK-PHP","commit_stats":null,"previous_names":["avadev/avalara-sdk-php"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FAvalara-SDK-PHP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FAvalara-SDK-PHP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FAvalara-SDK-PHP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FAvalara-SDK-PHP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avadev","download_url":"https://codeload.github.com/avadev/Avalara-SDK-PHP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741195,"owners_count":21154255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T17:28:49.324Z","updated_at":"2025-04-13T16:12:20.970Z","avatar_url":"https://github.com/avadev.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Avalara.SDK - the Unified Java SDK for next gen Avalara services.\r\n\r\nUnified SDK consists of services on top of which the Avalara Compliance Cloud platform is built. These services are foundational and provide functionality such as einvoicing.\r\n\r\n## Installation \u0026 Usage\r\n\r\n### Requirements\r\n\r\nPHP 7.3 and later.\r\nShould also work with PHP 8.0 but has not been tested.\r\n\r\n### Composer\r\n\r\nTo install the bindings via [Composer](https://getcomposer.org/), add the following to `composer.json`:\r\n\r\n```json\r\n{\r\n  \"repositories\": [\r\n    {\r\n      \"type\": \"vcs\",\r\n      \"url\": \"https://github.com/avadev/Avalara-SDK-PHP.git\"\r\n    }\r\n  ],\r\n  \"require\": {\r\n    \"avalara/avalara_sdk\": \"24.12.1\"\r\n  }\r\n}\r\n```\r\n\r\nThen run `composer install`\r\n\r\n## Getting Started\r\n\r\nPlease follow the [installation procedure](#installation--usage) and then run the following:\r\n\r\n```php\r\n\u003c?php\r\nrequire_once(__DIR__ . '/vendor/autoload.php');\r\n\r\n// Configure HTTP OAUTH2 Access Token and other config options\r\n$config = new \\Avalara\\SDK\\Configuration();\r\n$config-\u003esetBearerToken('YOUR_JWT_ACCESS_TOKEN');\r\n$config-\u003esetAppName('YOUR_APP_NAME');\r\n$config-\u003esetEnvironment('sandbox');\r\n$config-\u003esetMachineName('YOUR_MACHINE_NAME');\r\n$config-\u003esetAppVersion('YOUR_APP_VERSION');\r\n\r\n$client = new \\Avalara\\SDK\\ApiClient($config);\r\n\r\n$apiInstance = new \\Avalara\\SDK\\API\\EInvoicing\\V1\\MandatesApi($client);\r\n\r\n$request_options = new \\Avalara\\SDK\\API\\EInvoicing\\V1\\GetMandatesRequest();\r\n$request_options-\u003esetXAvalaraClient('Swagger UI; 22.7.0; Custom; 1.0'); // string | Identifies the software you are using to call this API.  For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) .\r\ntry {\r\n    $result = $apiInstance-\u003egetMandates($request_options);\r\n    print_r(\"Result: \". $result);\r\n} catch (Exception $e) {\r\n    echo 'Exception when calling AddressesApi-\u003eresolveAddressPost: ', $e-\u003egetMessage(), PHP_EOL;\r\n}\r\n\r\n```\r\n\r\n## Tests\r\n\r\nTo run the tests, use:\r\n\r\n```bash\r\ncomposer install\r\nvendor/bin/phpunit\r\n```\r\n\r\n## Logging\r\n\r\nAll [PSR-3 compatible](https://www.php-fig.org/psr/psr-3/) loggers are supported by the SDK.\r\n\r\n### Usage\r\n\r\nDeclare whichever PSR-3 logger that you desire and pass it in via the configuration object. The example below uses [Monolog](https://github.com/Seldaek/monolog)\r\n\r\n```php\r\nuse Monolog\\Logger;\r\nuse Monolog\\Handler\\StreamHandler;\r\n\r\n$config = new \\Avalara\\SDK\\Configuration();\r\n// Configure logger\r\n$logger = new Logger('AddressLogger');\r\n$logger-\u003epushHandler(new StreamHandler(__DIR__ . '/../../app.log', Logger::DEBUG));\r\n// Setup log options , first parameter is logRequestAndResponseBody, which can be true|false. Second parameter is the PSR-3 compatible logger.\r\n$logOptions = new \\Avalara\\SDK\\Utils\\LogOptions(true, $logger);\r\n$config-\u003esetLogOptions($logOptions);\r\n$client =  new \\Avalara\\SDK\\ApiClient($config);\r\n```\r\n\r\n## Documentation for API Endpoints\r\n\r\n\u003ca name=\"documentation-for-EInvoicing-V1-api-endpoints\"\u003e\u003c/a\u003e\r\n\r\n### EInvoicing V1 API Documentation\r\n\r\n| Class                | Method                                                                                              | HTTP request                                                    | Description                                                                                             |\r\n| -------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |\r\n| _DataInputFieldsApi_ | [**getDataInputFields**](docs/EInvoicing/V1/DataInputFieldsApi.md#getdatainputfields)               | **GET** /data-input-fields                                      | Returns the optionality of document fields for different country mandates                               |\r\n| _DocumentsApi_       | [**downloadDocument**](docs/EInvoicing/V1/DocumentsApi.md#downloaddocument)                         | **GET** /documents/{documentId}/$download                       | Returns a copy of the document                                                                          |\r\n| _DocumentsApi_       | [**fetchDocuments**](docs/EInvoicing/V1/DocumentsApi.md#fetchdocuments)                             | **POST** /documents/$fetch                                      | Fetch the inbound document from a tax authority                                                         |\r\n| _DocumentsApi_       | [**getDocumentList**](docs/EInvoicing/V1/DocumentsApi.md#getdocumentlist)                           | **GET** /documents                                              | Returns a summary of documents for a date range                                                         |\r\n| _DocumentsApi_       | [**getDocumentStatus**](docs/EInvoicing/V1/DocumentsApi.md#getdocumentstatus)                       | **GET** /documents/{documentId}/status                          | Checks the status of a document                                                                         |\r\n| _DocumentsApi_       | [**submitDocument**](docs/EInvoicing/V1/DocumentsApi.md#submitdocument)                             | **POST** /documents                                             | Submits a document to Avalara E-Invoicing API                                                           |\r\n| _InteropApi_         | [**submitInteropDocument**](docs/EInvoicing/V1/InteropApi.md#submitinteropdocument)                 | **POST** /interop/documents                                     | Submit a document                                                                                       |\r\n| _MandatesApi_        | [**getMandateDataInputFields**](docs/EInvoicing/V1/MandatesApi.md#getmandatedatainputfields)        | **GET** /mandates/{mandateId}/data-input-fields                 | Returns document field information for a country mandate, a selected document type, and its version     |\r\n| _MandatesApi_        | [**getMandates**](docs/EInvoicing/V1/MandatesApi.md#getmandates)                                    | **GET** /mandates                                               | List country mandates that are supported by the Avalara E-Invoicing platform                            |\r\n| _TradingPartnersApi_ | [**batchSearchParticipants**](docs/EInvoicing/V1/TradingPartnersApi.md#batchsearchparticipants)     | **POST** /trading-partners/batch-searches                       | Creates a batch search and performs a batch search in the directory for participants in the background. |\r\n| _TradingPartnersApi_ | [**downloadBatchSearchReport**](docs/EInvoicing/V1/TradingPartnersApi.md#downloadbatchsearchreport) | **GET** /trading-partners/batch-searches/{id}/$download-results | Download batch search results in a csv file.                                                            |\r\n| _TradingPartnersApi_ | [**getBatchSearchDetail**](docs/EInvoicing/V1/TradingPartnersApi.md#getbatchsearchdetail)           | **GET** /trading-partners/batch-searches/{id}                   | Get the batch search details for a given id.                                                            |\r\n| _TradingPartnersApi_ | [**listBatchSearches**](docs/EInvoicing/V1/TradingPartnersApi.md#listbatchsearches)                 | **GET** /trading-partners/batch-searches                        | List all batch searches that were previously submitted.                                                 |\r\n| _TradingPartnersApi_ | [**searchParticipants**](docs/EInvoicing/V1/TradingPartnersApi.md#searchparticipants)               | **GET** /trading-partners                                       | Returns a list of participants matching the input query.                                                |\r\n\r\n\u003ca name=\"documentation-for-models\"\u003e\u003c/a\u003e\r\n\r\n## Documentation for Models\r\n\r\n\u003ca name=\"documentation-for-EInvoicing-V1-models\"\u003e\u003c/a\u003e\r\n\r\n### EInvoicing V1 Model Documentation\r\n\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\BadDownloadRequest](docs/EInvoicing/V1/BadDownloadRequest.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\BadRequest](docs/EInvoicing/V1/BadRequest.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\BatchSearch](docs/EInvoicing/V1/BatchSearch.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\BatchSearchListResponse](docs/EInvoicing/V1/BatchSearchListResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\ConditionalForField](docs/EInvoicing/V1/ConditionalForField.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DataInputField](docs/EInvoicing/V1/DataInputField.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DataInputFieldNotUsedFor](docs/EInvoicing/V1/DataInputFieldNotUsedFor.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DataInputFieldOptionalFor](docs/EInvoicing/V1/DataInputFieldOptionalFor.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DataInputFieldRequiredFor](docs/EInvoicing/V1/DataInputFieldRequiredFor.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DataInputFieldsResponse](docs/EInvoicing/V1/DataInputFieldsResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DirectorySearchResponse](docs/EInvoicing/V1/DirectorySearchResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DirectorySearchResponseValueInner](docs/EInvoicing/V1/DirectorySearchResponseValueInner.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DirectorySearchResponseValueInnerAddressesInner](docs/EInvoicing/V1/DirectorySearchResponseValueInnerAddressesInner.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DirectorySearchResponseValueInnerIdentifiersInner](docs/EInvoicing/V1/DirectorySearchResponseValueInnerIdentifiersInner.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DirectorySearchResponseValueInnerSupportedDocumentTypesInner](docs/EInvoicing/V1/DirectorySearchResponseValueInnerSupportedDocumentTypesInner.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentFetch](docs/EInvoicing/V1/DocumentFetch.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentFetchRequest](docs/EInvoicing/V1/DocumentFetchRequest.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentFetchRequestDataInner](docs/EInvoicing/V1/DocumentFetchRequestDataInner.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentFetchRequestMetadata](docs/EInvoicing/V1/DocumentFetchRequestMetadata.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentListResponse](docs/EInvoicing/V1/DocumentListResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentStatusResponse](docs/EInvoicing/V1/DocumentStatusResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentSubmissionError](docs/EInvoicing/V1/DocumentSubmissionError.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentSubmitResponse](docs/EInvoicing/V1/DocumentSubmitResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\DocumentSummary](docs/EInvoicing/V1/DocumentSummary.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\ErrorResponse](docs/EInvoicing/V1/ErrorResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\ForbiddenError](docs/EInvoicing/V1/ForbiddenError.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\InputDataFormats](docs/EInvoicing/V1/InputDataFormats.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\InternalServerError](docs/EInvoicing/V1/InternalServerError.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\Mandate](docs/EInvoicing/V1/Mandate.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\MandateDataInputField](docs/EInvoicing/V1/MandateDataInputField.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\MandateDataInputFieldNamespace](docs/EInvoicing/V1/MandateDataInputFieldNamespace.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\MandatesResponse](docs/EInvoicing/V1/MandatesResponse.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\NotFoundError](docs/EInvoicing/V1/NotFoundError.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\NotUsedForField](docs/EInvoicing/V1/NotUsedForField.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\RequiredWhenField](docs/EInvoicing/V1/RequiredWhenField.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\StatusEvent](docs/EInvoicing/V1/StatusEvent.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\SubmitDocumentMetadata](docs/EInvoicing/V1/SubmitDocumentMetadata.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\SubmitInteropDocument202Response](docs/EInvoicing/V1/SubmitInteropDocument202Response.md)\r\n- [Avalara\\SDK\\Model\\EInvoicing\\V1\\WorkflowIds](docs/EInvoicing/V1/WorkflowIds.md)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favadev%2Favalara-sdk-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favadev%2Favalara-sdk-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favadev%2Favalara-sdk-php/lists"}