Jornadas de Acreditación — Visión General
1. ¿Qué es la Acreditación?
La acreditación es el proceso por el cual un establecimiento comercial (merchant) pasa a formar parte de la red Getnet, habilitándose para aceptar pagos con tarjeta y otros medios electrónicos. Durante este proceso se recopilan datos de registro, se realiza el análisis de riesgo y compliance (calificación), se definen las ofertas comerciales contratadas y se crea el pedido formal que consolida todo esto.
2. Tipos de Jornada
La plataforma Getnet admite dos modelos de acreditación, que difieren principalmente en quién conduce el llenado de la información:
| Característica | Acreditación Autónoma | Acreditación Asistida |
|---|
| Quién completa los datos | El propio merchant, en un canal digital de autoservicio | Un agente / consultor de Getnet |
| Interacción humana | Mínima — flujo guiado por la aplicación | Alta — el agente guía al merchant |
| Punto de entrada | Canal digital abierto (mar abierto) | Canal interno / back-office |
| Momento de la vitrina de ofertas | Antes de la creación del merchant | Después de la creación del merchant |
| Filtros del GET /offerings | country + channel (opcionalmente monthly_card_income + merchant_category_code + fiscal_type si el canal ya dispone de esa información antes de mostrar las ofertas) | country + channel + monthly_card_income + merchant_category_code + fiscal_type |
monthly_card_income en POST /merchants | No obligatorio en la creación | Enviado ya en la creación |
MCC (merchant_category_code) | No utilizado como filtro obligatorio | Devuelto en POST /merchants y usado en GET /offerings |
fiscal_type | Opcional — usado si está disponible antes del registro | Utilizado como filtro en GET /offerings |
3. Autenticación — Prerrequisito de Ambas Jornadas
Toda llamada a la plataforma Getnet requiere un access token válido obtenido vía OAuth 2.0. El token debe renovarse antes de que expire.
[Su Aplicación] ──600;">POST /token──────────────────────► [Authentication API]
(credenciales en los headers + body)
◄──200 OK { access_token, expires_in }──
[Su Aplicación] ──Solicitud + Authorization: {access_token}──► [Otras APIs]
◄──Respuesta de la operación────────────────────────────────
↺ Repita el 600;">POST /token cuando expires_in se acerque al final.
[Su Aplicación] ──600;">POST /token──────────────────────► [Authentication API]
(credenciales en los headers + body)
◄──200 OK { access_token, expires_in }──
[Su Aplicación] ──Solicitud + Authorization: {access_token}──► [Otras APIs]
◄──Respuesta de la operación────────────────────────────────
↺ Repita el 600;">POST /token cuando expires_in se acerque al final.

📄 Detalles completos en POST /token
4. Jornada 1 — Acreditación Autónoma (Mar Abierto)
En esta jornada el merchant accede a un canal digital y conduce su propia acreditación sin la ayuda de un agente. El flujo a continuación representa el camino feliz de principio a fin.
4.1 Visión macro del flujo
[Autenticación]
│
▼
[Vitrina de Ofertas] ←── El merchant elige un plan/oferta
│
▼
[Etapa 0] Verificación previa — ¿el documento ya tiene un EC?
│ no
▼
[Etapa 1] Creación del merchant (datos mínimos)
│
▼
[Etapa 1.5] Consulta de código postal + Opciones de envío
│
▼
[Etapa 2] Complemento de datos (600;">PUT /merchants)
│
▼
[Etapa 3] Calificación (análisis de riesgo)
│ aprobado
▼
[Etapa 4] Resultado de la calificación confirmado
│
▼
[Etapa 5-6] Montaje de los ítems del pedido (offerings → items)
│
▼
[Etapa 7] Información de datos bancarios
│
▼
[Etapa 8] Creación del pedido → 600;">POST /orders
│
▼
[Etapa 8.5] Actualización del pedido → 600;">PUT /orders/{id} *(cuando sea necesario)*
│
▼
[Etapa 9] Validación del pedido → 600;">POST /orders/{id}/validation
│ aprobado
▼
[Etapa 10] Envío del pedido → 600;">PUT /orders/{id}/submit
│
▼
[Acreditación completada — order_number generado]
[Autenticación]
│
▼
[Vitrina de Ofertas] ←── El merchant elige un plan/oferta
│
▼
[Etapa 0] Verificación previa — ¿el documento ya tiene un EC?
│ no
▼
[Etapa 1] Creación del merchant (datos mínimos)
│
▼
[Etapa 1.5] Consulta de código postal + Opciones de envío
│
▼
[Etapa 2] Complemento de datos (600;">PUT /merchants)
│
▼
[Etapa 3] Calificación (análisis de riesgo)
│ aprobado
▼
[Etapa 4] Resultado de la calificación confirmado
│
▼
[Etapa 5-6] Montaje de los ítems del pedido (offerings → items)
│
▼
[Etapa 7] Información de datos bancarios
│
▼
[Etapa 8] Creación del pedido → 600;">POST /orders
│
▼
[Etapa 8.5] Actualización del pedido → 600;">PUT /orders/{id} *(cuando sea necesario)*
│
▼
[Etapa 9] Validación del pedido → 600;">POST /orders/{id}/validation
│ aprobado
▼
[Etapa 10] Envío del pedido → 600;">PUT /orders/{id}/submit
│
▼
[Acreditación completada — order_number generado]
4.2 Detalle de las etapas
🔐 Autenticación
Obtenga el access_token como se describe en la sección 3 e inclúyalo en todas las llamadas siguientes.

🛍️ Vitrina de Ofertas
Antes de iniciar el registro, consulte las ofertas disponibles para el canal y el país. Esto permite que el merchant elija un plan antes de registrarse.
Consumidor ──600;">GET /offerings?country=BR&channel={canal}──► Offerings API
◄── Lista de ofertas (sin tasas de adquirencia) ──
Consumidor ──600;">GET /offerings?priced_offering_id={id}──► Offerings API
◄── Objeto único con tasas detalladas por marca ──
└─ {id} = priced_offering_id devuelto en el listado anterior
O (en una sola llamada)
Consumidor ──600;">GET /offerings?country=BR&channel={canal}&show_acquirers=true──► Offerings API
◄── Lista de ofertas ya con tasas incluidas ──
Consumidor ──600;">GET /offerings?country=BR&channel={canal}──► Offerings API
◄── Lista de ofertas (sin tasas de adquirencia) ──
Consumidor ──600;">GET /offerings?priced_offering_id={id}──► Offerings API
◄── Objeto único con tasas detalladas por marca ──
└─ {id} = priced_offering_id devuelto en el listado anterior
O (en una sola llamada)
Consumidor ──600;">GET /offerings?country=BR&channel={canal}&show_acquirers=true──► Offerings API
◄── Lista de ofertas ya con tasas incluidas ──

Etapa 0 — Verificación previa (opcional, pero recomendada)
Verifique si el CPF/CNPJ informado ya tiene un Establecimiento Comercial (EC) acreditado en Getnet. Si es así, no continúe con el registro.
600;">GET /establishment-contracts-basic/legal-document-number/{cpf_cnpj}/ec-accredited
├── accredited: true ──► El documento ya tiene un EC. Interrumpir el flujo.
└── accredited: false ──► Puede registrar. Continuar a la Etapa 1.
600;">GET /establishment-contracts-basic/legal-document-number/{cpf_cnpj}/ec-accredited
├── accredited: true ──► El documento ya tiene un EC. Interrumpir el flujo.
└── accredited: false ──► Puede registrar. Continuar a la Etapa 1.
Etapa 1 — Creación del merchant (datos mínimos)
Cree el registro del merchant con la información mínima obligatoria. La respuesta devuelve el merchant_id, que se usará en todas las llamadas siguientes.
600;">POST /merchants
│
Enviar: CPF/CNPJ + datos personales básicos + opt-ins (LGPD + términos)
│
Devuelve: merchant_id + sub_status_steps (etapas pendientes)
│
└──► Guardar el merchant_id para usar en las etapas siguientes.
600;">POST /merchants
│
Enviar: CPF/CNPJ + datos personales básicos + opt-ins (LGPD + términos)
│
Devuelve: merchant_id + sub_status_steps (etapas pendientes)
│
└──► Guardar el merchant_id para usar en las etapas siguientes.

⚠️ Guarde el merchant_id devuelto — es obligatorio en todas las llamadas siguientes.

Etapa 1.5 — Consulta de código postal y opciones de entrega (cuando sea necesario)
Valide el código postal informado por el merchant y consulte las opciones de entrega disponibles para esa dirección.
600;">GET /domains/zipcode/{postal_code}
│
├─► 200 — Código postal encontrado
│ └─► Precompletar campos de dirección
│ Solicitar al merchant: número y complemento
│
└─► 404 — Código postal no encontrado
└─► Informar al merchant que el código postal ingresado es inválido o no fue encontrado,
y solicitar que informe un nuevo código postal válido antes de continuar.
600;">GET /offerings/delivery-data?legal_document_number={doc}&postal_code={cep}&ids={offering_id_1},{offering_id_2}
│
├─ Parámetros obligatorios:
│ ├─ legal_document_number — CPF o CNPJ del merchant
│ └─ postal_code — código postal de la dirección de entrega
│
├─ Parámetros opcionales:
│ └─ ids — Uno o más IDs de oferta (offering_id o reference_id) separados por coma,
│ para consultar el envío específico de los productos contenidos en esa(s) oferta(s).
│
└── Devuelve las opciones de entrega disponibles (normal, exprés, programada)
600;">GET /domains/zipcode/{postal_code}
│
├─► 200 — Código postal encontrado
│ └─► Precompletar campos de dirección
│ Solicitar al merchant: número y complemento
│
└─► 404 — Código postal no encontrado
└─► Informar al merchant que el código postal ingresado es inválido o no fue encontrado,
y solicitar que informe un nuevo código postal válido antes de continuar.
600;">GET /offerings/delivery-data?legal_document_number={doc}&postal_code={cep}&ids={offering_id_1},{offering_id_2}
│
├─ Parámetros obligatorios:
│ ├─ legal_document_number — CPF o CNPJ del merchant
│ └─ postal_code — código postal de la dirección de entrega
│
├─ Parámetros opcionales:
│ └─ ids — Uno o más IDs de oferta (offering_id o reference_id) separados por coma,
│ para consultar el envío específico de los productos contenidos en esa(s) oferta(s).
│
└── Devuelve las opciones de entrega disponibles (normal, exprés, programada)

Etapa 2 — Complemento de datos (cuando sea necesario)
Obtenga el estado actual completo del merchant y envíe el payload completo actualizado con los datos complementarios.
600;">GET /merchants/{merchant_id}
│
Cambiar solo los campos necesarios en el payload devuelto
│
600;">PUT /merchants/{merchant_id}
│
Enviar: ingresos, patrimonio, direcciones, horario de funcionamiento, etc.
600;">GET /merchants/{merchant_id}
│
Cambiar solo los campos necesarios en el payload devuelto
│
600;">PUT /merchants/{merchant_id}
│
Enviar: ingresos, patrimonio, direcciones, horario de funcionamiento, etc.

⚠️ Nunca envíe un payload parcial. El PUT reemplaza todos los datos del merchant. Siempre obtenga el objeto completo con GET antes de modificarlo.

Etapa 3 — Calificación (análisis de riesgo y compliance)
Dispare la calificación del merchant. La respuesta ya contiene el resultado — no es necesario realizar una consulta adicional vía GET para obtenerlo.
600;">POST /merchants/{merchant_id}/qualification
│
└── Devuelve: report.recommended.status + report.details[]
600;">POST /merchants/{merchant_id}/qualification
│
└── Devuelve: report.recommended.status + report.details[]

Etapa 4 — Resultado de la calificación
Evalúe el campo report.recommended.status devuelto por POST /merchants/{merchant_id}/qualification para decidir cómo continuar:
report.recommended.status
│
├── "approved" ──► Merchant aprobado.
│ Continuar con la acreditación normalmente.
│
├── "pending" ──► Merchant en análisis manual por el equipo de riesgos.
│ Continuar con la acreditación normalmente;
│ el resultado final será definido por el equipo de riesgo.
│
└── "reproved" ──► Merchant rechazado. No podrá realizar negocios con Getnet.
Consultar el motivo en: report.details[*].detail_description
report.recommended.status
│
├── "approved" ──► Merchant aprobado.
│ Continuar con la acreditación normalmente.
│
├── "pending" ──► Merchant en análisis manual por el equipo de riesgos.
│ Continuar con la acreditación normalmente;
│ el resultado final será definido por el equipo de riesgo.
│
└── "reproved" ──► Merchant rechazado. No podrá realizar negocios con Getnet.
Consultar el motivo en: report.details[*].detail_description

Etapas 5 y 6 — Montaje de los ítems del pedido
Para cada oferta seleccionada por el merchant, mapee cada ítem de la oferta a un ítem del pedido:
Para cada oferta seleccionada:
└─ Para cada ítem en offering.items[]:
├─ item_sequence_number = siguiente número secuencial global
├─ offering.priced_offering_id = offering.priced_offering_id (raíz de la oferta)
├─ offering.smart_offering_id = offering.priced_offering_id (raíz de la oferta)
├─ product = item.product (copia íntegra)
├─ quantity = cantidad informada por el cliente (item.quantity es solo la cantidad inicial sugerida por la oferta)
├─ settlement_period = item.settlement_period (si está presente)
├─ unit_price = item.unit_price (si está presente)
└─ total_price = item.total_price (si está presente)
Para cada oferta seleccionada:
└─ Para cada ítem en offering.items[]:
├─ item_sequence_number = siguiente número secuencial global
├─ offering.priced_offering_id = offering.priced_offering_id (raíz de la oferta)
├─ offering.smart_offering_id = offering.priced_offering_id (raíz de la oferta)
├─ product = item.product (copia íntegra)
├─ quantity = cantidad informada por el cliente (item.quantity es solo la cantidad inicial sugerida por la oferta)
├─ settlement_period = item.settlement_period (si está presente)
├─ unit_price = item.unit_price (si está presente)
└─ total_price = item.total_price (si está presente)
Etapa 6.5 — Montaje de la dirección de entrega (delivery_info)
Con el código postal validado (Etapa 1.5) y el tipo de envío elegido por el merchant a partir de la respuesta del GET /offerings/delivery-data, monte el objeto delivery_info que se enviará en el POST /orders.
delivery_info
├─ delivery_type = tipo seleccionado por el merchant ("scheduled" / "normal" / "express")
├─ delivery_amount = delivery_methods[x].delivery_amount
├─ delivery_time = delivery_methods[x].delivery_time
│
├─ [si "normal" o "express"]
│ └─ delivery_time_type = delivery_methods[x].delivery_time_type ("D" = días / "H" = horas)
│
├─ [si "scheduled"]
│ ├─ recommended_delivery_period = período seleccionado por el merchant ("morning" / "afternoon" / "night")
│ ├─ period_grid = entrada de delivery_methods[x].period_grid[] correspondiente al período
│ └─ delivery_time_type = null
│
├─ delivery_reference_point = punto de referencia informado por el merchant (opcional)
│
└─ delivery_address = dirección de entrega informada por el merchant
├─ street = calle (devuelta por 600;">GET /domains/zipcode)
├─ number = número (informado por el merchant)
├─ complement = complemento (informado por el merchant, opcional)
├─ district = barrio (devuelto por 600;">GET /domains/zipcode)
├─ city = ciudad (devuelta por 600;">GET /domains/zipcode)
├─ state = estado/provincia (devuelto por 600;">GET /domains/zipcode)
├─ postal_code = código postal validado en la Etapa 1.5
└─ country = "BR"
delivery_info
├─ delivery_type = tipo seleccionado por el merchant ("scheduled" / "normal" / "express")
├─ delivery_amount = delivery_methods[x].delivery_amount
├─ delivery_time = delivery_methods[x].delivery_time
│
├─ [si "normal" o "express"]
│ └─ delivery_time_type = delivery_methods[x].delivery_time_type ("D" = días / "H" = horas)
│
├─ [si "scheduled"]
│ ├─ recommended_delivery_period = período seleccionado por el merchant ("morning" / "afternoon" / "night")
│ ├─ period_grid = entrada de delivery_methods[x].period_grid[] correspondiente al período
│ └─ delivery_time_type = null
│
├─ delivery_reference_point = punto de referencia informado por el merchant (opcional)
│
└─ delivery_address = dirección de entrega informada por el merchant
├─ street = calle (devuelta por 600;">GET /domains/zipcode)
├─ number = número (informado por el merchant)
├─ complement = complemento (informado por el merchant, opcional)
├─ district = barrio (devuelto por 600;">GET /domains/zipcode)
├─ city = ciudad (devuelta por 600;">GET /domains/zipcode)
├─ state = estado/provincia (devuelto por 600;">GET /domains/zipcode)
├─ postal_code = código postal validado en la Etapa 1.5
└─ country = "BR"
Etapa 7 — Datos bancarios (domicilio bancario)
Para cada marca contratada, informe los datos de la cuenta bancaria donde el merchant recibirá los importes.
merchant_accounts[] — un ítem por marca contratada:
├─ brand = marca (visa / master / elo / amex / ...)
├─ merchant.merchant_id = merchant_id (Etapa 1)
├─ bank_account.bank.bank_code = código FEBRABAN del banco
├─ bank_account.bank_branch_code = sucursal
├─ bank_account.bank_account_number = cuenta + dígito
├─ bank_account.account_type = cc / pp
├─ payment_center = true / false
└─ merchant_account_restriction = []
merchant_accounts[] — un ítem por marca contratada:
├─ brand = marca (visa / master / elo / amex / ...)
├─ merchant.merchant_id = merchant_id (Etapa 1)
├─ bank_account.bank.bank_code = código FEBRABAN del banco
├─ bank_account.bank_branch_code = sucursal
├─ bank_account.bank_account_number = cuenta + dígito
├─ bank_account.account_type = cc / pp
├─ payment_center = true / false
└─ merchant_account_restriction = []

Etapa 8 — Creación del pedido
Con todos los datos recopilados, cree el pedido formal de acreditación.
Antes de enviar, calcule los campos de totalización sumando el total_price de los ítems donde product.product_type = "terminal", agrupados por el product.pricing_model.pricing_type:
total_fixed_price ← Σ total_price de los terminales con pricing_type = "fixed_price"
total_monthly_rent ← Σ total_price de los terminales con pricing_type = "monthly_rent"
total_affiliation_fee ← Σ total_price de los terminales con pricing_type = "affiliation_fee"
total_recurrent ← Σ total_price de los terminales con pricing_type = "recurrent"
total_payment_price ← Σ total_price de los terminales con pricing_type = "payment_price"
total_license ← Σ total_price de los terminales con pricing_type = "license"
total_fixed_price ← Σ total_price de los terminales con pricing_type = "fixed_price"
total_monthly_rent ← Σ total_price de los terminales con pricing_type = "monthly_rent"
total_affiliation_fee ← Σ total_price de los terminales con pricing_type = "affiliation_fee"
total_recurrent ← Σ total_price de los terminales con pricing_type = "recurrent"
total_payment_price ← Σ total_price de los terminales con pricing_type = "payment_price"
total_license ← Σ total_price de los terminales con pricing_type = "license"

Los ítems con un product_type distinto de terminal (ej.: composite, service) no entran en este cálculo. Los campos sin terminales correspondientes deben enviarse con el valor 0.
600;">POST /orders
│
Enviar: merchant, delivery_info, items[], merchant_accounts[],
total_fixed_price, total_monthly_rent, total_affiliation_fee,
total_recurrent, total_payment_price, total_license
│
Devuelve: order_id
│
└──► Guardar el order_id para usar en las etapas siguientes (validación, actualización y envío).
600;">POST /orders
│
Enviar: merchant, delivery_info, items[], merchant_accounts[],
total_fixed_price, total_monthly_rent, total_affiliation_fee,
total_recurrent, total_payment_price, total_license
│
Devuelve: order_id
│
└──► Guardar el order_id para usar en las etapas siguientes (validación, actualización y envío).

⚠️ Guarde el order_id devuelto — es obligatorio en todas las llamadas siguientes (PUT /orders/{order_id}, POST /orders/{order_id}/validation, PUT /orders/{order_id}/submit).

Etapa 8.5 — Actualización del pedido (cuando sea necesario)
Si es necesario corregir o complementar datos del pedido antes del envío, utilice el PUT /orders/{order_id}.
600;">PUT /orders/{order_id}
│
Enviar: objeto completo del pedido (con los cambios aplicados)
600;">PUT /orders/{order_id}
│
Enviar: objeto completo del pedido (con los cambios aplicados)

⚠️ Nunca envíe un payload parcial. El PUT reemplaza todos los datos del pedido. Siempre envíe el objeto completo.
Diferencia importante respecto al PUT /merchants/{merchant_id}:
| Comportamiento | Merchant | Order |
|---|
| Enriquecimiento | ✅ Sí — la plataforma agrega información al objeto después de la creación | ❌ No — los datos del pedido son exactamente los que el canal envió en el POST /orders |
| GET antes del PUT | Obligatorio — para obtener los datos enriquecidos y no sobrescribirlos accidentalmente | Opcional — si el canal almacena el pedido localmente, los datos son idénticos a los de la plataforma |
- Si el canal almacena el pedido en su dominio: basta con modificar o incrementar los campos en la estructura local y enviar el
PUT con el objeto completo — no es necesario llamar a GET /orders/{order_id} antes.
- Si el canal no almacena el pedido: llamar a
GET /orders/{order_id} (usando el order_id devuelto en el POST /orders), aplicar los cambios y enviar el PUT.
Después de cualquier cambio en los ítems, recalcule los campos de totalización conforme a la Etapa 8.

Etapa 9 — Validación del pedido (recomendada)
Antes de enviar, valide el pedido para identificar y corregir posibles problemas.
600;">POST /orders/{order_id}/validation
│
├── report.recommended.status = "approved" ──► Continuar al envío.
│
└── report.recommended.status = "reproved" ──► Verificar y corregir:
report.details[].detail_description
600;">POST /orders/{order_id}/validation
│
├── report.recommended.status = "approved" ──► Continuar al envío.
│
└── report.recommended.status = "reproved" ──► Verificar y corregir:
report.details[].detail_description

⚠️ Después del envío (Etapa 10) el pedido ya no puede corregirse. Use esta etapa como salvaguarda.

Etapa 10 — Envío del pedido
Envíe el pedido tras la confirmación del merchant. Esta es la etapa final.
600;">PUT /orders/{order_id}/submit
│
├── Rechazado ──► error.report.recommended = "reproved"
│ Verificar: report.details[].detail_description
│
└── Enviado ──► situation.status = "submitted"
order_number generado — usar para el seguimiento del pedido
│
├─ Para verificar si el pedido fue aprobado:
│ 600;">GET /orders?order_number={order_number}
└─ O configure un webhook para recibir notificaciones de estado.
600;">PUT /orders/{order_id}/submit
│
├── Rechazado ──► error.report.recommended = "reproved"
│ Verificar: report.details[].detail_description
│
└── Enviado ──► situation.status = "submitted"
order_number generado — usar para el seguimiento del pedido
│
├─ Para verificar si el pedido fue aprobado:
│ 600;">GET /orders?order_number={order_number}
└─ O configure un webhook para recibir notificaciones de estado.

5. Jornada 2 — Acreditación Asistida
En esta jornada un agente o consultor de Getnet conduce la acreditación en nombre del merchant. La principal diferencia estructural respecto a la jornada autónoma está en el orden de las llamadas: aquí el merchant se crea primero y, con el merchant_category_code (MCC) devuelto, la vitrina de ofertas se consulta de forma personalizada para ese perfil de negocio.
5.1 Visión macro del flujo
[Autenticación]
│
▼
[Etapa 0] Verificación previa — ¿el documento ya tiene un EC?
│ no
▼
[Etapa 1] Creación del merchant (datos mínimos + monthly_card_income)
│ └── Devuelve: merchant_id + MCC
▼
[Vitrina de Ofertas] ←── Filtrado con MCC y facturación mensual del merchant
│
▼
[Etapa 1.5] Consulta de código postal + Opciones de envío
│
▼
[Etapa 2] Complemento de datos (600;">PUT /merchants)
│
▼
[Etapa 3] Calificación (análisis de riesgo)
│ aprobado
▼
[Etapa 4] Resultado de la calificación confirmado
│
▼
[Etapas 5-6] Montaje de los ítems del pedido (offerings → items)
│
▼
[Etapa 7] Información de datos bancarios
│
▼
[Etapa 8] Creación del pedido → 600;">POST /orders
│
▼
[Etapa 8.5] Actualización del pedido → 600;">PUT /orders/{id} *(cuando sea necesario)*
│
▼
[Etapa 9] Validación del pedido → 600;">POST /orders/{id}/validation
│ aprobado
▼
[Etapa 10] Envío del pedido → 600;">PUT /orders/{id}/submit
│
▼
[Acreditación completada — order_number generado]
[Autenticación]
│
▼
[Etapa 0] Verificación previa — ¿el documento ya tiene un EC?
│ no
▼
[Etapa 1] Creación del merchant (datos mínimos + monthly_card_income)
│ └── Devuelve: merchant_id + MCC
▼
[Vitrina de Ofertas] ←── Filtrado con MCC y facturación mensual del merchant
│
▼
[Etapa 1.5] Consulta de código postal + Opciones de envío
│
▼
[Etapa 2] Complemento de datos (600;">PUT /merchants)
│
▼
[Etapa 3] Calificación (análisis de riesgo)
│ aprobado
▼
[Etapa 4] Resultado de la calificación confirmado
│
▼
[Etapas 5-6] Montaje de los ítems del pedido (offerings → items)
│
▼
[Etapa 7] Información de datos bancarios
│
▼
[Etapa 8] Creación del pedido → 600;">POST /orders
│
▼
[Etapa 8.5] Actualización del pedido → 600;">PUT /orders/{id} *(cuando sea necesario)*
│
▼
[Etapa 9] Validación del pedido → 600;">POST /orders/{id}/validation
│ aprobado
▼
[Etapa 10] Envío del pedido → 600;">PUT /orders/{id}/submit
│
▼
[Acreditación completada — order_number generado]
5.2 Detalle de las etapas
🔐 Autenticación
Idéntica a la jornada autónoma. Obtenga el access_token como se describe en la sección 3.

Etapa 0 — Verificación previa (opcional, pero recomendada)
Idéntica a la jornada autónoma.
600;">GET /establishment-contracts-basic/legal-document-number/{cpf_cnpj}/ec-accredited
├── accredited: true ──► El documento ya tiene un EC. Interrumpir el flujo.
└── accredited: false ──► Puede registrar. Continuar a la Etapa 1.
600;">GET /establishment-contracts-basic/legal-document-number/{cpf_cnpj}/ec-accredited
├── accredited: true ──► El documento ya tiene un EC. Interrumpir el flujo.
└── accredited: false ──► Puede registrar. Continuar a la Etapa 1.
Etapa 1 — Creación del merchant (datos mínimos)
En esta jornada, el monthly_card_income (facturación mensual en tarjeta) se envía ya en la creación. La respuesta incluye el merchant_category_code (MCC), que debe guardarse para filtrar las ofertas adecuadas al perfil del negocio.
600;">POST /merchants
│
Enviar: CPF/CNPJ + datos personales básicos + monthly_card_income + opt-ins (LGPD + términos)
│
Devuelve: merchant_id
sub_status_steps (etapas pendientes)
economic_activity_profile.merchant_category_code ← MCC
│
└──► Guardar el merchant_id y el MCC para usar en las etapas siguientes.
600;">POST /merchants
│
Enviar: CPF/CNPJ + datos personales básicos + monthly_card_income + opt-ins (LGPD + términos)
│
Devuelve: merchant_id
sub_status_steps (etapas pendientes)
economic_activity_profile.merchant_category_code ← MCC
│
└──► Guardar el merchant_id y el MCC para usar en las etapas siguientes.

⚠️ Guarde tanto el merchant_id como el merchant_category_code — ambos se usan en las llamadas siguientes.

🛍️ Vitrina de Ofertas (después de la creación del merchant)
A diferencia de la jornada autónoma, aquí la consulta de ofertas ocurre después de la creación del merchant, pues utiliza el MCC y la facturación mensual para devolver solo las ofertas elegibles para ese perfil.
600;">GET /offerings?country=BR&channel={canal}&monthly_card_income={facturacion_mensual}&merchant_category_code={mcc}&fiscal_type={fiscal_type}
└── Devuelve la lista de ofertas (sin tasas de adquirencia)
600;">GET /offerings?priced_offering_id={id}
└── Devuelve un objeto único con tasas detalladas por marca
└─ {id} = priced_offering_id devuelto en el listado anterior
O (en una sola llamada)
600;">GET /offerings?country=BR&channel={canal}&monthly_card_income={facturacion_mensual}&merchant_category_code={mcc}&fiscal_type={fiscal_type}&show_acquirers=true
└── Devuelve la lista de ofertas ya con tasas incluidas
600;">GET /offerings?country=BR&channel={canal}&monthly_card_income={facturacion_mensual}&merchant_category_code={mcc}&fiscal_type={fiscal_type}
└── Devuelve la lista de ofertas (sin tasas de adquirencia)
600;">GET /offerings?priced_offering_id={id}
└── Devuelve un objeto único con tasas detalladas por marca
└─ {id} = priced_offering_id devuelto en el listado anterior
O (en una sola llamada)
600;">GET /offerings?country=BR&channel={canal}&monthly_card_income={facturacion_mensual}&merchant_category_code={mcc}&fiscal_type={fiscal_type}&show_acquirers=true
└── Devuelve la lista de ofertas ya con tasas incluidas

Etapas 1.5 a 10 — Complemento, Calificación, Pedido y Envío
A partir de aquí el flujo es
idéntico al de la jornada autónoma. Consulte las etapas correspondientes en la
sección 4.2:
5.3 Diferencias respecto a la Acreditación Autónoma
| Aspecto | Autónoma | Asistida |
|---|
| Quién opera | El propio merchant | Agente / consultor |
| Momento de la vitrina de ofertas | Antes de la creación del merchant | Después de la creación del merchant |
| Filtros de la vitrina | country + channel (opcionalmente monthly_card_income + merchant_category_code + fiscal_type si disponibles) | country + channel + monthly_card_income + merchant_category_code + fiscal_type |
monthly_card_income en POST /merchants | No obligatorio en la creación | Enviado ya en la creación |
MCC (merchant_category_code) | No utilizado como filtro obligatorio | Devuelto en POST /merchants y usado en GET /offerings |
fiscal_type | Opcional — usado si está disponible | Utilizado como filtro en GET /offerings |
6. Referencia Rápida de Endpoints por Etapa
Acreditación Autónoma
Acreditación Asistida
7. Conceptos Transversales
merchant_id
Identificador único generado en el POST /merchants. Debe persistirse y utilizarse en todas las llamadas posteriores del ciclo de acreditación.
priced_offering_id
Identificador de una oferta con precios detallados por marca. Obtenido en la Offerings API y utilizado en el montaje de los ítems del pedido.
order_id y order_number
order_id: identificador interno generado en el POST /orders. Usado para la validación y el envío.
order_number: generado tras el envío exitoso. Usado por el merchant para hacer seguimiento del estado logístico del pedido.
Calificación
Proceso de análisis de riesgo y compliance que verifica si el merchant puede ser acreditado. Puede ser síncrono (respuesta 200) o asíncrono (respuesta 202 + polling vía GET).
Domicilio bancario
Cuenta(s) bancaria(s) donde el merchant recibirá los abonos de las transacciones. Debe informarse por marca contratada.
