Review shell — not part of the design
{{ t.skip }}

{{ t.utility }}

{{ t.ctaEnt }}
viettel developers
{{ t.ctaDev }}
{{ t.ctaDev }}
{{ t.ctaEnt }}

{{ t.menuNote }}

{{ t.searchIdle }}

{{ t.searchNone }}

{{ t.heroEyebrow }}

{{ t.heroTitle }}

{{ t.heroSub }}

{{ t.heroProof1 }} {{ t.heroProof2 }}

{{ t.trustEyebrow }}

{{ t.trustTitle }}

{{ m.value }} {{ m.label }}

{{ t.capEyebrow }}

{{ t.capTitle }}

{{ t.capLead }}

{{ t.flagshipEyebrow }}

{{ t.flagshipTitle }}

{{ t.flagshipLead }}

{{ t.useCaseFeatured }}

{{ featuredProblem.title }}

{{ featuredProblem.body }}

  • {{ a.name }}{{ a.status }}
{{ t.outcome }}
{{ featuredProblem.outcome }}
{{ t.forWhom }}
{{ featuredProblem.who }}
{{ t.viewSolution }} →
{{ t.liveFlow }}
{{ t.decisionProtected }}

{{ t.customerEvent }}

{{ t.transactionEvent }}

{{ sig.label }} {{ sig.value }}
POST /decision
{
  "riskLevel": "low",
  "numberMatch": true,
  "action": "allow"
}
{{ t.decisionResult }}{{ t.allowTransaction }}

{{ t.industryEyebrow }}

{{ t.industryHomeTitle }}

{{ t.industryHomeLead }}

{{ t.apiPortfolioEyebrow }}

{{ t.apiPreviewTitle }}

{{ t.apiPreviewLead }}

03{{ t.apiCountLabel }}

{{ t.businessValue }}

{{ activeApiShowcase.homeOutcome }}

{{ activeApiShowcase.name }}

{{ t.networkQuestion }}

{{ activeApiShowcase.homeQuestion }}

{{ t.mainUseCase }}: {{ activeApiShowcase.mainCase }}

{{ t.viewApi }} →
{{ t.apiShowcaseProof }}✓ {{ t.camaraStandardProof }}✓ {{ t.docsProof }}
{{ t.seeCatalog }} →

{{ t.whyTitle }}

{{ p.proof }} {{ p.num }}

{{ p.title }}

{{ p.body }}

{{ t.startTitle }}

{{ t.availableNow }}

  1. {{ s }}
{{ t.ctaEnt }}

{{ t.regDisclosure }}

{{ t.comingNext }}

  • {{ s }}
{{ t.viewDocs }}
{{ t.ctaEnt }} →

{{ t.forEnterprises }}

{{ t.entConvTitle }}

{{ t.entConvBody }}

{{ t.ctaEnt }}

{{ t.eyebrowExplain }}

{{ t.ogTitle }}

{{ t.ogLead }}

{{ t.explainTitle }}

  1. {{ f.n }} {{ f.title }} {{ f.sub }}

{{ t.ogTermsTitle }}

{{ d.term }}
{{ d.def }}

{{ t.ogWhyTitle }}

  • {{ w }}

{{ t.ogCtaBody }}

{{ t.ctaTertiary }}
{{ t.ctaEnt }}

{{ t.solH1 }}

{{ t.solLead }}

{{ t.byProblem }}

{{ p.title }}

{{ p.body }}

{{ t.outcome }}
{{ p.outcome }}
{{ t.forWhom }}
{{ p.who }}
  • {{ a.name }}· {{ a.status }}

{{ t.industriesTitle }}

{{ t.byProblem }}

{{ solV.title }}

{{ solV.body }}

{{ t.outcome }}
{{ solV.outcome }}
{{ t.forWhom }}
{{ solV.who }}

{{ t.howItWorks }}

  1. {{ st.n }} {{ st.text }}

{{ t.apisUsed }}

{{ t.whatNeeded }}

  • {{ n }}

{{ t.entConvTitle }}

{{ t.solCtaBody }}

{{ t.ctaEnt }}

{{ t.catalogH1 }}

{{ t.catalogLead }}

{{ t.filterIndustry }}

{{ t.filterTheme }}

{{ catCount }}

{{ recTitle }}

{{ indBrief }} →
{{ a.fitBadge }} {{ a.statusLabel }}

{{ a.name }}

{{ a.theme }}

{{ a.short }}

{{ a.endpoint }}

{{ t.useCases }}

  • {{ uc.t }}

{{ t.usedIn }} {{ a.usedIn }}

{{ a.readiness }}

{{ t.viewApiDetail }}
{{ t.ctaConsult }} →

{{ t.othersTitle }}

{{ a.statusLabel }}

{{ a.name }}

{{ a.theme }}

{{ a.short }}

{{ a.endpoint }}

{{ t.useCases }}

  • {{ uc.t }}

{{ t.usedIn }} {{ a.usedIn }}

{{ a.readiness }}

{{ t.viewApiDetail }}
{{ t.ctaConsult }} →
{{ t.filterNone }}

{{ cur.theme }}

{{ cur.name }}

{{ cur.definition }}

{{ cur.endpoint }}

{{ t.availability }}

{{ t.avApi }}
{{ cur.av.api }}
{{ t.avDocs }}
{{ cur.av.docs }}
{{ t.avSandbox }}
{{ cur.av.sandbox }}
{{ t.avCommercial }}
{{ cur.av.commercial }}
{{ t.requestAccess }}
{{ t.ctaEnt }}

{{ t.whatItDoes }}

{{ cur.definition }}

{{ t.useForTitle }}

{{ cur.useFor }}

{{ t.relatedSolutions }}

{{ c.t }}

{{ c.b }}

{{ t.docsComingSoon }}
{{ t.specField }} {{ t.specType }} {{ t.specDesc }}
{{ r.f }} {{ r.ty }} {{ r.de }}
{{ t.docsPlannedBody }}

{{ t.authTitle }}

{{ t.authBody }}

  • {{ p }}
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&scope=number-verification:verify

{{ t.request }}

POST /camara/number-verification/v1/verify
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "phoneNumber": "+84901234567"
}

{{ t.response }}

200 OK
Content-Type: application/json

{
  "devicePhoneNumberVerified": true
}

{{ t.sampleNote }}

HTTP {{ t.errCode }} {{ t.errWhat }}
{{ r.h }} {{ r.c }} {{ r.w }}

{{ t.consentTitle }}

  • {{ p }}

{{ t.securityTitle }}

  • {{ p }}
{{ t.sandboxBody }}

{{ t.sandboxWillHave }}

  • {{ d }}

{{ t.sandboxCta }}

{{ t.requestSandbox }}

{{ t.termsTitle }}

  • {{ p }}
  1. {{ c.date }} {{ c.text }}

{{ t.forDevelopers }}

{{ t.supportDev }}

{{ t.ctaDev }}

{{ t.forEnterprises }}

{{ t.supportEnt }}

{{ t.ctaEnt }}

{{ t.docsH1 }}

{{ t.docsLead }}

{{ t.docsComingSoon }}

{{ t.docsOverviewTitle }}

{{ nvDef }}

{{ t.avApi }}

{{ t.statusReady }}

{{ t.avDocs }}

{{ t.previewChip }}

{{ t.avSandbox }}

{{ t.comingSoon }}

{{ t.avCommercial }}

{{ t.contactViettel }}

{{ t.authTitle }}

{{ t.authBody }}

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&scope=number-verification:verify

{{ t.request }} / {{ t.response }}

POST /camara/number-verification/v1/verify
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "phoneNumber": "+84901234567"
}
200 OK
Content-Type: application/json

{
  "devicePhoneNumberVerified": true
}

{{ t.sampleNote }}

{{ t.errWhat }}

HTTP {{ t.errCode }} {{ t.errWhat }}
{{ r.h }} {{ r.c }} {{ r.w }}

{{ t.consentTitle }}

  • {{ p }}

{{ t.docsFooterNote }}

{{ t.requestAccess }}

{{ t.newsH1 }}

{{ t.newsLead }}

{{ newsCount }}

{{ n.category }} · {{ n.date }}

{{ n.title }}

{{ n.excerpt }}

{{ t.nlTitle }}

{{ t.nlBody }}

{{ t.nlDoneBody }}

{{ t.eEmail }}

{{ t.nlCta }}

{{ t.contactH1 }}

{{ t.contactLead }}

{{ t.forEnterprises }}

{{ t.entFormTitle }}

{{ t.entFormBody }}

{{ t.entDoneBody }}

{{ t.consultContext }}: {{ entCtx }}

{{ entErrList }}

{{ t.eRequired }}

{{ t.eEmail }}

{{ t.eRequired }}

{{ t.hProblem }}

{{ t.fContactPref }}

{{ t.eConsent }}

{{ t.spamNote }}

{{ entCtaLabel }} {{ t.noAutoReply }}

{{ t.forDevelopers }}

{{ t.earlyH1 }}

{{ t.earlyLead }}

{{ t.devDoneBody }}
{{ t.openDocs }}
{{ t.ctaTertiary }}
{{ devErrList }}

{{ t.eRequired }}

{{ t.eEmail }}

{{ t.eRequired }}

{{ t.hUseCase }}

{{ t.eRequired }}

{{ t.eConsent }}

{{ t.devCta }}