Siga la estructura de preguntas recomendada por Dev Bot antes de enviar sus preguntas de integración.
🛂 El permiso de EVO que habilita el acceso a este endpoint es Vendas - Edição.
OBS. Disponible para su uso con clave de acceso de sucursal y también con clave de acceso de ADM General.
🚧 ¡Atención! El totalInstallmentsdel objetocardDataes válido únicamente para el pago de tipo 1 (Tarjeta de crédito).Incluya en el Header de la solicitud el campo culturecon el valorpt-BR. Este parámetro informa a la API que las respuestas deben devolverse en portugués de Brasil, garantizando que textos como mensajes, descripciones y estados se proporcionen en pt-BR.
curl --location --request POST 'https://evo-integracao-api.w12app.com.br/api/v2/sales' \
--header 'Content-Type: application/json-patch+json' \
--header 'Authorization: Basic Og==' \
--header 'culture: pt-BR' \ 👈👈👈
--data-raw '{
"idBranch": 0,
"idBranchToken": "string",
"idMembership": 0,
...
}'| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
idBranch | int32 | No | Identificador de la sucursal donde se realizó la venta. Si el sistema es multisucursal, informe el ID de la unidad específica. De lo contrario, será el valor generado por el token. |
idBranchToken | string | No | Token de la sucursal, utilizado para identificar la unidad cuando el sistema es multisucursal. |
idMembership | int32 | No | Identificador del contrato adquirido, cuando corresponda. |
membershipValue | double | No | Valor final del contrato. |
additionalMemberships | arrayobject | No | Lista de contratos adicionales opcionales que se venderán. Ver más abajo. |
idService | int32 | No | Identificador del servicio o clase experimental adquirida. |
serviceValue | double | No | Valor final del servicio. |
idProduct | int32 | No | ID del producto relacionado con la venta. |
productValue | double | No | Valor del producto relacionado con la venta. |
productAmount | int32 | No | Cantidad del producto relacionado con la venta. |
memberData | object | Sí | Datos del miembro, si el cliente ya es miembro. Contiene el campo idMember. |
cardData | object | No | Datos de la tarjeta de crédito, si la transacción se realiza con tarjeta. |
idProspect | int32 | No | Identificador del prospecto que está adquiriendo el servicio. |
idProspectToken | string | No | Token del prospecto, utilizado para validar la transacción y garantizar que el prospecto sea convertido en miembro después de la compra. |
idMemberToken | string | No | Token del miembro, si se trata de un cliente registrado. |
voucher | string | No | Código del voucher de descuento, cuando el cliente lo utilice para obtener un descuento. |
idVoucherToken | int32 | No | Token del voucher de descuento, cuando corresponda. |
idCardMember | int32 | No | Identificador de la tarjeta del miembro, cuando corresponda. |
idMemberCardToken | string | No | Token de la tarjeta del miembro, cuando corresponda. |
membershipStart | string | No | Fecha de inicio del contrato / de la membresía. |
totalInstallments | int32 | Sí | Número de cuotas para el pago a plazos. Para pagos al contado, será 0 o 1. |
payment | int32 | Sí | Tipo de pago: 5 para pagos con valor cero, como clases experimentales, y 6 para pago al contado. |
sessionId | string | No | Identificador de la sesión, utilizado para rastrear la transacción durante el proceso de venta. |
paymentData | object | No | Datos de pago aceptados cuando el tipo de pago sea externo payment = 16 o 17. |
additionalMemberships| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
idMembership | int32 | Sí | ID del contrato adicional opcional que se venderá. El adicional debe estar previamente vinculado como Optional al contrato principal. |
membershipValue | number (double) | No | Valor final del contrato adicional informado por la integración. Cuando se informa, sobrescribe el valor predeterminado definido por EVO y no se multiplica nuevamente por la vigencia. Cuando no se informa, EVO utiliza el valor de venta predeterminado aplicable al vínculo. |
🚧 OBS. El campo additionalMembershipspermite informar uno o más contratos adicionales opcionales en la misma operación.Solo pueden informarse contratos adicionales previamente vinculados como Optionalal contrato principal.Los contratos adicionales de tipo Fixedno deben ser enviados por la integración, ya que se incluyen automáticamente cuando se vende el contrato principal.Cuando membershipValueno se informa, EVO utilizará el valor de venta predeterminado del vínculo, según la configuración del contrato y el campodefaultSaleValuedel endpointGET /api/v3/membership.Cuando membershipValuese informa, el valor se considerará final para el adicional y no se multiplicará nuevamente por la vigencia.Cuando additionalMembershipsno se informa o se envía vacío, solo se venderán el contrato principal y sus adicionalesFixed. Los adicionalesOptionalnunca se incluyen automáticamente.
memberData| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
idMember | int32 | Sí | Identificador único del miembro. |
document | string | No | Documento de identificación del miembro, como CPF o CNPJ. |
zipCode | string | No | Código postal (CEP) de la dirección del miembro. |
address | string | No | Dirección del miembro. |
number | string | No | Número de la dirección del miembro. |
complement | string | No | Complemento de la dirección del miembro, como apartamento o bloque. |
neighborhood | string | No | Barrio del miembro. |
city | string | No | Ciudad del miembro. |
idState | int32 | No | Identificador del estado donde reside el miembro. |
cardData| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
token | string | No | Identificador único de la tarjeta. |
temporaryToken | string | No | Token temporal asociado a la tarjeta, cuando corresponda. |
branchToken | string | No | Token de la sucursal para identificar una unidad cuando el sistema es multisucursal. |
totalInstallments | int32 | No | Número total de cuotas del pago, aplicable a transacciones a plazos. |
truncatedCardNumber | string | No | Número de tarjeta truncado, mostrando únicamente los últimos 4 dígitos reales por seguridad. (****1234) |
brand | string | No | Marca de la tarjeta (ejemplo: Visa, MasterCard, etc.). |
cardHolderName | string | No | Nombre del titular de la tarjeta. |
cardExpirationYear | int32 | No | Año de vencimiento de la tarjeta. |
cardExpirationMonth | int32 | No | Mes de vencimiento de la tarjeta. |
payment| Código | Tipo de Pago | Descripción |
|---|---|---|
| null | LinkCheckout | Cuando el valor de payment es nulo, se trata como LinkCheckout. |
1 | Credit Card | Pago realizado con tarjeta de crédito. (Es necesario generar el token de la tarjeta mediante Evo Pay) |
2 | Boleto | Pago realizado mediante boleto bancario. |
3 | Sale Credits | Pago realizado mediante créditos de ventas. |
4 | Transfer | Pago realizado mediante transferencia bancaria. |
5 | ValorZerado | Utilizado para transacciones con valor cero, como clases experimentales. |
6 | LinkCheckout | Pago realizado mediante enlace de checkout (generado externamente). |
7 | Pix | Pago realizado mediante Pix. |
13 | Transferência | Pago realizado mediante transferencia bancaria. |
14 | Cash | Pago realizado en efectivo. |
15 | GiftCard | Pago realizado mediante tarjeta de regalo. |
16 | ExternalCreditCard | Pago realizado mediante tarjeta de crédito externa. |
17 | ExternalDebitCard | Pago realizado mediante tarjeta de débito externa. |
paymentData| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tid | string | No | Identificador de la transacción. |
nsu | string | No | NSU de la transacci ón. |
authorization | string | No | Código de autorización. |
brand | string | No | Marca de la tarjeta (ejemplo: Visa, MasterCard, etc.). |
acquirer | string | No | Adquirente responsable de la transacción. |
idMembership identifica el primer contrato adicional y el campo additionalMemberships puede utilizarse para informar los demás adicionales de la misma operación.{
"idBranch": 1,
"idMembership": 200, // Primer contrato adicional de la venta
"membershipValue": 45.00,
"memberData": {
"idMember": 123
},
"payment": 14,
"additionalMemberships": [
{
"idMembership": 201, // Segundo contrato adicional de la venta
"membershipValue": 30.00
}
]
}🚧 OBS. Esta operación está disponible únicamente para miembros. Cada adicional debe tener un contrato principal elegible que ya pertenezca al miembro. Cuando diferentes adicionales sean elegibles para diferentes contratos principales del miembro, cada adicional se vinculará al contrato principal elegible correspondiente.