Skip to content
Makala zote

Kubuni bidhaa yako kulingana na matokeo ya uthibitishaji yasiyolingana

Charles Archibong

, Mwanzilishi mwenza

Chukua uwasilishaji kama mwanzo wa mashine ya hali, sio mwisho wa ombi. Onyesha hali inayosubiri iliyobonyezwa kwenye kitambulisho cha uthibitishaji, isasishe kutoka kwa webhooks, na uruhusu hali ibadilike zaidi ya mara moja.

Kichwa cha habari "Kubuni kwa ajili ya uthibitishaji wa async" kando ya kielelezo cha njia ya hatua zilizounganishwa, kwenye gradient ya kina ya indigo.

Mambo muhimu

  • onSubmit inamaanisha uthibitisho uliundwa, haukupitishwa kamwe.
  • Tenda kulingana na hali na hali ya duka kando yake; wanaweza kutokubaliana kihalali.
  • Hali ya uthibitishaji inaweza kubadilika baada ya kutatuliwa, kwa hivyo chukua mabadiliko ya hivi punde, sio tukio la kwanza.
  • Uwasilishaji upya huhifadhi kitambulisho kile kile cha uthibitishaji; sasisha rekodi badala ya kuunda mpya.

Kati ya uwasilishaji na matokeo ya mwisho, programu yako inapaswa kuwa katika hali ya kusubiri ambayo imebandikwa kwenye kitambulisho cha uthibitishaji, ikiendeshwa na matukio kutoka upande wako wa nyuma, na ikiwa tayari kwa hali kubadilika zaidi ya mara moja. Wakati ambapo SDK simuonSubmitinakuambia uthibitisho uliundwa. Haikuelezi chochote kuhusu kama ulipitishwa.

Hilo linasikika wazi hadi uthibitisho utakapokaguliwa kwa siku moja, utakaporudishwa kwa ajili ya kupiga picha mpya ya selfie, utakaporudi, na kuidhinishwa. Bidhaa iliyojengwa karibu na "mafanikio au kushindwa" moja haina mahali pa kuweka yoyote kati ya hayo. Bidhaa iliyojengwa karibu na mashine ndogo ya serikali huishughulikia bila kesi maalum.

Kwa nini matokeo hayawezi kufika na uwasilishaji

Ukaguzi wa utambulisho huchukua muda tofauti kwa sababu nzuri. Hati lazima isomwe, rekodi ya serikali itafutwe, uso ukilinganishwa. Kisha grafu ya maamuzi (hufunguka kwenye kichupo kipya) inaweza kusubiri kwenye skrini ya orodha ya kutazama, biashara inaweza kusubiri wakurugenzi wake wajithibitishe, na mtu katika timu yako anaweza kuhitaji kuangalia. Baadhi ya hayo huchukua sekunde na baadhi huchukua siku.

Kwa hivyo Toden hurejesha mara tu uthibitishaji unapotengenezwa, ikiwa na hali yaprocessing, na huelezea sehemu yako ya nyuma jinsi inavyotatuliwa kupitia webhooks (hufunguka kwenye kichupo kipya) au kura ya maoni ya hali (hufunguka kwenye kichupo kipya) . Swali la muundo wa bidhaa yako ni nini cha kuonyesha, na nini cha kuruhusu, wakati wa pengo hilo.

Sehemu mbili, maswali mawili

Kila uthibitisho uliowasilishwa una sehemu mbili za hali, na unahitaji zote mbili.

statusndio matokeo. Ni sehemu unayoifanyia kazi, na hutumia thamani kumi katika mzunguko mzima wa maisha:not_started,in_progress,processing,in_review,awaiting_resubmission,approved,declined,abandoned,expirednaerror.

checkStatusndicho ukaguzi otomatiki uligundua:pending,verified,failed,not_foundauerrorSheria za maamuzi na wakaguzi huwa hawazibadilishi kamwe.

Hawakubaliani wakati wowote jambo lingine isipokuwa hundi lilipoamuliwa. Uthibitishaji unaweza kuwaapprovednacheckStatus: "failed"kwa sababu mkaguzi alikubali picha ya selfie iliyopigwa chini kidogo ya alama ya pasi kwenye mwanga hafifu. Hifadhi zote mbili. Siku ambayo mtu anauliza kwa nini mteja huyo aliruhusiwa kupita,checkStatusnareasonCodendio jibu lako.

Hali huamuliwa kwa mpangilio maalum: uamuzi wa mhakiki hushinda, kisha uamuzi wa mtiririko wa kazi yako, kisha ukaguzi pekee.

Kuchora hali ya kile mtumiaji anachokiona

Bidhaa nyingi zinahitaji hali chache tu zinazowakabili watumiaji. Ramani kutoka kwa thamani zilizoandikwa, kama mahali pa kuanzia:

status

Kile ambacho programu yako inaonyesha

Kile ambacho programu yako inaruhusu

processing

"Tunaangalia maelezo yako"

Kuvinjari, si kitendo cha lango

in_review

"Tunapitia maelezo yako; hii inaweza kuchukua muda mrefu zaidi"

Sawa na usindikaji

awaiting_resubmission

"Tunahitaji ufanye upya hatua moja" ukitumia kiungo

Uwasilishaji upya pekee

approved

Imethibitishwa

Kitendo kilichofungwa

declined

Hatua inayofuata, iliyoandikwa kutokareasonCode

Jaribu tena au wasiliana na usaidizi

error

"Kuna kitu kimeenda vibaya upande wetu, tafadhali jaribu tena"

Jaribu tena

abandoned,expired

"Anza tena"

Kiungo kipya au jaribio jipya

Sheria hiyo hiyo katika msimbo, kama kitendakazi kimoja ambacho skrini zako zinaweza kushiriki:

type UiState = "checking" | "action_needed" | "verified" | "not_verified" | "start_again";

function uiStateFor(status: string): UiState {
  switch (status) {
    case "approved": return "verified";
    case "declined": return "not_verified";
    case "awaiting_resubmission": return "action_needed";
    case "abandoned":
    case "expired":
    case "error": return "start_again";
    default: return "checking"; // processing, in_review and anything unrecognised
  }
}

Tawi chaguo-msingi ni la makusudi. Linashughulikianot_started,in_progress,processingnain_review, na ikiwa thamani ambayo huitambui itafikia, "bado unaangalia" ni jibu salama zaidi kuliko kupitisha.

Kuandika kushuka

Kwenyefailedaunot_foundmatokeo,reasonni sentensi iliyoandikwa kwa ajili ya mwombaji, bila alama au vizingiti ndani yake, na unaweza kuionyesha jinsi ilivyo.reasonCodeni ishara thabiti ya kuwekea matawi:document_expiredinaweza kusababisha "Pakia hati ya sasa",selfie_mismatchpendekezo la kupiga picha tena kwa mwangaza mzuri zaidi.errormatokeo yareasonimeelekezwa kwako, kwa mfano kuhusu salio lako la mkopo, kwa hivyo mwonyeshe mtu huyo ujumbe wa jumla na uelekeze sababu kwa timu yako.

Kuelezea "sekunde chache" kutoka "siku chache"

processinginashughulikia hati inayosomwa na uamuzi unaofanyika kwenye skrini ya orodha ya kutazama. Kipengele cha mwisho cha haliwaitingOnshamba linasema ni lipi:nullwakati ukaguzi bado unaendelea,"screening","key_people"kwa biashara inayowasubiri wakurugenzi na wamiliki wake, au"address_presence"kwa ukaguzi wa anwani unaoendelea kwa siku kadhaa ambapo umewezeshwa. Itumie kuweka matarajio ("hii kwa kawaida huisha kwa dakika moja" dhidi ya "tutakutumia barua pepe"), na uchukue thamani isiyojulikana kama kusubiri ambayo hujajifunza kuihusu bado.

Ni ishara gani ya kuamini, na lini

Ishara tatu zinakufikia, na hazina mamlaka sawa.

  1. Ishara ya mteja . SDK 'sonSubmit, au ukurasa uliopangishwasubmittedtukio, huzuka wakati mwombaji anapomaliza mtiririko. Itumie kuhamisha mtumiaji kwenye skrini inayosubiri mara moja. Usiitumie kutoa chochote.

  2. Vizuizi vya wavuti kwenye sehemu yako ya nyuma. Hizi ndizo rekodi. Sasisha hifadhidata yako kutoka kwao na ubonyeze mabadiliko kwenye skrini ya mtumiaji kutoka hapo.

  3. Mwisho wa hali. GET /api/kyc/status/:verificationIdHurejesha hali ya sasa ikiwa na ufunguo unaoweza kuchapishwa na haibebi data ya kibinafsi, alama au data ya matokeo. Itumie kujaza pengo, kwa mfano wakati programu inafunguliwa tena kabla ya sehemu yako ya nyuma kusukuma chochote.

Mtandao wa kwanza sio wa mwisho kila wakati

Ikiwa mtiririko wako wa kazi una sheria za uamuzi,verification.completedhutumwa ukaguzi unapokamilika, kabla ya mtiririko wa kazi kuamua.statushuakisi ukaguzi pekee. Uamuzi wa mtiririko wa kazi unafika baadaye kamaverification.status_updatednasource: "workflow", na hiyo ndiyo hali ya kuchukua hatua. Baadaye, mkaguzi anaweza kuamua au kubadilisha uamuzi wa awali, na kila mabadiliko hutokea kama mengine.verification.status_updated.

Usafirishaji hujaribu tena kwa kujitegemea na unaweza kufika nje ya utaratibu, kwa hivyo endeleachangedAtya mabadiliko unayoshikilia na kupuuza yoyote ya zamani. Bila sheria za uamuzi, ukaguzi ndio uamuzi, na hali iko kwenyeverification.completedinasimama isipokuwa mhakiki ataibadilisha baadaye.

Uwasilishaji upya huhifadhi kitambulisho sawa

Mhakiki anapotuma uthibitishaji, mwombaji hufanya tena hatua zilizoombwa pekee, na uwasilishaji wake upya unakamilisha uthibitishaji uleule. Unapokea tukio lingine la matokeo lenye uthibitishaji uleule.verificationId,attemptkuhesabiwa juu, nacheckStatuskurudipendinghuku ukaguzi ukiendelea tena. Sasisha rekodi uliyonayo. Kuunda safu mlalo mpya kwa kila tukio kutakuacha na wateja wawili ambapo kuna mmoja.

Kura ya maoni, ikiwa ni lazima

Webhooks zinapaswa kubeba uzalishaji. Kura ya maoni ni kwa ajili ya mapengo: skrini ya simu inayofunguliwa tena, au mazingira ambapo huwezi kupokea webhooks bado. Ukipiga kura:

  • Rudi nyuma, kuanzia sekunde chache na kupanua, na simama mara tu hali itakapokuwa imetulia.

  • Kumbuka kikomo cha msingi kilichoandikwa cha maombi 100 kwa kila dakika 15 kwa kila mteja, na usomeRateLimit-RemainingnaRateLimit-Resetvichwa vya habari badala ya kubahatisha.

  • Kura kutoka sehemu chache iwezekanavyo. Kura kumi na mbili hufungua skrini kila moja ikipiga kura, uthibitisho huo huo ni mara kumi zaidi ya idadi ya watu wanaopokea jibu moja.

Majaribio mengine yanapoingia

Pengo pia lipo upande wa uwasilishaji. Mtandao wa simu huacha kujibu simu ya uundaji, na programu haijui kama uthibitisho upo. Tuma kisanduku cha kuhifadhi datametadata.requestIdkwa kila uthibitisho wa kimantiki na uutumie tena wakati wowote unapojaribu tena. API hurejesha uthibitishaji uliopo badala ya kuunda wa pili, na kamwe haitozi malipo mara mbili.

Kutembea

Fikiria programu ya akiba ya kufikirika yenye mtiririko wa kazi unaochunguza kila mtumiaji aliyethibitishwa. Mwombaji hutuma maombi kupitia simu yake saa 03:00. Programu hupokea maombi hayo.onSubmitna inaonyesha "Tunaangalia maelezo yako". Sekunde chache baadaye sehemu ya nyuma inapokeaverification.completednacheckStatus: "verified". Nistatusinasomaapproved, kwa sababu tukio hilo linaonyesha ukaguzi pekee, kwa hivyo sehemu ya nyuma haitoi chochote bado: mtiririko wa kazi bado unasubiri kwenye skrini, na kura ya maoni ya hali inaonyeshaprocessingnawaitingOn: "screening"Skrini inarudisha ulinganifu unaowezekana, mtiririko wa kazi unaielekeza kukagua, naverification.status_updatedinafika nain_reviewProgramu inabadilisha ujumbe wake na kusema ukaguzi unaweza kuchukua muda mrefu zaidi. Saa 14:30 afisa wa kufuata sheria anafuta chanya ya uongo na kuidhinisha; sekundeverification.status_updatedinafika naapproved, na sehemu ya nyuma huwezesha kuweka pesa na kutuma arifa ya kusukuma.

Hakuna kitu katika mfuatano huo kilichohitaji kesi maalum. Ni rekodi moja, iliyo na kitambulisho kimoja, ikisasishwa na kila tukio kwa zamu.

Orodha ya kuangalia hali yako inayosubiriwa

  1. Unda rekodi ya ndani iliyofungwaverificationIdwakati huoonSubmitmoto.

  2. Isasishe pekee kutoka kwa sehemu yako ya nyuma, inayoendeshwa na webhooks.

  3. Chukua hatuastatusdukacheckStatus,reasonnareasonCodekando yake.

  4. Weka mambo mapya zaidichangedAtna kupuuza mabadiliko ya zamani.

  5. Tibu hali isiyojulikana nawaitingOnthamani kama "bado zinakaguliwa".

  6. Unapowasilisha upya, sasisha rekodi ile ile na uonyeshe jaribio.

  7. Neno linapungua kutokareasonCode, na kamwe usionyesheerrorsababu kwa mwombaji.

  8. Tumia tenarequestIdkwenye majaribio ya mara kwa mara, na kupiga kura ili kujaza mapengo pekee.

Vyanzo

Charles Archibong

Kuhusu mwandishi

Charles Archibong

Mwanzilishi mwenza

Charles Archibong ndiye mwanzilishi mwenza wa Toden. Anaandika kuhusu uthibitishaji wa utambulisho, teknolojia ya kifedha, na kazi ya vitendo ya kujenga huduma za kidijitali zinazoaminika.

Jenga bidhaa yako.Tutashughulikia yaliyobaki.

Utambulisho na uzingatiaji tangu mwanzo hadi mwisho, kwa viwango vya kimataifa na bei zinazowafaa waanzilishi.