Исправите постојећи бренд за размену порука
Ажурирајте постојећи бренд када се промене пословни контакт подаци или адреса. Задржите идентификатор бренда; креирање друге регистрације није начин да исправите податке о постојећем предузећу. Користите омогућен API налог преко HTTPS са дозвољене изворне IP адресе. Бренд мора припадати том налогу.
Почните читањем тренутног записа. Заштитите приватност локалне копије јер садржи податке о идентитету предузећа и контакт податке.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID" \
--output current-brand.jsonСачувајте тренутна поља бренда
Припремите brand-update.json на основу тренутног записа, бирајући само поља бренда у која је дозвољен упис. Приликом примене намераване исправке сачувајте идентитет предузећа и остале обавезне вредности. Немојте слати цео одговор на GET: brandId, резултати провере идентитета и статуса, временске ознаке и друга поља која се појављују само у одговору не припадају ажурирању.
Шема ажурирања захтева entityType, displayName, country, email и brandRelationship. Правила специфична за врсту субјекта и даље важе. За организацију сачувајте њен правни назив, порески идентификатор и земљу издавања, адресу и делатност, према применљивим захтевима. За предузетника уместо тога сачувајте одговарајућа поља са личним именом и контакт подацима за мобилни телефон. Користите стварне тренутне вредности, а не заменске вредности из примера регистрације.
| Поља | Како их користити |
|---|---|
| displayName, email, phone | Препознатљив назив бренда и важећи контакт подаци. Максималне дужине: 255, 100 и 20 знакова. Користите међународни формат телефонског броја са знаком + и позивним бројем земље. |
| street, city, state, postalCode, country | Стварна пословна адреса са међусобно усклађеним подацима. Ограничења: 255, 100, 20, 10 и 2 знака. Користите важеће ознаке савезних држава САД где је то применљиво. |
| entityType, companyName, ein, einIssuingCountry | Правни идентитет. Ове промене су ограничене када су кампање или спољне провере на чекању или активне. Немојте брисати функционалне кампање само да бисте заобишли ограничење у вези са идентитетом. |
| firstName, lastName, mobilePhone, businessContactEmail | Подаци о идентитету или контакти за верификацију када одговарају врсти субјекта. Ограничења: 100, 100, 20 и 255 знакова. |
| brandRelationship, vertical | Важеће шифре односа са брендом и делатности. Однос се може променити највише једном у три месеца. Уобичајени образац за измене на порталу не омогућава промену односа. |
| website, altBusinessIdType, altBusinessId, stockSymbol, stockExchange | Одговарајућа веб-локација, алтернативни подаци о идентитету предузећа и подаци о предузећу чијим се акцијама јавно тргује. Сачувајте вредности потребне за валидацију субјекта. |
| referenceId, ipAddress | Подржани метаподаци о пословној референци и изворној IP адреси. Ниједан од њих не одређује власништво налога нити служи као кључ идемпотентности захтева. |
Користите актуелне каталоге за размену порука за шифре. Шема ажурирања не нуди mock као начин промене окружења бренда. Користите засебан, прегледан поступак преласка из тестног у продукционо окружење уместо да мењате ту заставицу приликом измене.
Пошаљите прегледану исправку
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
--request PUT \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data-binary @brand-update.json \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID"Користите један кључ за ово намеравано ажурирање и сачувајте тачне бајтове тела захтева. Његова поновна употреба са промењеним методом, путањом, упитом или телом изазива конфликт; промена форматирања JSON такође мења отисак захтева. Дупликат захтева чија је обрада у току може вратити 409 са Retry-After. Завршен захтев може поново вратити свој сачувани резултат, укључујући грешку. Сачувајте детаље захтева када разјашњавате исход након истека времена чекања, уместо да аутоматски генеришете нов кључ.
Проверите сачувани запис и стање валидације
Успешно ажурирање враћа HTTP 200 и непосредно JSON објекат бренда, без старог v3 омотача status/response. Проверите његов brandId, затим поново преузмите исти бренд помоћу GET и упоредите поља која сте намеравали да измените. Јавна рута за ажурирање не прихвата порталов омотач changes/version нити пружа његову оптимистичку проверу истовремених измена. Координирајте рад уредника који истовремено уносе измене; кључ идемпотентности спречава дупло слање, али не и измене другог уредника.
Тренутни портал чита бренд, чува његова поља у која је дозвољен упис, проверава верзију обрасца пре чувања и поново чита резултат. Закључава основна поља правног идентитета када пронађе активне кампање. Регистар може наметнути додатна ограничења, укључујући ограничења у вези са спољним проверама, чак и када је поље било доступно у обрасцу.
Чување исправљених података не захтева аутоматски нову верификацију идентитета нити гарантује одобрење. Поновна верификација је засебна радња која може бити наплаћена; користите портал да прегледате тренутно стање и изричито потврдите сваки наведени износ наплате. Уобичајена ажурирања бренда методом PUT не покрећу засебно задужење за регистрацију у тренутном API сервису. Постојећи трошкови кампања, размене порука и други трошкови остају засебни.
Решите грешке без дуплирања регистрације
Прочитајте HTTP статус и детаље грешке у JSON формату. За 400 исправите конкретно поље или поштујте ограничење у вези са идентитетом или односом са брендом. За 401, 403 или 404 проверите акредитиве, дозвољену изворну IP адресу и власништво налога. За 429 поштујте Retry-After. Грешка 500 или 502 може настати након што регистар прихвати ажурирање; сачувајте сваки добијени requestId и прочитајте постојећи запис пре поновног слања.
Одговор на ажурирање који није празан, али је непотпун, може оставити непотпун локални снимак стања; празно тело успешног одговора може оставити старије вредности поља у снимку. Немојте закључивати да су поља сачувана само на основу статуса успеха. Поново прочитајте комплетан бренд и разрешите сва неслагања уз помоћ подршке. Ово упутство не гарантује атомска ажурирања регистра, локалног кеша и обрачуна наплате.