3. Data Ingestion & Supply Chain
The following methods are available via the AgriBackup SDK for this integration stage.
List Supplier Mappings
Retrieves all mapped suppliers for the enterprise.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.suppliers.listSuppliers(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.suppliers.list_suppliers(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.suppliers.listSuppliers(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Suppliers.ListSuppliersAsync(/* args */);
Console.WriteLine(response);
Register Supplier Mapping
Binds an internal ERP Vendor ID to an official EU TRACES Operator UUID.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.suppliers.registerSupplier(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.suppliers.register_supplier(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.suppliers.registerSupplier(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Suppliers.RegisterSupplierAsync(/* args */);
Console.WriteLine(response);
Cryptographically link a batch to a shipment (Async)
Invokes the [BATCH_SHIPMENT_GATEKEEPER] Hedera Smart Contract to lock a verified batch to a logistics shipment. Emits a 'shipment.linked' webhook upon blockchain consensus.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.api.linkBatchToShipment(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.api.link_batch_to_shipment(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.api.linkBatchToShipment(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Api.LinkBatchToShipmentAsync(/* args */);
Console.WriteLine(response);
List Verified Polygons
Retrieves a cursor-paginated list of all verified farm boundary polygons matching the organization scope.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.polygons.getPolygons(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.polygons.get_polygons(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.polygons.getPolygons(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Polygons.GetPolygonsAsync(/* args */);
Console.WriteLine(response);
Ingest GeoJSON Polygons (Async)
Programmatically ingest farm/production unit polygons. Returns 202 instantly. The bulk ingestion engine runs deforestation checks and fires 'polygon.verified' webhook upon completion.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.polygons.ingestPolygons(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.polygons.ingest_polygons(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.polygons.ingestPolygons(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Polygons.IngestPolygonsAsync(/* args */);
Console.WriteLine(response);
List Batches
Retrieves a cursor-paginated list of registered EUDR batches.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.batches.getBatches(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.batches.get_batches(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.batches.getBatches(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Batches.GetBatchesAsync(/* args */);
Console.WriteLine(response);
Register a consolidated EUDR batch (Synchronous)
Programmatically create a new EUDR batch linked to an array of pre-verified Polygon IDs. Returns a 201 response with the batch details immediately.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.batches.registerBatch(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.batches.register_batch(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.batches.registerBatch(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Batches.RegisterBatchAsync(/* args */);
Console.WriteLine(response);
Run compliance risk assessment for an EUDR batch
An explicit command to lock the batch, verify all attached legal documents, and run the EUDR oracle checks. Returns 202 instantly, and triggers the batch.risk_assessed webhook when finished.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.batches.assessRisk(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.batches.assess_risk(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.batches.assessRisk(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Batches.AssessRiskAsync(/* args */);
Console.WriteLine(response);
Get batch by ID
Returns the consolidated risk state and linked shipment IDs for a single EUDR batch.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.batches.getBatchById(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.batches.get_batch_by_id(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.batches.getBatchById(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Batches.GetBatchByIdAsync(/* args */);
Console.WriteLine(response);
Delete an EUDR batch
Deletes a batch if it is not cryptographically linked to a shipment or TRACES NT.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.batches.deleteBatch(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.batches.delete_batch(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.batches.deleteBatch(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Batches.DeleteBatchAsync(/* args */);
Console.WriteLine(response);
Update an EUDR batch
Updates batch details if it is not cryptographically linked to a shipment or TRACES NT.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.batches.updateBatch(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.batches.update_batch(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.batches.updateBatch(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Batches.UpdateBatchAsync(/* args */);
Console.WriteLine(response);
Get Supplier Mapping
Retrieves the mapping for a specific internal ERP Vendor ID.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.suppliers.getSupplier(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.suppliers.get_supplier(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.suppliers.getSupplier(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Suppliers.GetSupplierAsync(/* args */);
Console.WriteLine(response);
Get Polygon compliance status
Synchronously query the deterministic EUDR compliance status (PENDING, COMPLIANT, HIGH_RISK) of a specific polygon before linking it to a high-value shipment.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.polygons.getPolygonStatus(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.polygons.get_polygon_status(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.polygons.getPolygonStatus(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Polygons.GetPolygonStatusAsync(/* args */);
Console.WriteLine(response);
Delete Polygon
Deletes a polygon if it is not cryptographically linked to a batch or shipment.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.polygons.deletePolygon(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.polygons.delete_polygon(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.polygons.deletePolygon(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Polygons.DeletePolygonAsync(/* args */);
Console.WriteLine(response);
Unlink a Batch from a Shipment (EVM Rollback)
Asynchronously rollback the Hedera smart contract lock, freeing the batch for reassignment. Essential for logistics cancellations at the port.
- Node.js
- Python
- Java
- C#
import { AgriBackupClient } from 'agribackup';
const client = new AgriBackupClient('sk_live_...');
const response = await client.api.unlinkShipment(/* args */);
console.log(response.data);
from agribackup import AgriBackupClient
client = AgriBackupClient('sk_live_...')
response = client.api.unlink_shipment(# args)
print(response)
import com.agribackup.AgriBackupClient;
AgriBackupClient client = new AgriBackupClient("sk_live_...");
var response = client.api.unlinkShipment(/* args */);
System.out.println(response);
using AgriBackup;
var client = new AgriBackupClient("sk_live_...");
var response = await client.Api.UnlinkShipmentAsync(/* args */);
Console.WriteLine(response);