Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/easykeys/easykeys.veeqo
This repository contains a .NET wrapper for the Veeqo API.
https://github.com/easykeys/easykeys.veeqo
amazon ecommerce labels shipping veeqo
Last synced: 24 days ago
JSON representation
This repository contains a .NET wrapper for the Veeqo API.
- Host: GitHub
- URL: https://github.com/easykeys/easykeys.veeqo
- Owner: easykeys
- License: mit
- Created: 2024-08-05T21:57:21.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-09T06:38:12.000Z (5 months ago)
- Last Synced: 2024-08-10T07:32:30.416Z (5 months ago)
- Topics: amazon, ecommerce, labels, shipping, veeqo
- Language: C#
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Veeqo API Wrapper
## Overview
This repository contains a .NET wrapper for the [Veeqo API](https://developer.veeqo.com/docs). The wrapper simplifies interaction with Veeqo's various endpoints, allowing developers to easily integrate Veeqo functionalities into their applications.
## Features
- Simplified API interaction with Veeqo.
- Support for major Veeqo endpoints (Products, Orders, Customers, etc.).
- Error handling and response validation.
- Customizable to fit different use cases.## Installation
To install the Veeqo API Wrapper, add the package reference to your project:
```xml
```
## Usage
### Setting Up
Here's a quick example to get you started:
```csharp
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using EasyKeys.Veeqo.Orders;
using EasyKeys.Veeqo.Orders.Models.Parameters;// Configure your services
var services = new ServiceCollection();var configurationData = new Dictionary
{
{ "VeeqoClientOptions:BaseUrl", "https://private-anon-4c0cd8afa3-veeqo.apiary-proxy.com/" },
{ "VeeqoClientOptions:ApiKey" , "your-api-key" },
};var configBuilder = new ConfigurationBuilder().AddInMemoryCollection(configurationData);
var config = configBuilder.Build();services.AddSingleton(config);
services.AddVeeqoOrdersClient();
services.AddVeeqoProductsClient();
services.AddVeeqoStockEntriesClient();
services.AddVeeqoBulkTaggingClient();var serviceProvider = services.BuildServiceProvider();
var veeqoOrdersClient = serviceProvider.GetRequiredService();
```### Listing Orders
```csharp
// Define parameters
var parameters = new GetOrdersParameters
{
Query = "query",
Status = "status",
Updated_At_Min = DateTime.Now.AddMonths(-1),
Since_Id = 100,
Created_At_Min = DateTime.Now.AddMonths(-6),
Page = 1,
Page_Size = 50,
Tags = "tag1,tag2",
Allocated_At = 5,
};// List orders
var orders = await veeqoOrdersClient.ListOrdersAsync(parameters);
foreach (var order in orders.Result)
{
Console.WriteLine(order.Number);
}
```### Managing Stock Entries
```csharp
var veeqoStockEntriesClient = serviceProvider.GetRequiredService();var stockEntryId = 123;
var warehouseId = 456;// Show stock entry
var stockEntryResult = await veeqoStockEntriesClient.ShowStockEntryAsync(stockEntryId, warehouseId);// Update stock entry
var newStockEntry = new RequestStockEntry
{
Infinite = true,
StockLevel = 188
};var updateStockEntryResult = await veeqoStockEntriesClient.UpdateStockEntryAsync(stockEntryId, warehouseId, newStockEntry);
```### Managing Products
```csharp
var veeqoProductsClient = serviceProvider.GetRequiredService();// List products
var productsResult = await veeqoProductsClient.ListProductsAsync(new GetProductsParameters() { Page_Size = 50 });// Update product
var updateProductResult = await veeqoProductsClient.UpdateProductAsync(productsResult.Data.First().Id, new RequestProduct() { Title = "new title" });// Create a new product
var createdProduct = await veeqoProductsClient.CreateProductAsync(new RequestProduct()
{
Title = "title",
Description = "description",
Notes = "item.Notes",
ProductVariantsAttributes = new List
{
new RequestProductVariant
{
Title = "item.SubTitle",
SkuCode = "item.Sku",
Price = 2m,
MeasurementAttributes = new MeasurementAttributes
{
Height = 2m,
Width = 2m,
Depth = 2m
},
WeightGrams = 56 // 2m * 28
}
},
ImagesAttributes = new List
{
new RequestProductImage
{
Src = "item.ImgUrl"
}
}
});// Delete product
var deleteProductResult = await veeqoProductsClient.DeleteProductAsync(createdProduct.Data.Id);
```### Bulk Tagging
```csharp
var veeqoBulkTaggingClient = serviceProvider.GetRequiredService();// Bulk tag orders
var ordersTag = await veeqoBulkTaggingClient.BulkTagOrdersAsync(new List { 1, 2, 3 }, new List { 1, 3, 4 });// Bulk tag products
var productsTag = await veeqoBulkTaggingClient.BulkTagProductsAsync(new List { 1, 2, 3 }, new List { 1, 3, 4 });
```## Authentication
To use the Veeqo API, you need to obtain an API key from your Veeqo account. Once you have the key, configure the `VeeqoClientOptions` with your API key as shown in the example above.
## Models
### Request Models
Request models are used to structure the data sent to the Veeqo API when creating or updating resources. For example, `RequestOrder` is used when creating or updating an order. These models are located in the `Models/Request` folder.
### Response Models
Response models represent the structure of the data returned by the Veeqo API. For example, `Order` is used to represent the details of an order returned by the API. These models are located in the `Models/Response` folder.
### Parameter Models
Parameter models are used to filter and paginate the results when retrieving data from the API. For example, `GetOrdersParameters` allows you to specify various criteria such as date range, status, and pagination options to refine the results returned by the API. These models are located in the `Models/Parameters` folder.
## Contributing
Contributions are welcome! Please fork this repository and submit a pull request for any enhancements or bug fixes.
### Steps to Contribute
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Create a new Pull Request.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
If you have any questions or suggestions, please feel free to open an issue or contact us directly.