Estoy tratando de hacer una solicitud POST a la API de checkr usando node-libcurl. Necesito crear y enviar una invitación de verificación de antecedentes a los candidatos, pero recibo una respuesta de Bad authentication error de su API. ¿Alguna ayuda?
servidor.js
const data = { 'candidate_id': 'someid', 'package': 'driver_pro', }; var checkr_sk = 'my_secret_key'; const Curl = require( 'node-libcurl' ).Curl; curl = new Curl(); curl.setOpt(Curl.option.URL, `https://api.checkr.com/v1/invitations/${checkr_sk}`); curl.setOpt('FOLLOWLOCATION', true); curl.setOpt(Curl.option.POST, true); curl.setOpt(Curl.option.HTTPHEADER, ['Content-Type: application/json']); curl.setOpt(Curl.option.POSTFIELDS, JSON.stringify(data)); curl.on('end', function (statusCode, body, headers) { var result = JSON.parse(body); console.info(statusCode); console.info(headers); console.info(body); console.info(this.getInfo(Curl.info.TOTAL_TIME)); this.close(); }); curl.on('error', function (err, curlErrorCode) { console.error(err); console.error(curlErrorCode); this.close(); }); curl.perform();Descubrí que la mejor manera de realizar solicitudes de curl es con la biblioteca node-fetch . Primero instale node-fetch usando npm. Un buen recurso es este convertidor de curl . Puedes encontrar su repositorio en Github.
curl con búsqueda de nodo
const btoa = require('btoa'); const fetch = require('node-fetch'); const data = { 'candidate_id': 'someid', 'package': 'driver_pro', }; var checkr_sk = 'my_secret_key'; fetch('https://api.checkr.com/v1/invitations', { method: 'POST', headers: { 'Authorization': 'Basic ' + btoa(checkr_sk+':'), 'Content-Type': 'application/json' }, body: JSON.stringify(data) }).then(function(response){ return response.json(); }) .then(function(data) { const items = data; console.log(items) })