GET:

Para obtener los valores de un tablero se puede utilizar la consulta:

Post Method

donde:

square debe ser un número entre 2 y 4 que, respecticamente, generará sudokus de 4x4 ; 9x9 ; 16x16

visibility debe ser un número entre 0 y 9 de "dificultad" donde 0 significa que todos los números serán visibles y 9 representa un nivel de dificultad extrema, con muy pocos números visibles en la lista a retornar y una gran catidad de `x`.

Esta consulta devuelve un JSON que incluye board (el tablero) con los numeros y las `x` generedas y boardId (el ID del tablero).

en el siguiente ejemplo:

http://localhost:3000/api?square=3&visibility=5

se retorna:

{"board":[[3,"x","x","x","x",6,"x","x",4],["x",8,1,5,4,"x",6,"x","x"], [4,9,"x","x",3,"x","x",5,7],["x",4,5,"x","x",9,"x",3,2], ["x",3,"x","x","x",5,"x",7,"x"],["x","x",9,"x","x","x","x",4,"x"], ["x",2,4,6,5,7,"x",1,8],[8,6,"x",1,"x","x","x","x","x"], [5,1,3,"x",8,4,7,"x","x"]], "boardId":"sud5s9"}

POST:

Para verificar la solución de un tablero se puede utilizar el método POST a /api, enviando el boardId y la solución del usuario en el cuerpo de la petición. El formato de la solicitud es el siguiente:

Post Method

Esto permite verificar si la solución proporcionada es correcta al enviarla como una lista plana de todos los números del tablero. Este metodo devuelve un valor booleano isValid (donde True implica que la solución es correcta) y luego originalBoard para que el cliente pueda verificar y comparar su solución con los datos reales del tablero en caso de presentar una solución incorrecta.

en el siguiente ejemplo:
Post Method
se retorna:

{"isValid":false, "originalBoard":[[9,1,2,5,8,3,6,4,7],[7,5,3,4,9,6,2,1,8], [8,4,6,1,7,2,3,5,9],[3,8,1,9,2,5,4,7,6], [6,9,5,7,3,4,1,8,2],[2,7,4,8,6,1,5,9,3], [5,2,8,3,1,9,7,6,4],[4,3,9,6,5,7,8,2,1], [1,6,7,2,4,8,9,3,5]]}


Usted puede disponer de esta API de forma gratuita para su uso en sus propios proyectos. Si tiene alguna duda respecto de este proyecto o gusta ponerse en contacto ante cualquier eventualidad no dude en contactarme vía email: diego.c.coianiz@gmail.com o buscarme en gitbub/diegoCoianiz