06 · Development · Supplier collaboration
The supplier tapped submit in WeChat; the purchase order was not created
The mini-program engineer handles outside users in WeChat: login, subscribe messages, and review are not the same as the business being done. One-time links belong to H5. Offline queues belong to mobile.
Supplier: I tapped submit last night. Why does purchasing say they cannot see it?
Mini-program: After local validation passed, the page showed success. If the server did not return a document number, it is not a successful submit.
The mini-program engineer handles outside users in WeChat
Suppliers, store managers, and drivers may not have a back-office account. The mini-program engineer lets them finish the agreed action in WeChat, and accepts platform limits: login method, subscribe messages needing user grant, package size, review cycle. The job’s mark is not mistaking a platform capability for business complete. If the subscribe message did not pop, that is not document failure. If it popped, that is not the other side having processed it. Business complete looks only at the server document number and state.
Identity for outside users must be stricter than inside. Which supplier a WeChat ID may bind is confirmed by purchasing in the back office, not filled in by the user as a company name. Self-fill causes mixed documents. Phone change and people leaving must be unbindable. Before unbind, how unsubmitted drafts under that name are voided must be written. They cannot stay on the next person’s list. Voiding must have a record, or the supplier will say purchasing deleted the appointment. The mini-program engineer makes bind, unbind, and void a queryable ledger, not a direct rewrite of the relation in the database.
Weak network and the review window
Suppliers often submit delivery appointments on a phone outside the warehouse. The mini-program engineer must implement request ID and a clear success page: the success page must show a document number; the fail page must retry the same document. A green check with no document number is an incident. When a release is blocked by review, he must keep the old version’s key APIs usable, and not stop appointments for those review days. If an urgent fix cannot pass review, there must be an H5 or back-office fallback, and the fallback follows the same server rules.
The false success on the appointment
In the first week live, three suppliers claimed they had already appointed. The purchasing list was empty. Logs showed the request never arrived. After local validation passed, the page showed success and ate the network error. The mini-program engineer changed it: only a returned document number enters the success page; failure keeps the filled data; the list adds “pending confirm upload.” Purchasing can see the appointment only by document number. After that, flight-mode retest no longer produced a success with no document number.
The message only reminds purchasing there is a new document. It does not change state from draft to confirmed. Confirm is still purchasing’s action in the system. If subscribe-message grant is refused, the mini-program must still show appointment state in the list. Grant is not a precondition of business success. He writes “notification did not pop” and “no document number” as two completely different prompts, so the supplier does not think a missing notification means the document was not created and submit again. When a supplier changes phone number, drafts under the old number keep the document number for purchasing to look up, but cannot continue to submit. Continued submit would let a person who already left still affect the appointment queue.
When review is refused, the mini-program engineer looks at which business sentence triggered the platform rule, and does not first change the appointment flow. Copy can be adjusted. “Submit must return a document number” cannot be removed to pass review. A reviewed version with no document number is worse than a failed review.
During the review window, the old version’s appointment API must stay usable. If an urgent fix cannot pass review, the H5 or back-office fallback follows the same server rules. Before unbind, voiding unsubmitted drafts must have a record. They cannot stay on the next person’s list, and the bind cannot be rewritten directly in the database. The void ledger must be queryable, or the supplier will say purchasing deleted the appointment. One-time links still belong to H5. Offline queues still belong to mobile. This role only handles outside users in WeChat, and the fact that platform capability is not business complete.