Webhooks
🔹 Crear un webhook
Consulta: POST /v1/{marketplace_code}/webhooks
Campos del webhook:
| Nombre | Descripción | Tipo de dato | Obligatorio | Valores permitidos |
|---|---|---|---|---|
code | Código | String | X | Ver abajo |
name | Nombre | String | X | |
topic | Tópico al cual suscribirse | String | X | Ver abajo |
callback_url | URL a la cual enviar las notificaciones | String | X | |
seller_id | ID del vendedor | String | ||
headers | Headers a enviar en la notificación | Object<String, String> |
Aclaraciones:
- Formato del código (
code): Debe cumplir con la siguiente regex:/^[a-zA-Z0-9\-_]+$/. Es decir que sólo puede contener números, letras del alfabeto latino, guiones bajos y guiones medios. - ID del vendedor (
seller_id): En caso de no recibirse se usará el valor por defecto ("*"). Éste permite recibir las novedades del tópico de todos los vendedores. - Tópicos validos (
topic):publication/create: Se creó una publicación.publication/update: Se modificó una publicación.order/create: Se creó una venta.order/update: Se modificó una venta.order/invoice_upload: Se subió una factura a una venta.order/status_change: Se cambió el estado de una venta.
Cambio a estado específico de venta
Es posible suscribirse al cambio a un estado específico de venta usando el tópico order/status_change/<status_code>.
Por ejemplo, para recibir notificaciones sólo cuando una venta pase al estado "Pago aprobado" (Código APRO) se deberá suscribir al tópico order/status_change/APRO,
para "En proceso" será order/status_change/PROC y lo mismo para cada código de estado de venta.
Ejemplo de payload para la consulta:
{
"code": "status_change_to_apro",
"name": "Ventas: Cambio de estado a pago aprobado",
"topic": "order/status_change/APRO",
"seller_id": "345",
"callback_url": "https://api.acme.com/notifications",
"headers": {
"User-Agent": "Fulljaus-Marketplace-API"
}
}
Respuesta:
Código HTTP: 201
Devuelve las entidades creadas.
Notificaciones
Payload que se enviará a la URL proporcionada mediante HTTP POST.
Para notificaciones de publicacioens (publication/*):
{
"seller_id": 345,
"marketplace_connection_id": 940,
"topic_path": "publication/acme/create",
"entity_id": 1298104,
"payload": {
"publication": {
"id": 1298104,
"productMarketplaceCode": null,
"sku": "EXAMPLE-SKU",
"product": {
"id": 221511317,
"sku": "EXAMPLE-SKU",
"name": "Producto de ejemplo",
"title": "Producto de ejemplo",
"description": "Desc",
"shortDescription": "Desc",
"stock": 15,
"providerCode": "",
"price": 800000,
"reservation": 0,
"weight": null,
"height": null,
"width": null,
"depth": null,
"packages_deprecated": 1,
"units_per_package": 1,
"measured_weight": null,
"packages": [
{
"id": 880441,
"product_id": 221511317,
"name": "Paquete 1",
"height": 12,
"width": 12,
"depth": 12,
"weight": 12,
"measured_weight": 12,
"declared_value": null
},
{
"id": 880442,
"product_id": 221511317,
"name": "Paquete 2",
"height": 0,
"width": 0,
"depth": 0,
"weight": 0,
"measured_weight": null,
"declared_value": null
}
],
"active": true,
"listPrice": 900000,
"roundedPrice": null,
"company": {
"id": 345,
"name": "SellerName",
"active": true,
"logo": "fulljaus.png",
"logoUrl": "https://admin.fulljaus.com/web/uploads/profiles/images/fulljaus.png",
"testing": false
},
"categories": [
{
"id": 29006,
"code": "26782",
"name": "Notebooks",
"parent_id": null,
"path": "Notebooks",
"seller": {
"id": 345,
"name": "SellerName",
"active": true,
"logo": "fulljaus.png",
"logoUrl": "https://admin.fulljaus.com/web/uploads/profiles/images/fulljaus.png",
"testing": false
},
"createdAt": "17-03-2025",
"updatedAt": "17-03-2025"
}
],
"variationDisplayName": null,
"variable_attributes": [
],
"brand": {
"id": 461,
"brand": "MARCA MIO",
"logo": "S/I",
"code": "S/N"
},
"provider": {
"id": 3,
"name": "FJAUS",
"active": true,
"code": "fjaus",
"logo": "http://admin.fulljaus.com/uploads/providers/fjaus.png"
},
"properties": null,
"isParent": false,
"ean": null,
"eans": null,
"model": "",
"taxes": 21,
"priceToPublish": {
"price": 799999,
"listPrice": 900000,
"beforeVATPrice": 661156.1983471075,
"beforeVATListPrice": 743801.652892562,
"beforeTaxesPrice": 749999.0625,
"beforeTaxesListPrice": 750000,
"discount": 0.11111222222222217,
"roundedDiscount": 0.11,
"goldenRulesApplied": 800000
},
"stockToPublish": 15,
"thumbnail": "https://uploads.fulljaus.us/prod/345_1234567890.png",
"published_at": [
null,
{
"date": "2025-06-23 23:59:29.000000",
"timezone_type": 3,
"timezone": "UTC"
}
],
"images": [
{
"name": "345_1234567890",
"relative_url": "uploads/images/foto/banco/345_1234567890",
"remote_url": "https://uploads.fulljaus.us/prod/345_1234567890.png",
"position": 1,
"created_at": "2025-05-30T14:04:20+00:00",
"updated_at": "2025-05-30T14:04:20+00:00",
"checksum": "34566f06ccbd31ed65753d2d75c6f20162c7d4d76217436921c7cc2571c2e82061656bceeeed5f4bb9769a33b40b7467a4976b4c932f6818b8542cb9616c9610"
}
],
"features": [
],
"parentId": null,
"children": [
],
"initialStock": null,
"infiniteStock": null,
"currency": "ARS",
"cost": 500000,
"markup": null,
"disableMarkup": null,
"netPrice": 743801.65,
"markupPrice": null,
"discount": null,
"diffDiscount": null,
"finalPrice": null,
"beforeTaxesPrice": 750000,
"beforeTaxesListPrice": 750000,
"usuarioId": "api",
"logDate": "2025-05-30T14:04:21+00:00",
"activeUpdateStock": true,
"activeGetProduct": true,
"permLink": null,
"providerPermalink": "",
"issue": {
},
"meliProduct": {
},
"goldenRule": {
},
"productImage": {
},
"beginDate": null,
"endDate": null,
"erased": false,
"meliCode": null,
"sellerId": 345,
"type": "simple",
"isCombo": 0,
"tags": [
],
"video": "",
"securityStock": "",
"manufacturer": "",
"classification": null,
"shippingWarehouse": null,
"composition": [
],
"origin": null,
"warrantyType": null,
"warranty": "0",
"availableToUpdate": true,
"lastSyncFromProviderDate": null,
"traceable": false,
"cooled": false,
"psychotropic": false,
"dun14": null,
"presentation": null,
"hasStockUnlimited": false,
"moodComboPackages": "DEFAULT",
"condition": "NEW",
"productType": "PHYSICAL_WELL",
"packagingType": "BOX",
"salesModality": null,
"supplier": "Yo",
"inventoryClassification": "KILLER",
"energyEfficiency": "A++",
"deletedAt": null,
"created_at": "2025-05-30T13:45:24+00:00",
"updated_at": "2025-05-30T14:04:21+00:00"
},
"marketplaceConnection": {
"id": 940,
"configName": "ACME Connection",
"seller": {
"id": 345,
"name": "SellerName",
"active": true,
"logo": "fulljaus.png",
"logoUrl": "https://admin.fulljaus.com/web/uploads/profiles/images/fulljaus.png",
"testing": false
},
"marketplace": {
"id": 26,
"codigo": "acme",
"name": "ACME",
"active": true,
"logoUrl": "http://admin.fulljaus.com/uploads/images/market/acme.png",
"supportsVariations": true,
"hasOptions": false,
"multipleInstances": true,
"supportMultiCategory": false
}
},
"stock": null,
"active": true,
"toUpdate": true,
"marketplaceBrandId": null,
"marketplaceBrandName": null,
"marketplaceCategory": null,
"isPublished": false,
"price": null,
"listPrice": null,
"roundPrice": null,
"alicuot": null,
"markup": null,
"parentId": null,
"stockToPublish": 15,
"stockBeforeReservations": 15,
"publishedAt": null,
"errorAt": null,
"synchronizedAt": null,
"priceToPublish": {
"price": 799999,
"listPrice": 900000,
"beforeVATPrice": 661156.1983471075,
"beforeVATListPrice": 743801.652892562,
"beforeTaxesPrice": 749999.0625,
"beforeTaxesListPrice": 750000,
"discount": 0.11111222222222217,
"roundedDiscount": 0.11,
"goldenRulesApplied": {
"terminado": 1,
"regla": 7,
"idregla": 940,
"precioespecifico": 0,
"markup": 0,
"type": "global",
"start_date": null,
"finish_date": null
}
},
"permalink": null,
"lastErrorMessage": null,
"lastErrorTransactionId": null,
"revisionStatus": "PENDING",
"marketplaceCode": "acme",
"publicationOptions": [
],
"score": 100,
"avoidRecycling": false,
"createdAt": "2025-08-18T18:07:41+00:00",
"updatedAt": "2025-08-18T18:07:41+00:00",
"netPrice": null,
"markupPrice": null,
"markupIsDisabled": null,
"hasInfiniteStock": false,
"discount": null,
"discountDifference": null,
"userId": "api",
"registerDate": null,
"thumbnail": "https://uploads.fulljaus.us/prod/345_1234567890.png",
"marketplaceActive": null,
"marketplaceStatus": null,
"marketplaceStatusDescription": null,
"deletedAt": null,
"deletedBy": null,
"checksum": "2984df22fdeaab16b2f5c102f9f1bfc0"
},
"changes": null,
"author": "api"
}
}
Para notificaciones de ventas (order/*):
{
"seller_id": 345,
"topic_path": "order/acme/status_changed/entered_APRO",
"entity_id": "example-order",
"payload": {
"order": {
"id": 2621975,
"reference_order": "example-order",
"marketplace_connection": 940,
"marketplace": {
"code": "acme",
"configuration_name": "ACME",
"logoUrl": "http://admin.fulljaus.com/uploads/images/market/acme.png",
"generic": true
},
"billing_address": {
"id": 2646293,
"name": "John",
"surname": "Doe",
"email": "johndoe@example.com",
"province": "CIUDAD AUTÓNOMA DE BUENOS AIRES",
"city": "Ciudad Autónoma de Buenos Aires",
"commune": null,
"address": "Av. Medrano",
"number": "2966",
"extra_information": "Edificio de color naranja.",
"phone": "+5491155886697",
"zip_code": "1430",
"floor": "1ero",
"door": "C",
"document": {
"type": "DNI",
"number": "35875257"
}
},
"current_color": null,
"status_message": "Pago aprobado",
"dispatchedProvider": null,
"creation_date": "2025-08-24T10:24:09-03:00",
"payments": [
{
"id": 2952291,
"external_id": null,
"merchant_external_id": null,
"interest": 0,
"transaction_id": null,
"nominal_interest": 0,
"commerce_number": null,
"coupon_number": null,
"gateway": "Decidir",
"payment_amount": 22499,
"payment_date": "2024-01-24T13:24:09+00:00",
"payment_method": {
"document": {
"document_type": "DNI",
"document_number": "35875257"
},
"payment_method_id": null,
"card": {
"brand": "VISA Santander",
"card_number": null,
"date_card_expiration": null,
"installments": 0,
"first_digits": null,
"last_digits": "5788",
"interest": 0
},
"group_name": null,
"connector": {
"connector_tid": null,
"connector_authid": null,
"use_government_plan": "No informa"
},
"acquirer": null,
"affiliation_id": null
},
"transaction_type": "CARD",
"type": "CARD"
}
],
"shipping_info": [
{
"id": 958332,
"products": [
{
"sku": "PIN-PAW5646"
}
],
"tracking_number": "",
"tracking_url": null,
"carrier": {
"id": 46735,
"code": "1",
"name": "Transportadora estándar",
"mapping_carrier": "",
"mapping_method": ""
},
"shipping_tag_url_pdf": null,
"shipping_tag_url_zpl": null,
"shipping_type": null,
"price": null,
"delivery_hours_delay": null,
"mapped_carrier_name": null,
"pickup_address_id": null,
"delivery_days_delay": null,
"delivery_service_name": null,
"delivery_cost": null,
"selected_carrier_name": null,
"status": null,
"selected_carrier_id": null,
"events": [
]
}
],
"creation_date_shipping": "",
"credit_note_date": "",
"status": "APRO",
"company_id": 345,
"order_id_on_market": null,
"seller": {
"id": 345,
"name": "Test Seller",
"active": true,
"logo": "fulljaus.png",
"logoUrl": "https://admin.fulljaus.com/web/uploads/profiles/images/fulljaus.png",
"testing": false
},
"products_subtotal": 22499,
"shipping_subtotal": 0,
"shipping_reference": 0,
"shipping_address": {
"id": 2651043,
"name": "John",
"surname": "Doe",
"email": "johndoe@example.com",
"address": "Av. Medrano",
"extra_information": "Edificio de color naranja.",
"number": "2966",
"floor": "1ero",
"door": "C",
"province": "CIUDAD AUTÓNOMA DE BUENOS AIRES",
"commune": null,
"city": "Ciudad Autónoma de Buenos Aires",
"phone": "+5491155886697",
"zip_code": "1430",
"status": "",
"merchant_external_id": "",
"document": {
"type": "DNI",
"number": "35875257"
}
},
"shipping_tag_url_pdf": null,
"shipping_tag_url_zpl": null,
"mkt_collected": null,
"paid_provider": null,
"error_message": null,
"method": null,
"products": [
{
"id": 3075820,
"productId": null,
"quantity": 1,
"provider_code": null,
"sku": "PIN-PAW5646",
"unit_price": 22999,
"unit_price_with_taxes": 22999,
"name": null,
"taxes": null,
"height": 0,
"width": 0,
"length": 0,
"weight": 0,
"packages": [
],
"discount": false,
"financial_cost_item": false,
"sku_associated": null,
"isParent": null,
"isCombo": null,
"tracking_id": null,
"merchant_external_id": null,
"cost": null,
"model": null,
"brand": null,
"provider": null,
"category": null,
"thumbnail": null,
"detailReference": null,
"productsCombo": null
}
],
"invoice": {
"number": null,
"url": null,
"sent_to_marketplace": false
},
"dispatch": null,
"documents": [
],
"financialCost": null,
"observations": null,
"selectedCarrierName": null,
"deliveryDaysDelay": null,
"deliveryServiceName": null,
"deliveryCost": null
},
"state_from": null,
"state_to": "APRO",
"author": "api"
}
}
🔹 Índice de webhooks
Consulta: GET /v1/{marketplace_code}/webhooks
Respuesta:
Código HTTP: 200
[
{
"code": "status_change_to_apro",
"name": "Ventas: Cambio de estado a pago aprobado",
"topic": "order/status_change/entered_APRO",
"callback_url": "https://api.acme.com/notifications",
"headers": {
"User-Agent": "Fulljaus-Marketplace-API"
}
},
// ...
]
🔹 Obtener un webhook
Consulta: GET /v1/{marketplace_code}/webhooks/{code}
Respuesta:
Código HTTP: 200
{
"code": "status_change_to_apro",
"name": "Ventas: Cambio de estado a pago aprobado",
"topic": "order/status_change/entered_APRO",
"seller_id": "345",
"callback_url": "https://api.acme.com/notifications",
"headers": {
"User-Agent": "Fulljaus-Marketplace-API"
}
}
🔹 Actualizar un webhook
Consulta: PATCH /v1/{marketplace_code}/webhooks/{code}
Campos actualizables:
| Nombre | Descripción | Tipo de dato | Obligatorio |
|---|---|---|---|
name | Nombre | String | |
callback_url | URL a la cual enviar las notificaciones | String | |
seller_id | ID del vendedor | String | |
headers | Headers a enviar en la notificación | Object<String, String> |
Ejemplo de payload para la consulta:
{
"name": "Ventas: Cambio de estado a pago aprobado",
"callback_url": "https://api.acme.com/notifications/orders",
"seller_id": "345",
"headers": {
"User-Agent": "Fulljaus-Marketplace-API",
"Otro-Header": "1234"
}
}
Respuesta:
Código HTTP: 200
Devuelve la entidad actualizada.
🔹 Eliminar un webhook
Consulta: DELETE /v1/{marketplace_code}/webhooks/{code}
Respuesta:
Código HTTP: 204
Sin contenido.