Errores

Por medio de nuestro API, podrás ser notificado con toda la información en caso de cualquier error al momento de crear cualquier llamada a nuestro servicio.

Objeto Error

Atributos

Tipo

Descripción

type

array

Contiene el tipo de error y el código del error.

log_id

string

El id del log de la petición http registrando este error.

data

hash

El objeto modificado por esta petición, en caso de processing_error por ejemplo, los cargos todavía se crean.

details

array

Lista detallada de los errores.

message

string

Mensaje legible para humanos el cual provee más detalles sobre el error. Este mensaje debe ser desplegado al usuario y está disponible en inglés y español. Para cargos de tarjeta, el mensaje puede ser mostrado al usuario.

debug_message

string

Mensaje legible para humanos el cual provee más detalles sobre el error. Este mensaje debe ser usado internamente para depuración y solo está disponible en inglés. Para cargos de tarjeta, el mensaje puede ser mostrado al usuario.

code

string (optional)

Un código corto y específico detallando processing_error.

params

string (optional)

El parámetro al cual este error está relacionado. Puedes usar este error para subrayar campos de texto erróneos.

begin
  order = Conekta::Order.create(order_data_with_charges.
          merge(customer_info: customer_info))
rescue Conekta::Error => error
  for error_detail in error.details do
    puts error_detail.message
  end
end

Error Types

Tipo

Descripción

api_error

HTTP 500

Error inesperado por parte de Conekta. Este error puede ser capturado con la clase ApiError.

authentication_error

HTTP 401

La llave usado en esta petición era inválida or no tiene permisos para ejecutar esta petición. Este error puede ser capturado con la clase AuthenticationError.

conlict_error

HTTP 409

Un conflict de versiones ocurrió, lo más probable es que la versión que pasaste en las encabezados de la petición era incorrecta.

malformed_request_error

HTTP 400

El JSON del cuerpo de tu petición era inválida o la codificación de caracteres en tu petición es incorrecta. Este error puede ser capturado con la clase MalFormedRequestError .

parameter_validation_error

HTTP 422

Algun parámetro de tu petición falta o tiene valores inválidos, consulta el atributo details en tu petición para ver cuales campos fueron inválidos y por qué. Este error puede ser capturado con la clase ParameterValidationError .

precondition_required_error

HTTP 412

Falta ejecutar algunos pasos antes de procesar esta llamada. Por ejemplo, si estas creando un order, la suma de los line_items tiene que estar mayor a 0 antes de cobrarle, consulta el atributo details en tu petición para ver cuales campos fueron inválidos y por qué.

processing_error

HTTP 402

Un error rutinario durante el procesamiento de tarjetas, ocurre cuando procesen tarjetas y los fondos no pueden ser cobrados. Este error puede ser capturado con la clase ProcessingError .

resource_not_found_error

HTTP 404

El objecto sobre cual quisieras ejecutar este petición no existe. Ocurre normalmente cuando las llaves de la petición corresponden a otra cuenta o no tienen permisos para buscar este objecto. Este error puede ser capturado con la clase ResourceNotFoundError .

Métodos

Tipo

Descripción

getConektaMessage()

object

Este metodo nos proporciona un arreglo con el objeto que regresa la api cuando se genera un error, Este objeto contiene todos los atributos mencionados antes, todos los objetos estan mapeados en las posiciones del arreglo, estas posiciones estan compuestas por dos arreglos principales que son detailscon errores de validacion y un segundo type con el codigo de error y el tipo de error.

Clases

Tipo

Descripción

Handler

Exception

La clase Handler maneja y crea instancias de los errores mapeados en base a la respuesta de la api.