Skip to content

IF Transactions

Endpoint para agregar transacciones del fan al sistema.

URLs

MétodoURLAcciónDescripción
POST/api/v2/IF_ID_BatchRegistrarAgrega transacciones del fan al sistema

Producción:

{connect-producao}/api/v2/IF_ID_Batch

Homologación:

{connect-homologacao}/api/v2/IF_ID_Batch

Autenticación

Todas las solicitudes requieren un token de acceso obtenido en el endpoint de Security. El token debe ser enviado en el header AccessToken.

Agregar Transacciones

Solicitud

Endpoint: POST {connect-producao}/api/v2/IF_ID_Batch

Headers:

AccessToken: {access_token}
Content-Type: application/json

Body:

json
[
  {
    "userCode": "12345678900",
    "userCodeType": 1,
    "system": 0,
    "name": "Juan Silva",
    "email": "juan@ejemplo.com",
    "emailVerified": true,
    "cpf": "12345678900",
    "gender": "M",
    "birthday": "15/08/1980",
    "mobile": "+5511999999999",
    "phone": "+5511888888888",
    "addr1": "Calle Ejemplo",
    "addr2": "Apto 101",
    "addrNumber": 123,
    "addr3": "Centro",
    "addrCity": "São Paulo",
    "addrState": "SP",
    "addrZip": "01234567",
    "addrCountry": "31",
    "transactions": [
      {
        "externalCode": "VENTA-001",
        "date": "2025-09-20T18:41:31.219Z",
        "type": 1,
        "productType": 1,
        "productDesc": "Producto Ejemplo",
        "productExternalCode": "PROD-001",
        "qty": 2,
        "value": 100.00,
        "channel": "Tienda Online",
        "deliveryMode": "Entrega",
        "priceType": "Normal",
        "cupon": "DESCUENTO10",
        "paymentMode": "Tarjeta de Crédito",
        "complement": "{\"línea\": 1}",
        "discount": "Cupón de descuento",
        "discountValue": 10.00
      }
    ]
  }
]

Campos del Body

Datos del Comprador

CampoTipoObligatorioDescripción
userCodestringCPF o email del comprador
userCodeTypenumberTipo del código: 1 para CPF, 4 para email
systemnumberSistema de origen (definido por Fanbase)
namestringNombre del comprador
emailstringEmail del comprador
emailVerifiedbooleanIndica si el email fue verificado
cpfstringCPF del comprador
genderstringNoGénero: M/F/O/null
birthdaystringNoFecha de nacimiento (formato DD/MM/YYYY)
mobilestringNoTeléfono celular
phonestringNoTeléfono alternativo
addr1stringNoCalle
addr2stringNoComplemento
addrNumbernumberNoNúmero de la casa
addr3stringNoBarrio
addrCitystringNoCiudad
addrStatestringNoEstado (2 dígitos: SP/DF/etc)
addrZipstringNoCEP
addrCountrystringNoCódigo numérico del país

Transacciones

CampoTipoObligatorioDescripción
externalCodestringCódigo único de la transacción en el sistema de origen
datedatetimeFecha de la transacción (ISO 8601)
typenumberTipo: 1 (venta), 2 (devolución), 161 (cupón usado), 162 (cupón no usado)
productTypenumberTipo: 1 (producto), 2 (servicio)
productDescstringDescripción del producto
productPricenumberNoObsoleto - desconsiderar
productExternalCodestringCódigo del producto en el sistema de origen
qtynumberCantidad
valuenumberValor unitario del producto
channelstringCanal de venta (ej: nombre de la tienda)
deliveryModestringModo de entrega
priceTypestringTipo de precio
cuponstringNoCódigo del cupón de descuento
paymentModestringModo de pago (ej: Tarjeta de crédito, Pix)
complementstringNoDatos complementarios (JSON string)
discountstringNoMotivo del descuento
discountValuenumberNoValor del descuento

Respuesta de Éxito

Estado: 200 OK

json
{
  "header": {
    "codigo": 1,
    "msg": "Transacciones procesadas con éxito"
  },
  "data": {
    "total": 1,
    "processadas": 1,
    "erros": 0
  }
}

Ejemplo de Implementación

javascript
async function agregarTransacciones(transacciones, accessToken) {
  const response = await fetch('{connect-producao}/api/v2/IF_ID_Batch', {
    method: 'POST',
    headers: {
      'AccessToken': accessToken,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(transacciones)
  });

  if (!response.ok) {
    throw new Error(`Error ${response.status}: ${response.statusText}`);
  }

  return await response.json();
}

Documentación de la API Fanbase