http api

អ្វីៗដែល dashboard ធ្វើបាន ធ្វើបានពី terminal របស់អ្នក

key គណនីតែមួយ។ រាយបញ្ជីគេហទំព័ររបស់អ្នក ដេប្លយទៅលើវា ប្តូរឈ្មោះ អានអ្វីដែលទម្រង់របស់អ្នកប្រមូលបាន និងលុបវាចោល — តាម HTTP ធម្មតា ពី script ពីការងារ CI ឬពីភ្នាក់ងារ។

ចាប់ផ្តើមរហ័ស

បីពាក្យបញ្ជា

បង្កើត key នៅ dashboard របស់អ្នក ពិនិត្យថាវាដំណើរការ រួចដាក់ថតឯកសារឡើងអនឡាញ។ key ដាក់ក្នុង header Authorization នៅរាល់ការហៅ។

ពិនិត្យថា key ដំណើរការ
curl -H "Authorization: Bearer hvs_…" https://harvis.dev/api/v1
មើលអ្វីដែលមានក្នុងគណនី
curl -H "Authorization: Bearer hvs_…" https://harvis.dev/api/v1/sites
បោះផ្សាយថតឯកសារ
curl -X POST https://harvis.dev/api/v1/sites \
  -H "Authorization: Bearer hvs_…" \
  -F "files=@index.html" -F "paths=index.html"
កិច្ចសន្យាតែមួយ

កម្មវិធីវេប និង API មិនអាចបែកគ្នាបានទេ

សមត្ថភាពនីមួយៗត្រូវបានប្រកាសតែម្តង ក្នុងឯកសារតែមួយ ហើយទាំង dashboard និង API នេះសុទ្ធតែសាងសង់ចេញពីទីនោះ។ openapi.json ត្រូវបានបង្កើតចេញពីការប្រកាសនោះ ហើយបើទាំងពីរមិនត្រូវគ្នា ការ build នឹងបរាជ័យ។ ដូច្នេះនេះមិនមែនជាឯកសារពិពណ៌នាអំពីផលិតផលទេ — វាគឺជាអ្វីដែលផលិតផលនេះធ្វើឡើងពី។

  • សមត្ថភាពមួយមានការអនុវត្តតែមួយ ដែលកម្មវិធីវេប និង script របស់អ្នកហៅដូចគ្នា។
  • openapi.json ត្រូវបានបង្កើតដោយស្វ័យប្រវត្តិ មិនដែលសរសេរដោយដៃ ហើយបម្រើនៅ /openapi.json។
  • ការ build បរាជ័យភ្លាមៗនៅពេល route កិច្ចសន្យា និងឯកសារលែងស្របគ្នា។
ការដេប្លយ

មាន key គេហទំព័រជារបស់អ្នកភ្លាម

ការដេប្លយដោយគ្មានគណនីនៅតែដំណើរការ ហើយនឹងដំណើរការជានិច្ច — អ្នកទទួលបានតំណ claim ឯកជនសម្រាប់បើកពេលក្រោយ។ បើផ្ញើ key ក្នុងការហៅតែមួយនោះ គ្មានអ្វីត្រូវ claim ទៀតទេ៖ គេហទំព័រនៅក្នុងគណនីរបស់អ្នកតាំងពី byte ដំបូង ហើយវាមិនផុតកំណត់ឡើយ។

zip -r site.zip . && curl -X POST https://harvis.dev/api/upload \
  -H "Authorization: Bearer hvs_…" \
  -H "Content-Type: application/zip" --data-binary @site.zip
ចំណុចបញ្ចប់

ផ្ទៃទាំងមូល

ទម្រង់ពេញលេញនៃសំណើ និងចម្លើយមាននៅក្នុងឯកសារ OpenAPI។

វិធីសាស្ត្រផ្លូវធ្វើអ្វី
GET/api/v1Check that a credential works.
GET/api/v1/keysThe account's API keys. Revoked keys are not listed.
POST/api/v1/keysCreate an API key.
DELETE/api/v1/keys/{keyId}Revoke an API key. Anything using it stops working immediately.
GET/api/v1/meThe account a credential belongs to.
GET/api/v1/sitesList the account's sites, newest first.
POST/api/v1/sitesCreate a site from a folder of files.
DELETE/api/v1/sites/{id}Delete a site, its files and its form submissions.
GET/api/v1/sites/{id}One site.
PATCH/api/v1/sites/{id}Rename a site, change its web address, or both.
POST/api/v1/sites/{id}/deployReplace every file of a site with the uploaded set.
POST/api/v1/sites/{id}/deploy-tokenIssue a new deploy token for a site. The old one stops working immediately.
POST/api/v1/sites/{id}/deploy/zipReplace every file of a site from a zip archive sent as the raw request body.
GET/api/v1/sites/{id}/filesEvery file a site is serving.
POST/api/v1/sites/{id}/filesAdd or overwrite individual files, leaving the rest of the site alone.
DELETE/api/v1/sites/{id}/submissionsDelete every submission for a site, or every one of a single form.
GET/api/v1/sites/{id}/submissionsOne page of a site's form submissions, newest first.
DELETE/api/v1/sites/{id}/submissions/{submissionId}Delete one submission.
GET/api/v1/sites/{id}/submissions/{submissionId}One submission.
GET/api/v1/sites/{id}/submissions/csvExport a site's form submissions as CSV.
POST/api/v1/sites/{id}/submissions/readMark every unread submission as read.
GET/api/v1/sites/{id}/submissions/summaryHow many submissions a site holds, how many are unread, and which forms exist.
កំហុស

រាល់ការបរាជ័យមានទម្រង់ដូចគ្នា

សូមបែកតាម code កុំបែកតាមសារ។ code មានស្ថិរភាព រីឯអត្ថបទគឺសម្រាប់អ្នកដែលអានកំណត់ហេតុ។

{
  "error": {
    "code": "subdomainTaken",
    "message": "That address is already taken. Try another."
  }
}