የAPI ሰነድ

khelp-ን ከስርዓቶችዎ ጋር በParteners API አማካኝነት ያዋህዱ።

የkhelp API ድርጅትዎ የራሱን መረጃ (ልገሳዎች፣ ምዝገባዎች፣ ዘመቻዎች) በማሽን-ለ-ማሽን ውህደት፣ በAPI ቁልፍና በፈቃድ ስኮፕ አማካኝነት እንዲያገኝ ያስችላል። እያንዳንዱ ቁልፍ የድርጅትዎን መረጃ ብቻ ነው የሚያየው።

ማረጋገጫ

ቁልፍዎን በAuthorization ራስጌ ውስጥ እንደ Bearer token ይላኩ። ቁልፎችን በፓነሉ ውስጥ በ ቅንብሮች → የAPI ቁልፎች ያመንጩና ያስተዳድሩ። ሚስጥራዊው ቁልፍ በሚፈጠርበት ጊዜ አንድ ጊዜ ብቻ ነው የሚታየው — በደህና ያስቀምጡት እና በአሳሽ ውስጥ በጭራሽ አያጋልጡት።

curl https://www.khelp.com.br/api/v1/doacoes \
  -H "Authorization: Bearer khl_live_..."

Endpoints

Endpoint-ዎቹ JSON ይመልሳሉ እና አስቀድሞ በድርጅትዎ ተጣርተው ይመጣሉ — የሌላውን መረጃ በጭራሽ አያዩም። ንባብ :read ስኮፖችን ይፈልጋል፤ የምዝገባ መፍጠር cadastros:write ስኮፕ ይፈልጋል፣ ይህም ቁልፉን ሲያመነጩ የሚያመለክቱት ነው።

  • GET /api/v1/doacoesየድርጅትዎን ልገሳዎች ይዘረዝራል።
  • GET /api/v1/doacoes/{id}አንድ የተወሰነ ልገሳን በመለያው ያማክራል።
  • GET /api/v1/cadastrosምዝገባዎችን (ለጋሾችና ተጠሪዎች) ይዘረዝራል።
  • POST /api/v1/cadastrosምዝገባ ይፈጥራል። መስኮች፦ nome እና email (የግድ)፣ telefone፣ tipo_pessoa፣ tipos፣ cidade፣ estado፣ pais።
  • GET /api/v1/campanhasዘመቻዎችን ይዘረዝራል።
  • GET /api/v1/recorrenciasተደጋጋሚ ልገሳዎችን ይዘረዝራል። አማራጭ ማጣሪያ፦ ?status=active።
curl -X POST https://www.khelp.com.br/api/v1/cadastros \
  -H "Authorization: Bearer khl_live_..." \
  -H "Content-Type: application/json" \
  -d '{"nome":"Maria Silva","email":"maria@exemplo.com","tipos":["doador"]}'

ገጽ ማከፋፈል

የ limite (ከፍተኛ 100፣ ነባሪ 50) እና offset መለኪያዎችን ይጠቀሙ። ምላሹ መረጃውን የያዘ envelope እና paginacao ብሎክ (limite, offset, total, tem_mais) ይዞ ይመጣል።

curl "https://www.khelp.com.br/api/v1/cadastros?limite=50&offset=0" \
  -H "Authorization: Bearer khl_live_..."
{
  "dados": [ /* ... */ ],
  "paginacao": { "limite": 50, "offset": 0, "total": 128, "tem_mais": true }
}

የአጠቃቀም ገደቦች

እያንዳንዱ ቁልፍ በደቂቃ የጥያቄ ጣሪያ አለው (ነባሪ 120)። ምላሾቹ X-RateLimit-Limit እና X-RateLimit-Remaining ራስጌዎችን ይዘው ይመጣሉ። ሲያልፍ API 429 ከ Retry-After ጋር ይመልሳል። ከዚህ የሚበልጥ ገደብ ይፈልጋሉ? ድጋፍን ያነጋግሩ።

ስህተቶች

ስህተቶች ተገቢ በሆነ የHTTP ሁኔታ የ JSON { "erro": "<código>" } ይመልሳሉ፦ 401 (ቁልፍ የለም/ልክ ያልሆነ)፣ 403 (በቂ ያልሆነ ስኮፕ)፣ 404 (ግብዓት አልተገኘም)፣ 429 (ገደብ አልፏል)።

Webhooks

API-ን ደጋግሞ ከመጠየቅ ይልቅ ክስተቶችን (የተከፈለ ልገሳ፣ ተደጋጋሚ) በendpoint-ዎ ላይ ይቀበሉ። URL-ን በፓነሉ ውስጥ በ ቅንብሮች → Webhooks ያስመዝግቡ። እያንዳንዱ ማድረሻ ተፈርሟል — ይዘቱን ከማመንዎ በፊት ፊርማውን ያረጋግጡ።

Khelp-Signature: t=<unix>,v1=<hex>

import { createHmac } from 'crypto'

// req.rawBody = bytes EXATOS recebidos (não o JSON re-serializado)
function verificar(rawBody, header, segredo) {
  const partes = Object.fromEntries(header.split(',').map(p => p.split('=')))
  const t = Number(partes.t)
  if (Math.abs(Date.now() / 1000 - t) > 300) return false // ±5 min
  const esperado = createHmac('sha256', segredo)
    .update(`${t}.${rawBody}`).digest('hex')
  return esperado === partes.v1
}

ያሉ ክስተቶች

እያንዳንዱ endpoint የትኞቹን ክስተቶች እንደሚቀበል ይምረጡ። ማድረሻው ሲያቅት በራስ-ሰር እንደገና ይላካል፣ እና እያንዳንዱ ክስተት የተረጋጋ መለያ ይዞ ይመጣል — መቀበሉን እንደ idempotent ይያዙት እና የአንድ ክስተትን ድግግሞሽ ችላ ይበሉ።

  • doacao.pagaልገሳ እንደተከፈለ ተረጋግጧል (ነጠላ ወይም የተደጋጋሚ ክፍያ ግብር)።
  • recorrencia.criadaተደጋጋሚ ልገሳ ገቢር ሆኗል — የመጀመሪያው ክፍያ ተከፍሏል።
  • recorrencia.canceladaተደጋጋሚ ልገሳ ተሰርዟል፣ በለጋሹ፣ በድርጅቱ ወይም በክፍያ ዘዴው።
  • webhook.testeውህደቱን ለማረጋገጥ በእርስዎ ከፓነሉ የተላከ የሙከራ ክስተት።

ቨርዥን አሰጣጥና ማስወገድ

API በURL ውስጥ ቨርዥን ተሰጥቶታል (/api/v1)። ተኳሃኝ ለውጦች ያለ ማስጠንቀቂያ ወደ v1 ይገባሉ፤ የሚሰብሩ ለውጦች ወደ አዲስ ቨርዥን (v2) ይገባሉ። በማስወገድ ላይ ያሉ endpoint-ዎች የመዘጋቱን ቀን የያዘ Sunset ራስጌ አስቀድመው ይልካሉ።

መጀመር

የመጀመሪያ ቁልፍዎን በፓነሉ ውስጥ በ ቅንብሮች → የAPI ቁልፎች ይፍጠሩ፣ እና የመጀመሪያውን ጥሪ ከላይ ባለው ምሳሌ ያድርጉ።

Configurações → Chaves de API →

ይህ ሰነድ ከመድረኩ ጋር አብሮ ያድጋል። ስለ ውህደቱ ጥያቄዎች? የkhelp ድጋፍን ያነጋግሩ።