要约失效的四种情形是要约被拒绝、要约依法撤销、承诺人没有在有效期内作出承诺、受要约人对要约作出实质性变更。
根据《民法典》第四百七十八条规定,有下列情形之一的,要约失效:
(一)要约被拒绝;
(二)要约被依法撤销;
(三)承诺期限届满,受要约人未作出承诺;
(四)受要约人对要约的内容作出实质性变更。
第四百七十七条规定,撤销要约的意思表示以对话方式作出的,该意思表示的内容应当在受要约人作出承诺之前为受要约人所知道;撤销要约的意思表示以非对话方式作出的,应当在受要约人作出承诺之前到达受要约人。
《民法典》第四百七十八条
有下列情形之一的,要约失效:
(一)要约被拒绝;
(二)要约被依法撤销;
(三)承诺期限届满,受要约人未作出承诺;
(四)受要约人对要约的内容作出实质性变更。
第四百七十七条
撤销要约的意思表示以对话方式作出的,该意思表示的内容应当在受要约人作出承诺之前为受要约人所知道;撤销要约的意思表示以非对话方式作出的,应当在受要约人作出承诺之前到达受要约人。