Autenticação
Todas as requisições à API do ActHub exigem autenticação via JWT Bearer Token. Obtenha o token através do endpoint de login e envie-o no header Authorization de cada chamada.
/Admin/auth
Autentica o usuário e retorna um token JWT.
Request Body — UserCredentials
{
"userName": "string", // obrigatório
"password": "string" // obrigatório
}
Exemplo de uso
POST /Admin/auth
Content-Type: application/json
{
"userName": "seu_usuario",
"password": "sua_senha"
}
// Response 200 — Token JWT
// Use no header: Authorization: Bearer {token}
Admin
Endpoints administrativos para manutenção, diagnóstico e gerenciamento da fila de sincronização.
/Admin/downloaderrors
Faz download dos logs de erros do sistema.
200 — OK
/Admin/cleanup
Executa limpeza de dados temporários e cache interno.
200 — OK
/Admin/recycle
Recicla (tenta processar novamente) os itens da fila de processamento.
200 — OK
/Admin/setup/{target}
Executa o setup inicial para o target especificado.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
target | path | string | Sim |
200 — OK
/Admin/queuestatus
Retorna o status atual da fila de processamento.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
status | query | QueueStatus | Não |
entity | query | EntityType | Não |
200 — OK
Client
Endpoint para consultar novos clientes capturados pela plataforma de e-commerce.
/Client/new
Retorna a lista de novos clientes registrados.
200 — Array de Client
500 — Internal Server Error
Log
Endpoints para registrar e consultar logs de transação — rastreabilidade completa das operações de sincronização.
/Log/new-order
Registra o log de um novo pedido recebido.
Request Body — LogNewOrder
{
"order": { /* Order object */ },
"request": "string",
"response": "string"
}
200 — OK
400 — Bad Request (ProblemDetails)
/Log/{type}/{sourceId}
Consulta logs de sincronização por tipo de entidade e ID de origem.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
type | path | EntityType | Sim |
sourceId | path | string | Sim |
200 — Array de LogEntry
Map
Gerenciamento do mapeamento de IDs entre ERP (source) e plataforma de e-commerce (target). Cada entidade sincronizada possui um registro de mapeamento.
/Map/{type}/{sourceId}
Busca o mapeamento de uma entidade específica pelo tipo e ID de origem.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
type | path | EntityType | Sim |
sourceId | path | string | Sim |
200 — Array de MapItem
404 — Not Found
/Map/{type}/{sourceId}
Remove o mapeamento de uma entidade específica.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
type | path | EntityType | Sim |
sourceId | path | string | Sim |
200 — OK
404 — Not Found
/Map/{type}
Lista todos os mapeamentos de um tipo de entidade.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
type | path | EntityType | Sim |
200 — Array de MapItem
/Map
Cria um novo registro de mapeamento entre source e target.
Request Body — MapItem
{
"sourceID": "string",
"targetID": "string",
"entity": 0 // EntityType enum
}
200 — OK
400 — Bad Request
Order
Gestão completa do ciclo de vida de pedidos: consulta, processamento, faturamento, expedição e cancelamento.
/Order/{targetId}
Consulta um pedido pelo ID do target (e-commerce).
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
targetId | path | string | Sim |
200 — Order
/Order/new
Retorna a lista de pedidos novos (ainda não processados pelo ERP).
200 — Array de Order
/Order/invoices
Envia notas fiscais vinculadas a pedidos.
Request Body — Array de Invoice
[
{
"targetID": "string",
"companyCode": "string",
"orderTargetID": "string",
"orderSourceID": "string",
"number": "string",
"serie": "string",
"value": 0.0,
"date": "2026-01-01T00:00:00Z",
"url": "string",
"key": "string",
"items": [
{
"targetID": "string",
"sourceID": "string",
"price": 0.0,
"cfop": "string",
"quantity": 0.0,
"companyCode": "string"
}
]
}
]
200 — OK (string)
400 — Bad Request
/Order/shipment
Registra informações de expedição/rastreio de um pedido.
Request Body — Shipment
{
"targetID": "string",
"companyCode": "string",
"orderTargetID": "string",
"orderSourceID": "string",
"trackingNumber": "string",
"trackingUrl": "string",
"courier": "string",
"date": "2026-01-01T00:00:00Z"
}
200 — OK (string)
400 — Bad Request
/Order/start-handling
Sinaliza que o ERP iniciou o tratamento do pedido.
Request Body — StartOrderHandling
{
"sourceId": "string",
"targetId": "string",
"message": "string"
}
200 — OK (string)
400 — Bad Request
/Order/cancel
Cancela um pedido na plataforma de e-commerce.
Request Body — CancelOrder
{
"sourceId": "string",
"targetId": "string"
}
200 — OK (string)
400 — Bad Request
/Order/message
Envia uma mensagem/observação para o pedido no e-commerce.
Request Body — OrderMessage
{
"sourceId": "string",
"targetId": "string",
"message": "string"
}
200 — OK (string)
400 — Bad Request
/Order/enqueue
Enfileira um pedido para reprocessamento.
Request Body — EnqueueItem
{
"sourceID": "string",
"message": "string"
}
200 — OK (string)
400 — Bad Request
Param
CRUD de parâmetros de configuração da integração. Permite consultar, criar, atualizar e remover configurações.
/Param
Cria um novo parâmetro de configuração.
Request Body — Param
{
"id": "string",
"value": "string",
"description": "string",
"type": 1 // ParamType enum
}
200 — OK
/Param
Atualiza um parâmetro de configuração existente.
Request Body — Param
{
"id": "string",
"value": "string",
"description": "string",
"type": 1
}
/Param/{id}
Busca um parâmetro pelo ID.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
id | path | string | Sim |
200 — Param
404 — Not Found
/Param/{id}
Remove um parâmetro pelo ID.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
id | path | string | Sim |
404 — Not Found
Sync
Endpoints de sincronização de dados entre ERP e e-commerce. Aqui é onde acontece a mágica: envie marcas, departamentos, categorias, produtos, SKUs, estoque, preços e kits para a plataforma de e-commerce.
Fila de Sincronização
/Sync/{queueId}
Consulta o status de um item da fila.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
queueId | path | string | Sim |
200 — SchedulerItem
404 — Not Found
/Sync/{queueId}
Reprocessa um item da fila.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
queueId | path | string | Sim |
200 — boolean
/Sync/{queueId}
Remove um item da fila de sincronização.
| Parâmetro | In | Tipo | Obrigatório |
|---|---|---|---|
queueId | path | string | Sim |
200 — OK
404 — Not Found
Catálogo
/Sync/brand
Sincroniza uma marca. Body: Brand
/Sync/brand/{sourceId}
Remove uma marca pelo sourceId.
/Sync/department
Sincroniza um departamento. Body: Department
/Sync/department/{sourceId}
Remove um departamento pelo sourceId.
/Sync/section
Sincroniza uma seção. Body: Section
/Sync/section/{sourceId}
Remove uma seção pelo sourceId.
/Sync/category
Sincroniza uma categoria. Body: Category
/Sync/category/{sourceId}
Remove uma categoria pelo sourceId.
/Sync/supplier
Sincroniza um fornecedor. Body: Supplier
/Sync/supplier/{sourceId}
Remove um fornecedor pelo sourceId.
Produtos e SKUs
/Sync/product
Sincroniza um produto. Body: Product
/Sync/product/{sourceId}
Remove um produto pelo sourceId.
/Sync/sku
Sincroniza um SKU. Body: SKU
/Sync/sku/{sourceId}
Remove um SKU pelo sourceId.
/Sync/kit
Sincroniza um kit. Body: Kit
Estoque, Preços e Dados de Cliente
/Sync/inventory
Sincroniza estoque de um SKU. Body: Inventory
/Sync/price
Sincroniza preços de um SKU. Body: Price
/Sync/clientinfo
Sincroniza info de cliente B2B. Body: ClientInfo
Schemas
Modelos de dados utilizados nos request/response da API.
Brand
{
"sourceID": "string",
"targetID": "string",
"name": "string",
"title": "string",
"description": "string",
"keyWords": "string",
"active": true
}
Department
{
"sourceID": "string",
"targetID": "string",
"name": "string",
"title": "string",
"description": "string",
"keywords": "string",
"active": true
}
Section
{
"sourceID": "string",
"targetID": "string",
"name": "string",
"title": "string",
"description": "string",
"departID": "string",
"keywords": "string",
"active": true
}
Category
{
"sourceID": "string",
"targetID": "string",
"name": "string",
"title": "string",
"description": "string",
"sectionID": "string",
"departID": "string",
"keywords": "string",
"active": true
}
Supplier
{
"sourceID": "string",
"targetID": "string",
"name": "string",
"title": "string",
"active": true
}
Product
{
"sourceID": "string",
"targetID": "string",
"company": "string",
"name": "string",
"title": "string",
"description": "string",
"keyWords": "string",
"metaTag": "string",
"shortDescription": "string",
"departID": "string",
"sectionID": "string",
"categoryID": "string",
"brandID": "string",
"supplierId": "string",
"active": true,
"visible": true,
"coverImageUrl": "string",
"attributes": {
"key": { Attribute }
}
}
SKU
{
"sourceID": "string",
"targetID": "string",
"name": "string",
"productSourceId": "string",
"heightInCm": 0.0,
"widthInCm": 0.0,
"lengthInCm": 0.0,
"grossWeightinGrams": 0.0,
"liquidWeightinGrams": 0.0,
"barcode": "string",
"salesMultiple": 0.0,
"partNumber": "string",
"unit": "string",
"imageUrls": ["string"],
"active": true,
"isKit": false,
"attributes": {
"key": { Attribute }
}
}
Inventory
{
"sourceID": "string",
"targetID": "string",
"companyCode": "string",
"stock": 0.0,
"unlimited": false,
"wharehouse": "string",
"date": "2026-01-01T00:00:00Z"
}
Price
{
"sourceID": "string",
"targetID": "string",
"priceTables": [
{
"companyCode": "string",
"name": "string",
"price": 0.0,
"basePrice": 0.0,
"costPrice": 0.0,
"tax": 0.0,
"default": true,
"offers": [
{
"start": "datetime",
"end": "datetime",
"minQuantity": 0,
"price": 0.0,
"percent": 0.0
}
]
}
]
}
Kit
{
"sourceID": "string",
"targetID": "string",
"components": [
{
"sourceID": "string",
"targetID": "string",
"quantity": 0,
"price": 0.0
}
]
}
ClientInfo
{
"sourceID": "string",
"targetID": "string",
"cnpj": "string",
"email": "string",
"active": true,
"priceTable": "string",
"credit": 0.0,
"maxDeadLineInDays": 0,
"confidenceLevel": "string",
"isNew": false
}
Client
{
"sourceID": "string",
"targetID": "string",
"email": "string",
"name": "string",
"companyName": "string",
"cnpj": "string",
"cpf": "string",
"rg": "string",
"issuerRG": "string",
"inscEstadual": "string",
"inscMunicipal": "string",
"personalPhone": "string",
"businessPhone": "string",
"billingAddress": { Address },
"deliveryAddress": { Address }
}
Order
{
"sourceID": "string",
"targetID": "string",
"status": 1, // OrderStatus
"creationDate": "datetime",
"lastChange": "datetime",
"total": 0.0,
"itemsTotal": 0.0,
"discounts": 0.0,
"coupon": "string",
"shippingCost": 0.0,
"tax": 0.0,
"authorizedDate": "datetime",
"items": [{ OrderItem }],
"shippingAddress": { Address },
"shipment": { ShipmentInfo },
"payments": [{ PaymentInfo }],
"client": { Client },
"invoiceNumber": "string",
"invoiceDate": "datetime",
"seller": "string",
"channel": "string",
"sourceSyncMessage": "string"
}
MapItem
{
"sourceID": "string",
"targetID": "string",
"entity": 0, // EntityType
"created": "datetime",
"updated": "datetime"
}
LogEntry
{
"id": "string",
"updated": "datetime",
"type": 0, // EntityType
"sourceID": "string",
"targetID": "string",
"interactions": [
{
"id": "string",
"logId": "string",
"executed": "datetime",
"message": "string",
"request": "string",
"response": "string",
"info": "string"
}
]
}
SchedulerItem
{
"id": "string",
"createdAt": "datetime",
"data": "string",
"entity": 0, // EntityType
"executedAt": "datetime",
"sourceID": "string",
"operation": 68, // QueueOperation
"status": 0, // QueueStatus
"attempts": 0,
"message": "string",
"companyCode": "string"
}
Param
{
"id": "string",
"value": "string",
"description": "string",
"type": 1 // ParamType
}
Enums
Tipos enumerados utilizados pela API.
EntityType
0 — (padrão)
1 — Brand
2 — Department
3 — Section
4 — Category
5 — Supplier
10 — Product
20 — SKU
25 — Kit
30 — Inventory
40 — Price
50 — Order
60 — Invoice
61 — Shipment
70 — Client
80 — ClientInfo
90 — Param
OrderStatus
1 — New
3 — ReadyForHandling
5 — Handling
7 — Invoiced
9 — Shipped
20 — Canceled
QueueStatus
0 — Pending
1 — Processing
2 — Completed
3 — Error
4 — Canceled
5 — Skipped
QueueOperation
68 — Delete (ASCII 'D')
73 — Insert (ASCII 'I')
AddressType
0 — Residential
1 — Commercial
2 — Pickup
CardBrand
0 — Visa
1 — Mastercard
2 — AmericanExpress
3 — Elo
4 — Hipercard
5 — Diners
6 — Other
ParamType
1 — System
10 — Integration
100 — Custom
Suporte Técnico
Tem dúvidas sobre a integração ou precisa de acesso ao ambiente sandbox? Entre em contato com nosso time técnico.