SDKs and Libraries
Official and community-maintained SDKs for Digisis APIs.
Official SDKs
JavaScript/Node.js SDK
Installation:
bash
npm install @digisis/sdkFeatures:
- TypeScript support
- Promise-based API
- Automatic retries
- Built-in error handling
- Webhook verification
GitHub: digisis/digisis-node
Python SDK
Installation:
bash
pip install digisis-pythonFeatures:
- Async/await support
- Type hints
- Comprehensive error handling
- Request/response logging
- Rate limit handling
GitHub: digisis/digisis-python
PHP SDK
Installation:
bash
composer require digisis/digisis-phpFeatures:
- PSR-4 autoloading
- Guzzle HTTP client
- Exception handling
- Configurable timeouts
- Debug mode
GitHub: digisis/digisis-php
Go SDK
Installation:
bash
go get github.com/digisis/digisis-goFeatures:
- Context support
- Structured logging
- Custom HTTP clients
- Concurrent requests
- Zero dependencies
GitHub: digisis/digisis-go
Community SDKs
Ruby Gem
Installation:
bash
gem install digisis-rubyMaintainer: @ruby-dev
.NET Package
Installation:
bash
dotnet add package Digisis.NetMaintainer: @dotnet-community
Java Library
Installation (Maven):
xml
<dependency>
<groupId>com.digisis</groupId>
<artifactId>digisis-java</artifactId>
<version>1.0.0</version>
</dependency>Maintainer: @java-contributors
SDK Comparison
| SDK | Version | Last Updated | Tests | Coverage |
|---|---|---|---|---|
| JavaScript | 2.1.0 | 2024-01-15 | ✅ | 95% |
| Python | 1.8.2 | 2024-01-12 | ✅ | 92% |
| PHP | 1.5.1 | 2024-01-10 | ✅ | 88% |
| Go | 1.3.0 | 2024-01-08 | ✅ | 90% |
| Ruby | 0.9.0 | 2024-01-05 | ✅ | 85% |
| .NET | 0.7.0 | 2023-12-20 | ✅ | 80% |
| Java | 0.5.0 | 2023-12-15 | ✅ | 75% |
Quick Start Examples
JavaScript
javascript
import { DigisisClient } from '@digisis/sdk'
const client = new DigisisClient({
apiKey: 'your-api-key'
})
const products = await client.products.list()
console.log(products.data)Python
python
import digisis
client = digisis.Client(api_key='your-api-key')
products = client.products.list()
print(products.data)PHP
php
use Digisis\DigisisClient;
$client = new DigisisClient(['api_key' => 'your-api-key']);
$products = $client->products->list();
print_r($products->data);Go
go
package main
import (
"context"
"github.com/digisis/digisis-go"
)
func main() {
client := digisis.NewClient("your-api-key")
products, err := client.Products.List(context.Background(), nil)
if err != nil {
panic(err)
}
fmt.Println(products.Data)
}SDK Features Matrix
| Feature | JS | Python | PHP | Go | Ruby | .NET | Java |
|---|---|---|---|---|---|---|---|
| Async/Await | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Type Safety | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| Retries | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| Webhooks | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Pagination | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Rate Limiting | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
Contributing
We welcome contributions to our SDKs! Here's how to get started:
- Fork the repository
- Create a feature branch
- Write tests for your changes
- Ensure all tests pass
- Submit a pull request
Development Setup
Each SDK repository includes detailed development setup instructions in their respective README files.
Support
- Documentation: docs.digisis.com.tr
- GitHub Issues: Repository-specific issue trackers
- Email: sdk-support@digisis.com.tr
- Slack: #sdk-support
License
All official SDKs are licensed under the MIT License.